New Team Artist & Fixed a Massive Crash


We are very proud to welcome Abel to our team as the lead artist.  Abel has an awesome pixel art style, talent, and is extremely dedicated to video game development.  Here's some rough sketches of his for Netblast:



Abel's also been learning how to make levels for Netblast in Tiled.  Here's the modified deathmatch level with custom Mega Man test textures applied:


Regarding the massive crash:

This was one of the hardest things I've ever had to solve in programming.

Basically, the game would freeze, unfreeze, and then crash after about 5 - 10 minutes of play on any computer.  I eventually determined that the crashes happened after someone fired their weapon based on having the crash happen to myself during gameplay.

I then made my best guess as to when the freezing and crashes started happening.  The game was running super solid up until about a month ago.  This lead me to the work I did on bullet wall-impact particles since it was related to bullets firing.  I disabled that code and the freezing and crashes stopped happening.  Wow!

It was hard to replicate the freezing and crashes because they only happened every 5 - 10 minutes or so during active gameplay.  I had to setup an auto-firing script, run a timer, and babysit the game to look for the freeze that lead to the crash.  I had to run this 5 - 10 minute test every time I wanted to test a new potential fix... :[  I knew I fixed the issue when the game could auto fire for at least an hour without a freeze or crash.

I started disabling code within the bullet wall-impact routine and eventually found that the freezing and crashing was linked to collisions (because when I disabled the particle collisions code, the freezing and crashes stopped).  After a bunch of hypothesizing I guessed that the crash was linked to using spherical particle emission during bullet wall-impact.  The spherical emission caused physics particles (e.g. particles emitted from the wall) to sometimes spawn inside other physics objects (e.g. the level walls) causing the freezing and crashes.  My spherical emission routine will spawn particles at a random spherical location around a point and doesn't test for physics collisions first.

I guessed that I could switch the particle emissions into a fountain/cube emission and eject the particles away from the wall every time.

And it worked!  No more freezing and crashes now but it took a few days and many hours to solve.

Files

Netblast.zip 61 MB
May 13, 2018

Get Netblast

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.