Project Sadist: Dev Diary #1

October 19th, 2014 by Alan MacGregor Leave a reply »

Hi all, thought I’d update you with the current status of the game.

Things have been pretty busy recently so development has slowed down to a crawl, that being said I occasionally have time to work on it. The process I’m currently working on is the main bulk of the games scene with the intention that once working I can issue a few arguments into the scene and the game will populate meaning I can split my code into essentially two sections which should dramatically simplify things. This scene is soon to be finished and I am currently working on a few bug fixes, optimisations and general layout & look improvements.

Optimisation is something I’ve been working a lot on recently I had problems a little while ago with some code I used to generate borders on gameobjects and… well… it went bad I went from having 200~ draw calls a frame to over 1000 draw calls, this piece of code has gone through 3 transformations now but we’re finally at one with code that brings the draw calls back down to 200. A lot of this was due to rendering multiple 3D objects at real time to give the appearance of rounded edges whilst the new code now generates textures during the build setup so these can be cached and loaded instantly from RAM. Another series of optimisations had to be done to work of the current state of the users interactions and as this was part of the code this affected the frame rate whenever run meaning that if animations were running you could definitely see that the CPU was struggling, although this is an awful lot quicker its still not perfect, I may have to use coroutines however this isn’t desirable as the slowdown may manifest some other way. One more area of optimisation will also have to be made for the generation of the level, in the game you can choose settings for the level and it will check and generate the level, this can take a while as the calculation is random, ideally I need to pre-calculate every possible condition, store the valid levels into a database, then when I make a level all I need is a select for the inputs then load a random entry. Although usually it returns a valid level in a couple of seconds it would be nice for this to just generate immediately.

Anyway thats enough from me bye.
PS. I really need to think of a name for the app, no way is Apple gonna left me have the name Sadist in the app title


Leave a Reply