Trying to build up levels for a Sokoban-like game is incredibly complicated.
I managed to get the game to build them internally, but it took about 20-odd frames to get even a basic level generated.
The complexity being that, at every step along the way, the player must be able to access the next “push” point, and so the engine has to take all of that into account, whilst building up the level.
Also consider that there’s a certain amount of brute-force randomisation going on. Some levels simply aren’t possible, so the whole process would have to start all over again.
It got to the point where some levels would take about 5 seconds to generate, with lots and lots of screen flickering along the way.
True, I “could” hide this with a nice “Loading Level” screen, but.. .. When have I ever done that?!?
(Aside from the Castles game a few weeks ago, which had a HUGE level to load!!)
As a result, yesterday I figured it might be better to generate these levels in a separate program, and then simply integrate the finished level data into the main game so everything flows much quicker.
I spent most of the day reworking the generator, and adding in extra chunky stuff so that the levels would come out slightly more organised, but also more complex.
It’s resulted in some fairly nice looking level layouts.
Today I need to recode much of the actual game so that the new elements work as they should, but at least I can load the new level data in, in just a single frame.
No waiting around. Get in and play!!
Once the gameplay’s working, I then have to focus on the menu system, because.. As you can probably guess, a Sokoban-esque game doesn’t fit our regular “Easy/Normal/Hard” layout.
I’ll also need to think about how I’m going to integrate the leaderboard into that kind of menu, too.
Daily Doodle : It’s Printing!
Platdude finally got himself a 3D printer.
Soon the whole house will be full of useless little 3D printed Platdude figures.
Making a Maker to make all the things,
Which for me would take hours to make.
It flickers away on the screen as it goes,
And saves me the time it would take.
If you’d like to stuff my mailbag, (Please do!!) you can do so right here, at http://bit.ly/AGAW_Mail. Send comments, questions, game ideas, thoughts and more, and they’ll usually show up on my daily blog, the very next day.