Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (106)
games submitted by our members
Games in WIP (533)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  My Developer Journal at long last  (Read 3566 times)
0 Members and 1 Guest are viewing this topic.
Offline shawnkendall

Senior Member





« Posted 2006-06-09 18:10:26 »

HI all, I just wanted to let anyone who might care that I have started a developer journal on my engine dev for our upcoming game release.  I get questions from time to time on what/when things are happening over here and I think this will be the best way I can put the word out.  Check it out if your interested, thanks for your time.

http://cosmic-game-engine.blogspot.com/

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline darkprophet

Senior Member




Go Go Gadget Arms


« Reply #1 - Posted 2006-06-11 00:53:30 »

I do have to say, that that blog is probably the most constructive one ive read in a while. Kudos Smiley

Would you mind explaining component based game engines abit more? Ive read a few of the links you supplied and I honestly can't see much use with it when it comes to a modern language like Java...

DP

Friends don't let friends make MMORPGs.

Blog | Volatile-Engine
Offline shawnkendall

Senior Member





« Reply #2 - Posted 2006-06-11 04:50:45 »

Why thank you, thanks for reading and responding....and to your question...

Ahh, the component (composite) vs. inheritance (hierarchical) "argument".

Well briefly I will say that it really isn't a language issue, it's a design issue, but it's not so easy to see that until you are deep in the probelm space.  The sentence above is the best search terms for finding more info on that in a general sense, i.e. not related to game engines but programming in general.

Since you have an interest I wll make a more thorough post in my blog about this ASAP, but in the meantime I can say that as far as I'm concerned this is a major differentiater  between "old school" game engine objects and a really up-to-date and versatile game engine object system, almost to the point to saying that the old way (compile-time inheritance) is hacky in today's game space.

Also, this was a HARD learned lesson with our engine, and as many of the industry people promoting this style have said, it really takes that lesson to appreciate the change.

(After re-reading this, I can see my response is rather nebulous, I apologize for that, as I wrote above I'll have to get into details in the blog.)

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline darkprophet

Senior Member




Go Go Gadget Arms


« Reply #3 - Posted 2006-06-11 11:44:20 »

The one that particularly got my attention was ww.gamearchitect.net one with the 3 series on scenegraph objects and such. It seems to me that most, if not all, of his concerns stem from bad design. For example "The Diamond of Death.  What do you do if trigger objects are derived from game objects, and dynamic objects are derived from game objects, but you want a dynamic trigger object?"

Why would a trigger be in the same group as a mesh or a skinned character? Technically, they are both "game object"(s); your just costing yourself unnecessary overhead...

In the second GameObjects blog/article, he says "Using a directed acyclic graph instead of a tree, you can share objects and animation state across multiple locations in your world" which only begs the question, what is the difference between a directed acyclic graph and a tree? Conventional trees *are* directed acyclic graphs from what I have understood.

"You'll have the same problem animating control points for higher-order primitives.  Height fields, lights, volume fog and shadows are similarly likely to end up being awkward special cases.". Those seem to fit quite elegantly in the scheme of things from what ive read and seen...

Apologies if it seems like ive put his blog/article under a microscope, but Im in the middle of making my own game engine and I thought i had the scenegraph element well and truly finished Smiley

PS. the reason I got Java involved in this because he mentions multiple inheritence in a few places

Friends don't let friends make MMORPGs.

Blog | Volatile-Engine
Offline shawnkendall

Senior Member





« Reply #4 - Posted 2006-06-11 16:40:08 »

Alright, good stuff.

I posted your question and my answer over on my blog. :-)

Since this is a public forum I didn't think you would mind, however I did not put your handle/name to the question, but I will if you like just let me know.

I move stuff to the blog because it will keep the best stuff together for other people (and my students) to read in one place.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline darkprophet

Senior Member




Go Go Gadget Arms


« Reply #5 - Posted 2006-06-11 19:30:37 »

Thats one nice answer Smiley

I think I have blurred the distinction between a game object and a mesh. Although the two seem connected, a mesh is a small subset of a game object, a game object will have sound, physics and what have you. Am I right in thinking that?

If so, a data driven, component based system definetly makes sense. However, it does beg the question, why did all the previous engines use inheritence based schemes? It seems a component based one is easier to code, easier to maintain and more powerfull overall...


Friends don't let friends make MMORPGs.

Blog | Volatile-Engine
Offline nonnus29

Senior Member




Giving Java a second chance after ludumdare fiasco


« Reply #6 - Posted 2006-06-11 20:37:34 »

Quote
If so, a data driven, component based system definetly makes sense. However, it does beg the question, why did all the previous engines use inheritence based schemes?

I know if I searched this forum thoroughly enough I'd find a quote I made advocating a component system for game objects at least two years ago, I had no idea I was so prescient... God I rock.

 Cheesy

 Tongue
Offline kevglass

JGO Kernel


Medals: 120
Projects: 23
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #7 - Posted 2006-06-11 21:02:37 »

Inheritence vs Aggregation debate has been around for quite a while, maybe its just become more popular in games right now.

Kev

Offline princec

JGO Kernel


Medals: 342
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #8 - Posted 2006-06-11 22:14:35 »

Yeah, the state of the art always seems to be about 10 years behind in games for some reason.

Cas Smiley

Offline shawnkendall

Senior Member





« Reply #9 - Posted 2006-06-11 23:00:20 »

Yeah, the state of the art always seems to be about 10 years behind in games for some reason.

Cas Smiley

The main reason for that is because games operate in a very constrained environment (whether in reality or by design) and it takes time to evolve those 10 year ahead of games concepts to games' demands.  Also, game design tends to be conservative, somewhat of a "if it ain't broke don't fix it" mentality.

In the case of composite vs. inheritance the debate rages on the software world still and even outside of gaming many developers still focus heavily on an inheritance based architecture.  Shoot, most of the standard Java APIs are still like that.  So you can say that gaming is behind, but then so is most of software development...

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #10 - Posted 2006-06-12 00:40:43 »

Interesting stuff, but it's made painful to read because of your awkward layout. On my screen it looks something like:

<-------------------------------whitespace-------------------------------><text><links><-----------------------------whitespace---------------------------->

Fixed width websites are soooo 1990's. Wink

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline shawnkendall

Senior Member





« Reply #11 - Posted 2006-06-12 02:20:48 »

Interesting stuff, but it's made painful to read because of your awkward layout. On my screen it looks something like:

<-------------------------------whitespace-------------------------------><text><links><-----------------------------whitespace---------------------------->

Fixed width websites are soooo 1990's. Wink

Hmmm, that was just the default Blogger site layout but it's all tweakable.   I did edit the default side links, anyone else use Blogger and know what to tweak that in the source template?

[mod] don't open it fullscreen :-)

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline aldacron

Senior Member


Medals: 9
Exp: 16 years


Java games rock!


« Reply #12 - Posted 2006-06-12 02:59:17 »

Distinguishing his question from your answer would be much clearer if you put the quoted text in a blockquote. That's common blogging convention. Had I not read the post here first I would have been a bit discombobulated, even with your bold headers. As for editing the Blogger template, from the Dashboard click on the "Change Settings" icon. From there, select the template tab. You'll be presented with the template in a text box.
Offline zero

Junior Member





« Reply #13 - Posted 2006-06-12 03:38:52 »

nice blog,  I have to look for the march issue of the gd-mag tomorrow, guess I've overseen the mentioned article Smiley

A bit offtopic, but are there any particular reasons why you don't have backlinks (blooger type of trackbacks) enabled?
Offline shawnkendall

Senior Member





« Reply #14 - Posted 2006-06-12 13:41:10 »

I did have backlinks enabled for new posts( that's the only option), but they defaulted to hide, so I switched it to show now, but I don't see any difference.
Also, I just "blockquote"d (right from the textarea editer) the question section but all it did was indent the section as you can see, Maybe I'll mark it off in some other way.

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Offline zero

Junior Member





« Reply #15 - Posted 2006-06-12 16:17:25 »

I did have backlinks enabled for new posts( that's the only option), but they defaulted to hide, so I switched it to show now, but I don't see any difference.

I guess you have to re-publish your blog - blogger is really nice, but one has to get used to it  Roll Eyes
Offline Jeff

JGO Coder




Got any cats?


« Reply #16 - Posted 2006-06-27 02:11:09 »

One of the thinsg that confuses this is that there have been systems where their "inheritance" really weas closer to what you call componentization.

ColdC was a great example (an old MUD development language).  Even small talk, arguably the original OOPL, had component-ish elements to it.

I actually designed a scripting lanugage to live on top of Java that soem day Im going to implement called Kelvin (because of its ColdC roots) that used a "slotting" system where an object itself is an empty shell with no methods or fields.  Methods or feilds get added by "slotting" in these thinsg called "Qualities" at run time.  Each Quality is implemented as a Java class and there is a run-time call mechnism that handles inheritance between qualities.  (I got an early bersion of all this workign in POC and suprrisingly performance wasnt too awful.)

The reason we've seen implementations of "inheritance" move away from more component like behavior though is that performance issue.  Compile time inheritance can be optimized.  Optimizing the links in a run-time dynamic inheritacne schemes is somewhere between difficult and impossible.

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline shawnkendall

Senior Member





« Reply #17 - Posted 2006-06-29 17:52:02 »

Sorry I missed this post!  I wasn't watching this thread anymore.

There is a experimental language that....wait for it... SUN is working on called "Fortress" that sounds similiar to the features you just described, although it is being designed as a Fortran replacement! I read part of the spec a couple weeks, back very ineresting.

Feature list
http://lambda-the-ultimate.org/node/673

Google link
http://www.google.com/search?hs=ewI&hl=en&lr=&client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&q=sun+research+fortress++language+&btnG=Search

BTW, Ive updated my journal Smiley

Shawn Kendall
Cosmic Interactive, LLC
http://www.facebook.com/BermudaDash
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

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 (25 views)
2014-07-24 01:59:36

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

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

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

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

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

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

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

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

Riven (55 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
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!