Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (534)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: 1 ... 5 6 [7] 8 9 10
 on: 2014-07-27 16:36:54 
Started by Orangy Tang - Last post by Roquen
I'm ignoring the you're working on middleware for the moment.

"data oriented".. what I meant was a metrics based approach. IE actually measuring the efficiency of various designs.
I'd say data oriented is a cache oblivious (or conscientious) approach to data layout based on how data is transformed (access patterns).  It also pretty much independent of other design choices..likewise for data driven.

Splitting data from logic at any level of an architecture allows one to focus on how to access it and better organize it for processing.
Sure, nothing to do with component based.

It allows one to query a component manager (CM) / container and get back an iterator over all components stored by their meta-type (all data, all systems).
...and store it in a tightly packed array or perhaps byte buffer or whatever data structure that is the low level DOD form.
Performing a query for something you know. (again ignoring middleware).

The whole component based thing is really rooted in modern "best practices/design pattern-y" think...

Is that a bad thing? For JGO it seems like a poison pill for more than a few.
Yes it's a insanely bad thing.  I'm not sure what you're referring to as a poison pill however.

aka every thing you write is a nice reusable generic mini-library. That's the only situation where it makes sense.
Isn't that the promise, traditional OOP in the 90's included, that is sold to management regarding adopting new principles and technology.

The big difference is that the traditional OOP direction didn't deliver on this promise. Implicit CA + EventBus does.
Yeah and the goal of that promise it to service the bulk of programming jobs which is for project with much longer lifetimes than engineer turnover rate.  It the most expensive method in terms of both engineering and CPU time but the reduction in risk makes it worthwhile from a business standpoint.  But this isn't something to focus on in education or literature because it's roughly the equivant to coding conventions.  Anybody that can program can pick it up in approaching zero time.

<snip> This way you can pass structures implicitly between modules without leaking a ton of concrete types and poisoning the larger codebase through unchecked dependencies.
Ok and there are tons of ways to achieve this.

Flip it around into type-think.  When in a specific game do you need a type which can contain an arbitrary number of arbitrary types?  Answer: never.
! When an artist is in control and not a coder.
The game design is in control.  Coders, artist and worldbuilder should be in control of their tasks.  I don't disagree with any of your bullet points.  

For example I frequently have an entity type which can logically contain an arbitrary number of (by name) variables where are logically typeless but are concretely one of a very small number of types (like entity, int, float, string).  Data segregation (for data oriented) might be handled by monomorphic access to hide implementation details at the scripting level.
Type safety is handy for many reasons.
In general purpose programming, yes, you want to insure correctness as quickly was possible.  However the user here is the scripting side which personally I want to be as fault tolerant as possible.  One could go with typed, but I don't since typeless is slightly lower complexity IMO.

I'm curious about the last sentence though regarding data segregation and "monomorphic access" in regard to a scripting interface because the latter is not clearly defined. "Monomorphic access" brings up connotations of immutability or marking classes or accessor methods final. Could you explain this more?
Any instance method which doesn't override anything and is final is monomorphic at all callsites (places in code where it's invoked).  The runtime compiler can then treat it as a static method and all optimizations possible for statics are opened up (notable inlining).  If not inlined then it's a direct call.  HotSpot can optimistically determine if any instance method call is monomorphic.  If proved wrong later it will deoptimize.  For completeness it also detects bimorphic (exactly 2 versions) and in that case can covert the invocation to an 'if-then-else' construct.  Three or more will go through the virtual table.

Don't write middleware if that isn't your product.
Phew, glad this is what I'm doing and is an approved machination.  Wink
Of course the rules are different for middleware.  I don't talk about that because I prefer the not encourage middleware/library creation.

 on: 2014-07-27 16:13:20 
Started by mcerdeira - Last post by mcerdeira
I'm posting this to announce our new game called "Endure". It's a game about dodging abstract things, where your player is your own finger.

You can check it out here:

<a href=";hl=en_US&amp;start=" target="_blank">;hl=en_US&amp;start=</a>

Hope you enjoy it. Any feedback would be great!


More games from us:

 on: 2014-07-27 15:42:24 
Started by goblinJoel - Last post by goblinJoel
Thanks. It hands me events separately for horizontal and vertical movement, and I can compute the angle from those.

The events, as far as I can tell, only trigger when a stick position changes. The right stick gets labeled by LWGLJ as "X Rotation" and "Y Rotation", depending on which direction you push it. If you push it straight to the right, for example, it triggers an X Rotation event with a value of 1.0. All the way to the left is -1.0. If you were to push it, say, to the right and a little bit down, it would give a pair of events, something like X Rotation 1.0 and Y Rotation 0.4253412. And, if you let go of the stick, it fires an event for each axis with values of 0.0. So, on this controller at least, 0.0 is centered. You can set a dead zone where it's not supposed to notice little changes, if I understand correctly.

The weird thing is that, for any other stick movements, it only fires the event once each time you move. It doesn't keep creating events if you hold it still. Yet, the "X Rotation" axis (left-right on the right stick) keeps firing a 0.0 event. It looks as if the computer thinks that the stick keeps getting moved to the center from somewhere else, over and over again, instead of just staying there.

 on: 2014-07-27 15:37:45 
Started by GNecro1 - Last post by Rayvolution
That's a bit of a tall order. I mean, obviously you want this for a game sprite (since you want all 4 angles). What are you going to do when you have to make everything else?

I suggest taking the time and learning to do it yourself. Due to the basic shape/design of the character, it shouldn't be that hard to do (just time consuming). Wink

 on: 2014-07-27 15:36:21 
Started by Andre Lopes - Last post by Mac70
You can just use different project group for every project which is composed from many smaller projects - in this way everything is much cleaner. Smiley

 on: 2014-07-27 15:23:05 
Started by GNecro1 - Last post by PandaMoniumHUN
Why would you need a library for that?
You can implement shaders in less than 50 lines of code.
The process for a shader: Generate an id for the shader, attach source, compile, check if successfully compiled(, if not log the shader's infolog).
For a shader program: Generate an id, attach shaders, link, check if successfully linked(, if not print the program's infolog), detach and delete shaders, optionally validate the program.

It might seem scary at first written out like that but it is actually pretty simple. Smiley
Sorry for not providong code examples but I'm currently on mobile.

Edit: Oh, you mean pure Java as Java2D? In that case you can't use shaders since those are part of OpenGL.

 on: 2014-07-27 15:09:52 
Started by GNecro1 - Last post by GNecro1
Is there any lib that provides you with using shaders? What i meant is that I am making a game in java, pure java no libs but i want shaders in my game. So is it posible that you just add it to my game and render it?

 on: 2014-07-27 15:05:53 
Started by tommohawkaction - Last post by tommohawkaction
DONE IT  Grin Grin Grin Grin

 on: 2014-07-27 15:01:18 
Started by VIrtueeL - Last post by VIrtueeL
check devlog 19 when its out and try player movement now and tell me what you think

 on: 2014-07-27 14:56:31 
Started by tommohawkaction - Last post by tommohawkaction
Hello again im not completely sure how you make the camera directly on the player i looked at your source code but the   public static void centerOnCharacter(Person subject, double offsetX, double offsetY) didn't make much sense to me

Pages: 1 ... 5 6 [7] 8 9 10

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

pw (35 views)
2014-07-24 01:59:36

Riven (33 views)
2014-07-23 21:16:32

Riven (21 views)
2014-07-23 21:07:15

Riven (24 views)
2014-07-23 20:56:16

ctomni231 (55 views)
2014-07-18 06:55:21

Zero Volt (47 views)
2014-07-17 23:47:54

danieldean (38 views)
2014-07-17 23:41:23

MustardPeter (43 views)
2014-07-16 23:30:00

Cero (59 views)
2014-07-16 00:42:17

Riven (56 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!