Unity Blaster – Intermediate

So this weekend work continues on the Blaster Project.  Dan has made some new art for explosions and blocks.  We’ve cleaned up a lot of the prefabs and written a lot of new code.  I replaced my previous cube matrix with an infinite hash map instead.  You can add and remove blocks now via weapons as well.  I have 4 different types of blocks at the moment: Full blocks, Half blocks, Ramps, and Half ramps.  There is a glowing block too, but I haven’t put it in as a launcher yet.  If you are near enough to an adjacent block, you can just pretend its minecraft and place the block based on where you are aiming.  If the there is no block, or the block you want is too far out, you can launch the block and “lock” it into place by right clicking while its in the air, which is the same way that the pulse rifle activates its explosion.  Rotation information works based off normals when you are in range or when there is a collision, based on velocity when it gets locked down in air, and based on the direction of your camera when you are putting it on top of a block below you. If the block / pulse rifle hits another entity while its fired, it will lock or explode instantly.

I refactored most of the code to be significantly cleaner as I start to understand more and more of how unity works.  I still have lots to clean up before its finished.  Soon to come will be AI for the enemies, and most likely the final boss will be the ship from Contour :)  I will have to build a level with blocks that can’t be broken so that there is always a path to the boss that you have to work towards.  I’ll need to place some obstacle blocks as well.  If time permits I’ll see about adding multi-player so that you can have your friends join in.

And of course with this many changes, a video is in order.  Sorry about the frame skipping.  Seems my pc recorder couldn’t keep up during the excessive particle debris, it looked fine in game of course.

Music by Aaron ( from Contour )

Related Posts

Leave a Reply

Your email address will not be published.