Archive for February 2010

Isotower Transportation and Pathfinding

Now that I have the basic engine coded, the next step is adding elevators, stairs, and pathfinding. Once complete, the game should be close to the game play of Sim Tower, and ready for a more wide spread release, as it were.
Figuring out how transportation was going to work has been a major hurdle, since it had to feel ‘right’ in relation to Sim Tower, but had to work on what is effectively a 3d cube instead of a simple 2d plane. I’ve decided to keep things fairly simple, and just require the player to maintain some empty floor on a path to an elevator, similar to how roads work in the Sim City games. As long as a room is connected to an elevator or set of stairs via empty floor, then movement from the room to the stairs or line waiting for the elevator will be instant. If that ends up being too unrealistic, then I might have a delay based on distance, or similar. Elevators will generally work the same as they did in Sim Tower, though hopefully I can make them work a bit smoother, and make the interface for controlling them fairly easy to use. The elevator control window was too complex, and you had to change the settings for each elevator one at a time, resulting in too much wasted effort to achieve a slight increase in efficiency.
One final thing: I intend to allow something other than the lobby to be built on the ground floor. However, the lobby must exist and must be connected to the outside edges of the map. This way, it gives players more flexibility to build a tower with variety, or just build a single floor motel if they want to.

IsoTower Engine Demo

The core engine for IsoTower is done.  There is, of course, a lot left to be done before the game is even at the level of Sim Tower, but a majority of the framework is in place now, and hopefully development will move quicker.  You can download the engine demo here.  There’s not much to it at this point, and the graphics are still terrible, but hopefully that will be fixed in a few weeks/months.  Important controls are the ALT key to build empty flooring anywhere (even floating in space), and CTRL to move time forward much faster.  Mouse wheel or +/- keys will change the floor you’re on, arrow keys move the camera around.  There’s a readme with a few other controls, as well.  The game is in C++/SDL, and feasibly will work on any OS, though it’s only tested on Windows XP. If anyone gets it running elsewhere, let me know.

IsoTower Demo Image

IsoTower Plugins

Short and sweet status update on IsoTower. I’ve been struggling with how to add plugin functionality for a few days now, and I’ve mostly been working on building all the pieces to make plugins work they way I want. It’s almost time to put those pieces together and get the game to be able to load room definitions from an XML file, add buttons to the tool bar, and allow the user to build rooms. Once all of this is done, it will be time to smooth out any problems I can find and release an early alpha version of the game. I’m hoping to have room construction and a basic economy system at that point.

IsoTower Progress

I’ve been working on IsoTower (the current title for the isometric Sim Tower remake) for a few days now, and figured it’d be good to post about what I’ve been doing. Nothing that’s worthy of screenshots just yet, mostly a lot of smaller behind the scenes things, and stuff that’s based on getting the core engine done. I did implement shadows, which makes things like sky bridges actually look a bit more 3d, instead of the mostly flat layout earlier. The other major visible changes include a morning/day/evening/night system and a clock, though both are fairly simplistic right now.

In terms of things related to behind the scenes stuff, I’ve mostly been ripping out old code from Sim Mine and redoing some of the GUI system so it’s a bit more flexible. There’s still a lot left to work on in both of those elements, so it’ll be an ongoing project until I’m done. I’ve also been working on code to allow for a flexible room plugin system. Mostly likely, plugins will require an XML file and graphic file for the actual room graphics. I want the game to be flexible, and be able to load different room sets based on a settings file, most likely something similar to how OpenTTD works. It’s in the early stages right now, though.

I’ve been thinking about how the interface itself will function, as well. I will likely use category buttons along the top which will contain drop down menus with the actual build buttons in them, similar to Sim City 3000 and Sim City 4′s construction menu, combined with Rollarcoaster Tycoon’s icon menu along the top. I’m hoping this will be effective, but the only way to find out is to try it. I might look into making the interface configurable, but that will likely come at a later date than initial releases. The biggest stumbling block though is getting an interface for elevators. In the original, it was easy to expand (and shrink) the elevator shaft up or down a floor or three. Yes, you had to choose a specific tool to do it, but it was still pretty simple. With an isometric view, there’s a problem, since you can’t really see what’s happening with an elevator, nor can you easily raise an elevator up a floor when you have to view the building in slices, instead of the whole thing from the side. If anyone has ideas or comments for how to implement the elevator interface, I’d love to hear them.