Finally decided to use ortho

Published January 17, 2009
Advertisement
I'm using a camera scheme that, by default, centers on the player's character and aligns to the Z-axis. The player can "look around" by translating the camera around the X/Y plane, but keeps it's orientation. I gave the camera a little rotation in the direction of the cursor as well. I mentioned in a previous entry that I like the rotation, but it looks kinda funny when everything in the world is on the X/Y plane. Background sprites need to have z-depth for scrolling, but also if the camera rotates because, for instance, the back of a room needs to be occluded by the containing walls in the foreground. If its on the same plane, that doesn't happen. But, puting the back wall of a room at a different depth introduces the issue of being able to see the space between the foreground and background sprites. This problem is noticable if the player jumps off the ground and looks down, seeing no ground around him, and making it obvious that he's running on a paper-thin plane. The only real solution is to use 3d scenery. I got ambitious one day and dug up my old (simple) custom model code. I quickly made an Entity subclass that renders the model, and fixed up the exporter. Within an hour or two, I had static 3d models in the level. 3d environments are great, but I'd like to finish this within the year (hopefully not at the end).

My options for the graphics are:

- fully 3d: I don't want to deal with writing another animation format just yet.
- 3d scene with a sprite plane: This might be overkill for gameplay that won't take advantage of the graphics.

- parallel mode (rotated ortho, like iso): looks neat, but more suitable for a game like Syndicate Wars.

- ortho mode: this would mean a lot less work, and still has all the gameplay possibilities.


It looks like I'm going to use an ortho mode, and its going to be so much more fun to use because its much less demanding. It took me a long time to arrive at what is probably the most obvious choice for a solo project. I'm glad I took the time to experiment and find out why certain things won't work, like trying to mix 3d with a sprite-based game.

While working on the GUI classes, I realized how inflexible a custom binary format is to extend and still load previously saved files. So I gave in and decided to use XML for the GUI once again. I figure I'll use XML while I'm writing the GUI classes, and if I want to use binary for performance reasons, I'll go through the hassle when the format is not going to change.
Previous Entry GUI, heap corruption
Next Entry Entity Editor
0 likes 3 comments

Comments

a_insomniac
Nice update. This is turning our really nice. Keep it up.

I'd love to see a recorded demo :)
January 17, 2009 08:02 AM
HopeDagger
You made the right choice. If it makes your life easier and loosens the knots in your neck and shoulders, then you're doing it right. [grin]
January 17, 2009 02:57 PM
Slather
I'd love to make a video, but I won't have the program I want (Camtasia Studio) for a while and I'm not a big fan of the free alternatives. I'll release another demo when I have some actual content, which will be after the Entity Editor is in working order. Thank you both.
January 18, 2009 11:51 PM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement