I just realized I never linked to the test version of Void(). You can download it here, if you want. Some firewalls or anti-virus software will complain when you start the game, because it tries to install some dwmapi.dll, but sadly I have no idea what this is caused by. I haven’t noticed anything bad happening. But I also haven’t noticed any functionality missing from the game if that request is blocked, so do that if you want to be safe. If you want to be super safe, don’t play it.
I added the Smartbombs. They destroy everything on screen, but the player only has three of them. Typical SHMUP stuff, really. Anyone interested in the current state can download the game here. No install required, just an archive with an .exe and a corresponding data folder. Controls are pretty much standard: WASD or arrows to move, spacebar to fire, hold left shift to charge the main weapon, release to fire once fully charged, and c to drop the bombs.
I am currently working on a scene to replace the ship selection with. Buttons are lame.
Again I apologize for the lack of updates, but university and work leave me little time to do anything else. And there are so many games to play. The completely non-existent motivation to create levels for Void() doesn’t help either. But since you are my only reader, there are not that many people upset.
Anyways, one course in university is about Unity and while most peers don’t have much experience with it, if any, I can do a little bit more than just follow the tutors’ examples. The first project is meant to be a space shooter, and since I had some spaceship models sitting on my HDD for quite some time which were once meant for such a game that sadly never came to fruition, I decided to revive them and create the game I wanted to then (albeit now on my own).
Currently I have all three player ships implemented, completely with all their weaponry (except the Smartbomb). The weapons are all upgradeable, but the system to do that is still in the planning stage. I have yet to decide if I want the player to be awarded money with which to buy upgrades between levels or to have some items flying around in the levels that upgrade the weapons when collected. The missiles track enemies, but not asteroids, the asteroids will break up into smaller pieces when destroyed, but only once. The smaller pieces will not break up again, they just disappear in a puff of smoke. The asteroids also collide with each other (without breaking up) and their respective mass is determined automatically by their local scale to make the collisions behave more correctly, although I don’t intend to make this a celestial body physics simulation, so the collisions are not nearly realistic. After all I have to override the z-component of the resulting movement-vector and set it to zero to keep the asteroids in the correct plane. They damage the player (and enemies) when they collide with him and the damage done is their current health, which is also determined by their scale (so a hit from a small piece is much less severe than one from a big one).
Initially I planned to build the game for Android, since I got my hands on a basic Android Unity license when they were free a couple of months ago and wanted to learn how to do touch controls, but for some reason my machine doesn’t want to. I installed the Android SDK, the JDK (32bit and 64bit), all Android APIs since 2.3.3, but when I want to build, Unity throws an error. I have found that I can successfully build a game for a couple of minutes after a fresh Unity install, but after a short amount of time (roughly 15 minutes, didn’t measure it) the error is back. The error is independent of the project I want to build, when it happens with one project, it happens with all others, even empty ones. It is simply no fun to have to re-install Unity every time I want to update the build, so I shelved the idea for now. On the bright side this allows me to go overboard with particle effects and stuff. The first version I managed to build for Android was quite choppy on my device already.
And now, after the wall of text, some screenshots.
I finally started creating some levels. Currently I have the three easiest done: arenas for the 3 existing bosses. They still need some tweaking, to have them balanced, but I will do this when I have the other levels done, so I can estimate the player’s level and equipment.
Additionally I changed the sequence for the crystal’s lasers, so they are not as predictable. Also it will choose a different sequence when it is down to 50% health.
Some other small changes include single-use platforms, that disappear when the player steps off them, but I am not sure if I can use them with the player having 3 lives, since they would block his progression when he dies after walking over them. Alternatively I would have to limit their use on optional areas.
Lastly I changed the algorithm for the grid boundary, so I can now create levels from multiple grids.
And here are the arenas:
I know I should be doing level design, but I fail to make progress there. Instead I added some more enemies, a new boss that uses heavy hitting melee attacks and a sensor tower that will alert every enemy in the level of the Player’s position, if he is in range. The last one is a replacement for the flamethrower mesh.
Additionally I changed some small details that are hard to show, like right-click on some buttons of the options menu or minor improvements to some algorithms. Oh, and I created a textbox system. If the player enters the trigger of a textbox object, it displays some texts on screen. I hope to add some voice-overs for these later. And projectiles can now play sounds on birth and impact. If only I had some sounds now…
I created a main menu for the game. Now the Player can start a new game, restart the current level or save and load the game (it always saves the state at the beginning of a level). Furthermore it is possible to change the resolution, render quality, audio volume and toggle between full screen and windowed.
Next up: sound FX and level design.
I just completed the Alpha of my game.
List of changes since the last post:
- GUI works (WIP)
- Added markers below the player and enemies to show their position and health
- Added a ‘finish line’, that is accessible once all enemies are destroyed (spawned enemies don’t count). Once the player reaches the finish line, the next level is loaded (currently the same level)
The red barrier tape will disappear, once every enemy is killed, and the little red ticks turn green.
And here is a screenshot of the game in action.
Haven’t done much this weekend that can be shown in images. Mostly bugfixing and improving some algorithms. Had some nasty crashes that I needed to resolve. In terms of AI, the situations where an enemy would just stand still and do nothing are reduced. As a side effect, they now are even more aggressive, since they don’t interfere with each other so much anymore. Lastly I changed the shader for Player and enemies and now their silhouettes are rendered in front of other objects. This way the Player can see where the enemies are, even if they are behind obstacles.
One new object, though. A spawnpoint for Powerups. It will create a crate after a couple of turns, and ,once the Player has destroyed the crate and picked the item up, it will spawn a new one, again after some turns.
Here is a new video showing the current state of the game. The two bosses from the last post are not in this build.
This is not a real level, only the test scene where I put everything I create to see if it works and behaves correctly. I haven’t started designing levels, yet.
I added some more enemies to my game. From left to right these are a plasma-wielding walker, a flamethrower tower and two boss encounters. The first one is unarmed, but has plenty of health and spawns Spawners. The last one is more of a automatic defense mechanism. It spawns smaller copies of itself some tiles away and then shoots them with lasers. The small crystals scatter these lasers in all six directions. If one of the small crystals is destroyed, it will be replaced after some time. In the actual encounter I plan to place some additional small crystals that won’t be replaced after destroying them.
The Player will get his own laser weapon from destroying the crystal. Where he will get the other weapons (apart from the sword and blaster) is yet to be determined.