It’s been a couple of slow weeks again. Been bogged down with regular job and some family matters. But now I’m back at developing the game properly again! Recently I’ve been working mostly on graphical touch ups and optimization.
Main progress recently is that I’ve finally managed to get trees that look good and perform well. I’m now using an unlit shader with an illumination layer. It also has vertex distortion so that they sway, looking like a bit of a wind effect without having to use colliders etc. I also added so that the cutout is affected by distance, allowing me to “fade” trees before they are culled by the camera.
To accomodate for the increasing amount of props in the cities (trees, containers etc), I’ve added a mesh merging system so that objects of the same type for each building are merged on build.
Since changing to smaller building blocks, buildings can no longer grow from within the blocks. Buildings now being bigger than the blocks. Instead, I’ve added a cutoff based on height. Buildings will now appear from the bottom and up. Hopefully I can make this look even nicer with some working machinery or something.
I’ve also started texturing roads. There will be two types of main road depending on whether they’re connected to residential and commercial zones or not. Currently the latter version is the finished one and as such it’s shown even alongside industrial zones in the images below.
Trees and roads:
Night time roads:
I did manage to also get some systems work done. Mostly related to the global economy system, which is now a bit less unpredictable. I also fixed a handful of bugs, among them one where nominal costs would increase over time (due to inflation), but incomes would remain the same, meaning that over time you would start losing imense amounts of cash
Moving forward towards the next alpha release, the third, I will focus on adding a handful of new buildings and improving the UI further. I will also start incorporating new menus, such as the global economy menu.
/ Dispersing Minds
This week’s focus has primarily been to reach a new stable version of the game. There’s been a lot of under the hood work done – stuff that initially pretty much broke the game and required quite a lot of effort to get working.
First of all, the game has moved away from the big block sizes into a smaller block size. Along with this, there will be two sizes of buildings. Currently, only roads and canals are the smaller size, but in the future there will be a set of smaller residential and commercial zones along with small parks and statues etc.
Another big change, hinted above, is the introduction of roads. The current implementation is rather simple – each building requires a road. However, there is currently no control as to whether this road leads anywhere. This system is still in its infancy and was therefore cut from the new alpha build.
The addition of a road system means the game moves away from a global resource system and into a system where resources are shared within an area connected by roads. This “Island” system as I call it is more or less finished, but as I mention above, the road does not connect different islands and as such, the game still handles resources as if they were global.
The finished road system should make it into the next alpha version.
This version also features three sets of residential zones and three sets of commercial zones along with the addition of the carbon storage facility and carbon power plant. This means that there is now also a carbon resource.
I’ve also redone the density function meaning that sparse areas of residential zones will not spawn higher densities. This is to avoid areas completely maxing out in areas that do not have a lot of densely packed zones. This also gives cities a more “realistic” skyline.
There are now also tool tips to help players understand what is what. Obviously, the game is still very light on information to the player, but this will be added in as more things get finished.
There’s also been quite a few bug fixes in the game, but I’ve mainly focused on optimization. I’ve managed to cut quite a few textures by adding together textures and mapping UVs differently. I’ve ensured things batch together properly so that there are as few new instances of things as possible meaning I could go from roughly 1500-2000 drawcalls in a medium sized city, to about 500-600.
A few things had to be cut from the alpha. Some policy stuff was meant to make it into this version, but had to be cut due to a few bugs needing to be ironed out. I’ve also pushed the addition of music for now.
Those willing to stream the game, please contact me via email!
/ Dispersing Minds
I’ve now set the builds for version Fire Spider live.
The main focus for this update has been to lower loading times, as that had become problematic over time.
The main source of the issue was leaking materials, which has now been fixed. This should lower loading times substantially. There will still be some loading times when the game first loads assets, so in particular when loading a level the first time.
This is the full list of fixes:
– Lowered the amount of objects in each object pool.
– Removed leaked materials in scenes and replaced these with global materials. This was a huge one, because the leak primarly affected decals, causing materials to be duplicated.
– Applied material property blocks to selectable and fading objects to prevent material leaks when objects fade in and out or colortransition.
– Added a fast forward button.
– Added enemy path visualisation at the beginning of the start of campaign levels.
– Fixed a bug where the screen would flash red at the beginning of each level as if taking damage.
– Optimized how sounds load.
– Optimized texture sizes.
– Optimized base localisation at start.
– Cleaned up redundant objects left in some scenes.
– Increased enemy speeds slightly.
– Increased the base turret range slightly.
– Compressed the game as LZ4HC, which will also helps loading times and lowers the size of the build.
That’s all for this time!
/ Dispersing Minds
Seeing as I’ve got time of from work, there has been a lot of progress on Atmocity lately. Most of it has been directed towards the upcoming demo and early QA test build, but there’s been a lot of overall progress.
I’ve finally gotten around to start working on sounds properly. There is now a selection of ambient sounds coming from buildings when you hover the camera nearby. There will also be an addition of sounds played when buildings are clicked, but this will be added later on. I’ve yet to get work started on music. I’ve only made a few concepts, but nothing that has really hit me as a perfect fit for the game. The work is ongoing though, and I expect to find the right fit soon.
The demo features about half of all the launch day buildings. Two residential and commercial tiers, the low industrial tier, all parks, all plazas, most production buildings etc. This means that I’ve been able to put a lot of work into the underlying building code and I now consider it pretty much done. It’s stable and efficient and as far as I’ve been able to tell, bug free. Adding additional buildings will therefore, mostly be a matter of modelling, texturing and rigging them in Unity. That means that building production should pick up pace significantly and I hope to finish this process completely by the end of September.
The demo also features a barebones version of the resource trading interface. You will be able to buy and sell resources, and prices will adapt to the under/over supply of resources. What’s missing now is a “price pull” feature that means a lower price on one food resource will also affect the price on the other three. Same goes for building materials. This feature will be implemented later on, as it will also depend a bit on the global economy and how prices of goods are determines in general.
As I’ve worked and tested the game more, one thing that has become apparent is the need to quickly review your city to find areas that are not performing well. To make this possible for players, I’ve implemented an efficiency visualization tool. This fetches the efficiency of each building and color codes buildings from red to green. This way poorly functioning neighborhoods will be seen quite easily and the player can start working towards fixing issues.
Probably greatest progress visually (aside from there now being more buildings) has been on the user interface side of things. I’ve managed to more or less finalize UI design. A lot of information to the player will be conveyed via icons rather than text. The hope is that icons will be self explanatory enough and that the player will be able to link for example the icon of a missing consumable to the same icon in the building menu to quickly find their way around the interface. There is now also a main menu and a loading screen. Currently it is rather barebones, but it allows for further additions as they are needed.
There should be a pretty comprehensive update for the month of august as well! Stay tuned.
/ Dispersing Minds
First off, the development of Atmocity is progressing quite well. I’m done with slightly more than 1/3 of all buildings. I’ve focused a bit extra on visual consistence within the different tiers of residential and commercial zones. Although I will return to working on all buildings further down the line, I think they are looking quite good already:
Aside from tiered buildings, I’ve also finished a hospital building. The texture of which I will change slightly in the upcoming week. Aside from that it too is finished for now:
This week, however, I have mostly focused on code. This week and last I’ve changed the entire building placement sequence to better fit the upcoming changes in the UI. Before, placing buildings required first selecting a location, then selecting the building to place. With the ever growing list of buildings, the UI has become too cramped to fit all the different types of buildings. So in order to fit all buildings into the UI, I will need to have a beefier UI with scrolling. So I’ve changed the sequence to selecting building first, then placing it. To display what side of a cube is currently selected, a hologram of the selected building is displayed. With these changed I’ve also made it possible to speed place buildings. This feature is especially intended for placement of zones and will make placement less tedious.
The majority of code work has been spent on full implementation of the resource management system. Prior to this weeks work, buildings would check their surroundings for buildings they like and dislike. If there’s a “bad” building nearby, a building will incur a penalty. For example, residents don’t like living next to factories, so a residential zone placed next to an industrial zone will not house as many residents. This would also affect how much tax a building generates. The existence of power or water, for example, was not of any concern though.
Now, buildings are not only producers of tax, or citizens, but also consumers. This means that the resource management system comes full circle. Not only do buildings need to be placed intelligently in your city as to not incur penalties, they also need to be given the necessary resources to produce. This means that residential zones that have no power or water, or lack food resources, will not grow and will pay less tax. Farms that have no water cannot produce food. Simply put, without input, no output.
This also means that the development of the games is moving into a more obscure phase. Not as much will be shown, because I will mostly be concerned with improving the game and gameplay, along with interfaces, rather than adding visible content. An interesting phase nonetheless. 🙂
First off, the webpage hasn’t been updated in quite a while, but that will improve from now on. About a week ago, I updated Brink of Extinction to the new version, called Blitz Ant. This version of the game adds several new features and fixes a bunch of issues, namely:
Shadow system has been optimized and settings for it tweaked.
FXAA removed in favor of TSAA. This means that the aliasing has been minimized even on low resolution scaling. TSAA is more performance heavy than FXAA, but the added performance cost is offset by allowing lower resolution scales to get the same or better graphical fidelity.
Loading times between levels lowered. Music is compressed into memory in the background instead of on load and SFX uses faster compression.
Improved pooling system and waypoint path generation to allow for pool expansion and drawing from a single pool. This dramatically improves the loading times, in particular it lowers the load of creating many objects on start (noticeable by a lot of stuttering when level is first loaded in).
Optimized UI code.
Some adjustments in large scenes to lower the number of objects and their FPS impact.
– Features and balancing
– General changes
Difficulty ramp on campaign changed. Earlier levels are now a bit easier, later levels slightly trickier.
Powerup costs will increase per use.
Turrets now have a special attack that unlocks when you match a specific stat. The special ability requires a 60/105s (campaign/endless) charge time.
Turret upgrade cost offset. Each upgrade costs more than the previous one for the same stat. In the campaign this generally means the special abilities cannot be unlocked on the early levels and pushes players to build in more locations instead of maxing turrets early on.
Turret recoupable credits from sales the same as before, meaning less of investment on upgrades can now be recouped from sales.
All enemy and turret stats rebalanced. To allow for more finetuning, DMG and HP has been doubled and then tuned further. This means the repair speed has been changed to accommodate higher HP values for turrets. It also means fully repairing turrets is now more expensive than before.
There’s now a 5 % chance turrets will score a lucky chance when enemies fire the killing shot. This sets the turret hp to 1 and stuns enemies for a second, allowing turrets to survive even the most devastating hits. Using the Bull turret’s gentle giant special ability sets the chance to 50 % for a short time.
– Endless mode
Continuous mode leveling system overhauled. Instead of all stats leveling up each 5-8 spawn cycles, either of DMG, HP or yield is randomly picked to level up each 1-2 spawn cycles. This should make each game more different and changes the difficulty ramp a bit – If you are lucky, yields will level up faster than damage and hit point, for instance.
Insect generals added to the continuous mode. Every fifth cycle, the last enemy spawned from one point will be a general – the general is three levels ahead of the wave level for DMG and HP and 5 levels for yield stats. Works as an extra challenge and a way to boost credits. Marked with a red vortex particle underneath.
Wave pause time changed from linear random to normal distribution. Making very long and very short pauses rarer.
Pause time between enemy spawns in wave changed from linear random between -0.1 and 0.2 to normal distribution between -0.1 and 0.4.
Spawn amount per wave in endless mode changed from random between starting value and starting value to cycle, to normally distributed with starting value as mean. This mean shifts up by value one per 5 wave cycles meaning each 5 cycles will increase the number of enemies spawned. Getting very few or very many spawned enemies should thus be rarer in the beginning and more common later in a game.
Yields changed from linear to log normal curve, meaning faster in the beginning and slower later on in the endless mode.
– Graphical changes
Some turrets have had some animations and more particles added.
Explosion effects overhauled.
The game has been translated into Russian, Swedish, Romanian and French.
Button press sound moved, to avoid “false” click sounds.
First wave starts briefly after placement of first turret to allow planning.
Level 14 deathbox fix. Enemies would sometimes miss the deathbox causing the level to not finish.
Bug where raycasting would bug out when not using SSAA fixed.
Additional hexes on level 5 and 9 and the endless mode highway level.
Unfortunatly There were a things that I had intended for this version, but simply did not have time to implement or finish implementing.
– Remaining additions for the future
I had intended to have these additions added this update, but due to a lack of time they’ve been cut. Should hopefully see implementation fairly soon.
* Mac version added. Was intended for this update, but due to continuing issues with the Mac build it has been pushed to the future.
* In game scoreboards when you finish a continuous level. Will be implemented in the next update.
* Hexagon level. Was pushed to a later date due to lack of time to balance it properly and give it the required time to test it.
* German, Spanish and Chinese translations.
Version ”Fire Ant” is now live and changes the game in a host of ways. Aside from adding two new levels, the update also rebalances the game in a number of ways. Turrets have been differentiated more, so that they have more distinct usage situations. The enemy stat increases when they level up in the continuous mode have also been changed up, making the challenge more consistent. Lastly, the yield formula has been changed in the continuous mode.
The update also adds in a collectible in the form of mem discs, that can be found in the campaign levels. The mem discs contain brief story elements, that pieced together will give a view of the events leading up to the campaign.
Lastly, the update adds Steam leaderboards, so that your best scores in the continuous mode are saved and can be compared to those of other players around the world. For Game Jolt users, leaderboards were implemented already in the launch version of the game.
Here’s the full list of changes, fixes and additions:
- Game has been upgraded from Unity 5.5 to Unity 2017.2 which means SSAA (Res scaling),
- NGSS (shadow system) and post processing effects have been optimized.
Bugs and issues:
- Level 5 base object (the truck) has been moved to increase visibility.
- Level 5 some hexes have been moved to allow max range turrets to reach the base object.
- Fixed issue where base options in the ui would get displaced when switching res.
- Increased music fadeout speed when switching scenes.
- Adjusted post proc effects in the achievement display area.
- Fixed the heatwave effect offsetting.
- Fixed sound not playing when clicking next/previous button before last achievement in achievement display area.
New features and rebalancing:
- Two new endless mode levels, the Forest and the Overpass.
- Objectives for each level have been added to the loading screen.
- If there’s an object to protect, an indicator shows which one it is.
- Zooming has been implemented, mapped to the scroll wheel.
- Collectible story notes added to campaign levels.
- Story note reading room added in main menu.
- Song in reading room.
- Five new achievements, Give ’em hell 7+8, Prime example 7+8 and Librarian.
- Steam scoreboards implemented for continuous mode levels.
- Acid turret, Bull turret, Missile turret, Plasma turret, Rail turret, Double turret and Machinegun turret rebalanced.
- Enemy level up stats (including yields) rebalanced in endless mode.
- Bug zapper range slightly increased and damage greatly increased.
- Turrets can be rotated using the arrow keys.
- Plasma turret smoother textures.
- Level 5 DoF has been adjusted to avoid the turret at the far right position on the screen blurring.
- Level C1 DoF has been adjusted to avoid bottom turret position blurring.
- Level C1 Grass was growing through some cars.
- Level C1 Lens dirt decreased.
- Added more songs to the playlists in the continuous mode.
- Spruced up turret firing effects for plasma, sonic pulse.
- Added barrel heat on the Double turret.
- Text on game over in continuous mode adjusted to not line break.
- Increased Missile turret emission.
I’m in the process of working out some changes to the game and figured I would list the upcoming changes here. Most of this info has been published on the steam store front for Brink of Extinction as well, but also on IndieDB.
– I will spruce up some of the weapon firing effects.
– Scoreboards were planned for, but never made it into, the initial release, so these will be added also (for the continuous mode levels).
– Some background story. The game does have a bit of a story, but it is currently not conveyed in-game.
– Turret default rotation will be setable with the scroll wheel, and not only by clicking and dragging.
– Tweaking of turret stats.
– Added upgrade info into the turret showroom.
– Camera pan and/or zoom.
– Objectives listed before level starts.
– Two additional endless mode levels, one with Tesla and one without. This also means four more achievements.
The turret nerfs and buffs are as follows (although they may still be subject to change):
Acid turret: Starting HP from 500 to 450, minus 50. Starting Damage from 35 to 25, minus 10. Speed will be equivalent to that of rail (40). HP upgrade will give 125 instead of 100, damage upgrade till give 25 instead of 20. Splash range will go from 1.25 to 1.3.
Bull turret: 10 less starting damage, from 40 to 30. Damage upgrade will give 20 instead of 16. Starting HP up 50.
Plasma: Starting damage 25 instead of 20, and damage upgrade 8 instead of 10. Splash damage radius from 0.9 to 1.
Missile turret: Increased damage upgrade, from 30 to 35.
Overall, the concept is to differentiate the turrets from each other more. So the Acid turret will be stronger and have better range than rail, but is weaker. Bull turret gets a more emphasized role as high HP and strong, but is slower than machinegun turret and double turret. The double turret will remain a sort of all round turret. The plasma turret and acid turret both get splash range improvements, making them suitable for large hordes of enemies. Plasma is weaker but faster than acid. I’ve yet to decide about the cost of upgrades, and some more minor adjustments may still follow after more extensive testing.
Enemies will also get some stat tweaks, but primarily when it comes to their upgrade values, so this won’t affect the campaign, as all enemies are level 0 in the campaign. I have yet to start tweaking enemies, so a post on this will follow once I have done this.
Lastly, the game has been updated from Unity 5.5 to Unity 2017.2, which means some of the assets I use have also been updated. Since the shadow system and SSAA system were fairly new when I developed the game, these have now been updated and optimized, which means the game should run better in general also (although no complains on performance or bugs have been reported).
I have previously stated the release of this update being around February, but it might be available in January already, but no promises!
I’ve gotten the BoE builds submitted to Steam. If all goes as planned, the game will release on the 30th of November on Steam and GameJolt (although a bit of work remains on the GJ builds) for windows.
I’ve also gotten the store front for Twinstack in order and submitted for approval. This means it should be up soon. The game itself is planned to release on the 20th of December, for Windows, Mac and Linux.
On a different note, the Retro 2D Tile Set Dark now has a Light edition, available on the Asset Store.
There are some other things planned for the near future. These things will be announced pretty soon. 🙂