This blog is quite old and no longer updated. Wanna see what I'm up to now? Head over to my new website!

Google Analytics

Thursday, December 20, 2012

City Block 1.1 and Holiday Sale!

City Block 1.1 has just been released! All existing purchasers on Indievania will be able to download the update for free. If you haven't bought the game, then go buy it now! At least download the demo.

Anyway here's what's changed in City Block 1.1:
  • Added the ability to take out a loan. Right click on the door of a Bank to manage your loans.
  • Added a new building: Schools.
  • Added a new citizen type: Kids.
  • Added a news ticker on the main menu screen that displays all the latest information straight from me.
  • Fixed several bugs.
  • Polished up the game a little.
Also, to celebrate the holidays, City Block and Invasion Breaker are now on sale! You can get City Block for just $1.99, while Invasion Breaker will run you only $0.49! Get 'em while they're cheap!

Regarding IndieCity, I submitted City Block to their approval process a while back. They require two testers to approve the game, in the event of one approval and one disapproval, a third tester is needed to break the tie. This is exactly what happened with City Block, with one tester failing the game, and another passing it. I haven't heard anything from them since November 30th; the third tester is nowhere to be found.

City Block Trailer

Invasion Breaker Trailer

Monday, December 3, 2012

Building Recognition In City Block

One of the first challenges early in the development of City Block was making the game recognize when the player had constructed a building, as opposed to just a random pile of blocks. I wanted to make the building detector a flexible as possible; I didn't want to force the player to use a specific blueprint for their buildings. In order to achieve this, I opted to make the door of any given building its base. Each building has only one door, and the door stores data about the building, including the number of people in the building and what social class they are. It also handles all spawning and despawning for that building. For example, in a police station, the door will keep track of the number of officers and prisoners in the station. It will also detect if their are any criminals on the loose. If there are, and the building contains enough officers, the door will spawn an officer and subtract one from its count of officers. When the officer returns, the door will destroy that instance of the officer and add one to its count.


But doors do not make a building, you'll also need walls. The walls of a police station are concrete. A building's door must be completely surrounded by that building's wall material in order to register.


For some buildings, such as houses, a door surrounded by walls is enough. For others, however, you'll need some additional blocks. The police station, for example, requires at least one antenna in the structure.


Add any other required blocks, and now you've got a building! It'll likely be a small building, though. However, any blocks connected to the building's door are considered part of that building. Expand the building by adding more of its wall material in any direction.  For example, both of these are valid expansions:



This building recognition system does allow for some odd structures, such as the two above, but player freedom was a major consideration while developing City Block. I wanted to allow the player to build their city any way they wished, and this building recognition system satisfied that demand. I am quite happy with how it turned out. Those of you who have the game, hopefully this sheds some light on its inner workings. And those of you who don't, what are you waiting for?! Get it now!