• Advertisement
Sign in to follow this  

Code Design Suggestion

This topic is 2170 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm working on the very start (design doc) of a game coded in java. It is a management-type game where the player controls characters (think The Sims). Each character will have stats relating to all sorts of things. I have never looked at the code for a game like this, so I don't know what the typical way of coding this is. Right now I have a Character Object which all characters will be based on, and Character members have members of that Stat object (Stat dagger, Stat sword) etc. etc. Is this how they is typically done? The Stat object will have members such as int level, int xp, int[] stat_modifiers, etc. I'm thinking they will also have Stat strength, Stat speed, etc. As the player has the character perform certain actions xp will be gained and every so often xp will reach a certain level and the character goes up a level in each Stat.

So my summarized question: Do characters usually have a series of Stat objects which keep track of level, xp, and modifiers or is there another way this information is stored?

Share this post


Link to post
Share on other sites
Advertisement
I would use Component Based Game Entity system, where you have an entity class object, which has different components (health, ammo, level, etc etc). and each component will have an [b]update [/b]function where they will send events like "levelUp" to different components and the components will react to them using observer/listener pattern. Start with that. The system I built started like that but as time passed and I started adding new features to my engine, through experience, you will make it better and better over time. Like adding subsystems, attributes, behaviors etc. But start simple and then see what features you need.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement