Friday, July 27, 2012

Hotel management

It is moments like this, I wonder why I did not pursue games in the simulation and tycoon genre earlier. Perhaps seeing the success of Zombie Situation has given me the audacity to try something new and interesting. Or maybe I just got burnt out of action oriented defense games, where I noticed myself going into autopilot mode during development of Bunny Tactics. Either way, I have taken a very strong liking to this kind of design...


There is definitely a lot of temporary placeholder art being used (some borrowed from the Internet), so try to see through all that. The hotel guests can path-find to a room, or simply wander around for something interesting to buy. I am using the A* algorithm for path-finding and amazingly it works without any problems.

The overall objective is build a hotel and satisfy guests to reach a five star rating. Stars unlock additional shops and services, but also attracts guests with picky tastes and high expectations. There will be plenty of surprises along the way to break up the repetition.

Each room can be upgraded to support up to four amenities, purchased with the secondary heart currency. The quality of a room gives a greater chance to receive a heart, while popularity increases the chance that a guest will enter the room to spend money. Rooms are more pleasant if they have a good cleanliness ratio, so maids and janitors need to be hired. Also, building rooms beside one another can create beneficial combos, such as a vending machine room beside a lost-cost bedroom, or a hot tub room beside an expensive suite.

Saturday, July 14, 2012

Isometric vector art

Lately I have had a burning desire to seek out new technology and art styles. Bunny Tactics hit alpha, and I really cannot see myself making another defense game for a long time.

It all started with a quick dip into multiplayer land using Player.IO for Flash..

The API comes with many examples and I was amazed at how easy it is to work with! Basically you write the server side code in C#, save it as a DLL, and then upload it to the server. Meanwhile, the Flash version (the client) sends and receives messages to the server. Despite how easy the API is to work with, I began to see how complicated a simple action oriented game could be, due to sync issues that can riddle a game with bugs.

I also realized of course that throwing more technology at my work is not necessarily going to improve the end experience. My real focus is now on the simulation genre that can easily support tremendous depth, without necessarily adding complexity if executed correctly.

I started with prototyping a SimTower inspired game that focuses on micromanagement. In the prototype you can build condos, where the owners buy goods from nearby shops to furnish their rooms. For example, you can see two televisions in the apartment that were purchased elsewhere in the tower. Something about it just did not click; it all felt a bit gimmicky without any clear focus. With that said, I was not sold on this idea.

Afterwards I tried out isometric art using some online tutorials. I actually am amazed at how easy it is to create simple shapes and buildings in a program like Paint, but scaling is difficult at the pixel level so I returned to vector art in Flash. I created some basic furniture using reference pictures and figured out an optimal way to draw rooms similar to The Sims.

The programming is fairly straight forward. I am using the "diamond method", which intuitively allows me to work in a grid coordinate system and then transform everything into isometric space later. Moving people around in the world is a cinch.

It is likely I will create some hotel management game featuring many types of rooms and amenities, like arcades, laundry rooms, swimming pools, etc. The guest rooms can be visually upgraded with things like TVs, desks, framed pictures, refrigerators, and so on. The real challenge will be in programming decent AI and balancing the never-ending list of game variables. If I continue with this idea, it will be a fresh new experience on all aspects of development.