Jump to content
  • Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Day 4

Sign in to follow this  


After much wrangling with the useful-but-crashhappy KDevelop, I hacked in the latest stuff into my tactical shooter. It now has 5 characters on the map, each of which will follow its own path simultaneously.

As always, I prototype things in the quickest way possible to get them working and then migrate all the globals into locals or members, etc. Regarding large designs and object models, I work on the principle of You Aren't Gonna Need It, which is a deliberately exaggerated way of saying you shouldn't design elaborate objects that are theoretically suitable for any purpose and reusable, when you may not end up using a lot of that functionality. Right now my Character class just looks like this:

class Character

int x, y; // position
Path currentPath;
int currentPathNode; // index into currentPath

It's not elegant, and it is certainly going to grow as development continues. But there's little point me enumerating all the future methods now, because they will still change after that point. Similarly, the second public block will eventually become private, but I am waiting to see what sort of access patterns the code requires before I decide on an accessor interface that will allow me to make the members private.

My next day of coding may feature a change from tile-based movement to pixel-based movement. Characters already use the finer-grained coordinates so in theory this should just be a case of adding in an interpolation layer to move a couple of pixels at a time and a detection routine to see if the character is in the middle of the destination tile yet (with a little margin of error).
Sign in to follow this  


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!