Did lots of work on Zombox this week….most notably the sound design, but here’s the overall scoop:
1) Many new props scattered throughout the city. Dumpsters, garbage bins, crates, trees….
2) All buildings are now labelled and their description will appear at the bottom of the screen when you enter inside (“House”, “hospital”, “department store”, etc)
3) The quality of the UI icons has been greatly improved. No more artifacting!
4) ….sound! I’ve begun the sound design process and it’s coming along nicely. Still much work to be done but I think the overall feel of things is there.
Here’s a Youtube video showcasing all of these changes:
This week I worked on a couple of new things in Zombox.
Firstly, zombies have a chance of dropping Zombucks (in-game currency) each time they are killed. These coins of varying values (values which depend on the strength of the zombie killed) can be collected and eventually traded for items that NPCs in the game world are willing to sell.
Secondly, the empty areas between buildings and streets (which were just flat concrete spaces in past builds of the game) are now populated with grass, bushes and trees. Like all interactive items in the game, the trees can be chopped down and destroyed.
Here are a couple of .GIF animations demonstrating the above features:
So, I finished modeling all of the building interiors!
All the interior props have also been prepared for the destruction engine. This means that when you destroy any interior prop, it will break apart. Click the image below to watch some prop-destruction action!
I also got a day/night system going, as well as an in-game clock. Click the image below to view a full day/night cycle.
This week I worked further on getting the building interiors modeled. There are 15 building types in Zombox right now, and as the procedural city generation system generates buildings during load time, each building gets a random interior relative to its type.
I also worked on the interaction system. In Zombox, my goal is to maximize the number of ways a player can interact with the environment. Doors can be opened, closed, broken down, barricaded, etc…objects can be destroyed, searched, used as storage, etc…and obviously there has to be a way to alert the player when something is examinable.
This week I’ve been working on a few things in Zombox.
Firstly, interiors have been designed for many of the building types. I’m about halfway done the modelling stage. In total there are 15 different building types, each with two interior variations.
Secondly, I added a button at the top let of the main UI that allows the main camera to be rotated up or down, so it’s easier to see what’s happening when standing behind walls or other obstacles. Some players might prefer the top-down view altogether.
Someone in the Unity forums asked me how Zombox maintains performance even with all the active colliders and rigidbodies within the environment. I figured it would be a good time to explain some of what goes on behind the scenes in the Zombox engine.
The game uses a fairly complex pooling system I wrote to create the environment.
Firstly, because everything in the game procedurally generated from a small set of prefabs, I can easily enable/disable anything that is not directly within the view frustum. Not just disable its renderer…but literally remove it completely, and use its gameobject to create something that *is* in screenspace. This means the total number of active rigidbody/static colliders in the game is limited to what’s visible in screen space, because only a finite set of gameobjects are used to create everything. The entire city features over 350 buildings (each with many walls, props, etc….about 40,000 different “pieces” are required to create the whole city), many roads, rivers, etc…but all of that is generated using only 300 gameobjects, which are recycled constantly. This keeps the game running really fast and there are no load times in the huge sprawling environment once the initial city-generation load time is passed (and that initial load time only takes a few seconds).
This week’s work on Zombox was sporadic and mostly behind-the-scenes.
The biggest changes are the following:
-weapons can now damage the environment. Got a hammer? Smash down a wall. Got an axe? Chop down a street light.
-zombie AI and flocking algorithms have been improved. Zombies no longer intersect one another while crowding around the player
-zombie pathfinding has been improved. The A* algorithm now runs in a co-routine so it can process a path over multiple frames, lessening the load on the CPU and allowing for longer paths to be calculated
-objects and enemies can be pushed in the water now. They’ll splash and drown but so can the player so you shouldn’t go too close to the edge!
Work on Zombox has been slow lately (due to lots of unforeseen technical problems sneaking up on me), but progress is still being made.
I spent a lot of time optimizing the object pooling system, improving textures, and getting the game to work smoothly on the iPhone 3GS.
Also, I’ve been modifying the procedural city generation system so that different buildings have different features. There are 15 different building types in Zombox, and each building type has its own special properties. For example, the walls of the bank and police station are more difficult to break down, the doors of the gunshop are locked, the church has stained glass windows, etc. This will make exploring the city a more dynamic experience.
The procedural city system now scatters mailboxes, trash bins, construction cones, light poles and traffic lights throughout the city.
These props are randomized per tile, but here’s what they look like if they’re all enabled at once.
Note: the buildings are hidden in this screenshot, as they are generated on the fly based on the position of the character in the world (damage to them persists in the world though). The same is normally true for roads, but I decided to generate them all at once here to see what the explorable world would look like. Note the scale of the character in the bottom right. It’s a pretty big world to explore! (hundreds of blocks and just under 1000 buildings…all generated in less than 1 second).
ZOMBOX is an open world, top-down, zombie sandbox game being developed by Tyson Ibele. The music for Zombox is written and performed by James Watkins
Subscribe to the official ZOMBOXFacebook, Twitter and Youtube pages for instant updates, videos, and more!
FAQ:
When will ZOMBOX be released? There is no official release date yet.
Which platforms will it support? Definitely iOS. Hopefully Steam and Android as well.
Is there an open beta I can participate in? Not currently. If there is one, information about it will be posted here on the devblog when the time comes.
You are currently browsing the archives for the Procedural world category.