Java-Gaming.org    
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 (535)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
   Home   Help   Search   Login   Register   
  Show Posts
Pages: [1] 2 3 ... 87
1  Game Development / Game Mechanics / Re: Assistance with Simple Euler Physics Integration on: 2014-07-29 07:38:55
Use fixed time steps for the simulation.
2  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-28 16:05:39
It would be much more interesting to have a discussion about various code design structures for these types of issues and the various trade offs.  I've never run across a situation where moving past mimicing an open-class was needed.  I'd actually avoid talking about data-oriented as it's independent and starts to bog things.  Actually data-oriented is way more important (assuming sufficient scale).
3  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-28 15:00:24
I keep forgetting.  The argument "OO isn't good enough so I use component based" is flawed.  Component based is OO.
4  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-27 16:36:54
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.

Quote
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.

Quote
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).
<snip>
...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).

Quote
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.

Quote
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.

Quote
<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.

Quote
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.  

Quote
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.

Quote
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.

Quote
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.


5  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-25 19:07:57
..and I really like the idea of Entity Systems...
I really like the idea of a language which I spend zero time working around it's deficiencies.
6  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-25 09:49:04
The whole component based thing is really rooted in modern "best practices/design pattern-y" think...aka every thing you write is a nice reusable generic mini-library.  That's the only situation where it makes sense. You create a solution which you then apply to your problem.  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.  Slight change the wording of that and everything changes.  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.

This one again:


Don't write middleware if that isn't your product.

7  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-25 07:51:10
Component based and Data oriented are independent.  Data oriented is pretty much required for high performance for anything over modest data sets.
8  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-24 21:23:08
Proebsting's Law: Compiler Advances Double Computing Power Every 18 Years.

Don't write a system to guess what you know.
9  Discussions / Miscellaneous Topics / Re: A rant on OpenGL's future on: 2014-07-24 21:17:40
All of this profile stuff is duct tape and super glue.
10  Discussions / Miscellaneous Topics / Re: A rant on OpenGL's future on: 2014-07-24 11:33:50
But I can still run old DX apps with no problem.  Nobody's claiming backward compat should be ignored...it simply shouldn't burden developers.
11  Discussions / Miscellaneous Topics / Re: What I did today on: 2014-07-24 11:22:23
I've been waiting for a viable C++ replacement for longer than some kids here have been on the planet...maybe someday I'll get my wish.
12  Game Development / Performance Tuning / Re: Can someone explain what is going on with this square rooting? on: 2014-07-24 09:59:55
Hotspot emits 'sqrtss' if you properly write your code.  Doing anything else will be slower.
13  Discussions / Miscellaneous Topics / Re: What I did today on: 2014-07-24 09:41:05
DISCLAIMER: This is Rust, not Java.
I keep attempting to motive myself to look at rust.
14  Discussions / General Discussions / Re: Component Systems: Artemis style systems vs. traditional fat entities on: 2014-07-24 09:36:27
To repeat myself: Problem dictates data.  Data dictates code.  If you do the reverse you're writing business software targeting mid-to-large companies with a faster turn-over of engineers vs. product life-cycle.  What you're not doing is "thinking low level, writing high level" which is needed for system programming.
 
15  Discussions / General Discussions / Re: The Wrath of Ackermann on: 2014-07-08 09:10:55
The thing about proofs is: there are no counter examples unless they're flawed.
16  Discussions / General Discussions / Re: The Wrath of Ackermann on: 2014-07-07 21:49:03
Oh yeah, since it came up: https://plus.google.com/117663015413546257905/posts/KJTgfjkTZCQ
17  Discussions / General Discussions / Re: The Wrath of Ackermann on: 2014-07-07 21:45:34
ack(g64, g64);
That would be an insanely big number.  But all of this is beside the point.  There are things which can't be computed or even manipulated symbolically in finite time and/or space.
18  Discussions / General Discussions / Re: The Wrath of Ackermann on: 2014-07-07 21:04:14
No you can't.  That's the point.
19  Game Development / Game Mechanics / Re: Any multithreading people out there? Multithreaded loading of a huge array. on: 2014-07-07 20:47:33
Compression is your friend.
20  Discussions / General Discussions / Re: The Wrath of Ackermann on: 2014-07-07 10:31:20
Wait.  Past A(4,2)?  A(4,2) requires 2^16 bits (assuming unsigned).
21  Discussions / General Discussions / Re: The Wrath of Ackermann on: 2014-07-07 10:14:29
Well uncomputable functions and undecidable/unsolvable problems are called that for a good reason.  Busy beaver is a fun example.   
22  Game Development / Newbie & Debugging Questions / Re: Ordering draw calls for alpha blending on: 2014-07-06 23:47:29
Other random thoughts are the volumetric stuff: fourier opacity mapping, extinction transmittance maps, half-angle slicing. 
23  Game Development / Newbie & Debugging Questions / Re: Ordering draw calls for alpha blending on: 2014-07-06 23:32:16
stochastic is pretty far out.  yeah: the high view is many samples of some fencing/dither pattern per pixel (a la old software rendering trick).
24  Game Development / Newbie & Debugging Questions / Re: Ordering draw calls for alpha blending on: 2014-07-06 21:10:26
@basil_:
 Skip on the a-buffer: https://software.intel.com/sites/default/files/i3d14_mlab_preprint.pdf

further out: http://www.nvidia.com/docs/IO/88888/StochTransp-slides.pdf

Possible today on low-end: http://casual-effects.blogspot.fr/2014/03/weighted-blended-order-independent.html
25  Game Development / Newbie & Debugging Questions / Re: Ordering draw calls for alpha blending on: 2014-07-06 16:28:29
It'd be interesting to think about a hybrid of the weighted OIT with fixed number of layers and no sorting per say.
26  Game Development / Shared Code / Re: Trie-based dictionary on: 2014-07-05 19:46:09
Brute force isn't the answer.  I don't know the problem space but a ternary search trie (which can be flattened) will be exponentially faster.  You have a set of letters and a known set of reg-exps which can be optimized.  A single traversal can produce all possible results in very little time.
27  Game Development / Shared Code / Re: Trie-based dictionary on: 2014-07-05 13:29:48
Yeah an AI for a scrabble like game isn't straight forward.
28  Game Development / Shared Code / Re: Trie-based dictionary on: 2014-07-05 12:49:00
Indeed you did but it was lost in the noise.  In this case it doesn't matter but if you were writing a game that required this functionality then matching is the hard problem and the one to address and not the true/false question.
29  Game Development / Shared Code / Re: Trie-based dictionary on: 2014-07-05 08:24:16
Sigh.  That's why I asked about AI.  True or false for a word is a different problem then a specialized reg-exp search.
30  Game Development / Newbie & Debugging Questions / Re: How to delay somthing without stopping the gameloop? on: 2014-07-04 13:09:35
Priority Queue = good answer.
Pages: [1] 2 3 ... 87
 

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

The first screenshot will be displayed as a thumbnail.

E.R. Fleming (20 views)
2014-07-29 03:07:13

E.R. Fleming (7 views)
2014-07-29 03:06:25

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

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

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

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

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

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

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

MustardPeter (45 views)
2014-07-16 23:30:00
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
java-gaming.org 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‑gaming.org
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!