Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (406)
games submitted by our members
Games in WIP (292)
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  
  Game Engine Object logic/design  (Read 392 times)
0 Members and 1 Guest are viewing this topic.
Offline Troncoso

Junior Member


Medals: 1



« Posted 2013-02-23 21:56:01 »

This isn't really about game design, but more of engine design. I feel this is still the best place for it.

My issue is the organization of the object class with my engine. The basic premise is something like this:

Entity --> ShapeEntity --> Object
         |-> ImageEntity -|

So, Entity holds a bunch of base attributes of any object. Namely, things like position, velocity, facing angle, etc.

The ShapeEntity and ImageEntity extend this to include functionality specific to each (ie, handling movement/transformations of shapes and images).

The idea is the Object (my own Object class, not Java's Object) will be able to use either the exact same way, while abstracting the underlying Class specific orientation. So, even though the code is different for rotating an Image versus rotating a Shape, Object can simply call rotate() and it work regardless of which Entity subclass it is using.

My approach so far have been an abstract Entity class, the ImageEntity and ShapeEntity subclasses, and the Object class which has an Entity field. This allows for Object to hold either Entity subclasses. But, I'm having trouble actually using this method without having to constantly cast the Entity field to one of the subclasses. That's just messy and over complicates things.

Am I even on the right track with this? Does anyone have any advice or suggestions? Bear in mind this engine is strictly 2D. Thanks in advance.
Pages: [1]
  ignore  |  Print  
 
 

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Try the Free Demo of Revenge of the Titans

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

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
cubemaster21 (66 views)
2013-05-17 21:29:12

alaslipknot (75 views)
2013-05-16 21:24:48

gouessej (106 views)
2013-05-16 00:53:38

gouessej (103 views)
2013-05-16 00:17:58

theagentd (114 views)
2013-05-15 15:01:13

theagentd (103 views)
2013-05-15 15:00:54

StreetDoggy (148 views)
2013-05-14 15:56:26

kutucuk (171 views)
2013-05-12 17:10:36

kutucuk (169 views)
2013-05-12 15:36:09

UnluckyDevil (178 views)
2013-05-12 05:09:57
Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38

Java Data structures
by Roquen
2013-03-29 13:21:12

Topic Request
by kutucuk
2013-03-22 21:42:01
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!
Page created in 0.075 seconds with 20 queries.