The second Alpha version is out. This includes camera/simulation speedup (based on feedback, game is too slow), gems, restart points (another request), and some bug fixes.
You can get the latest here:
The Pre-Alpha is complete and ready for the world to heavily criticize (or ignore!). It can be downloaded here for now:
Marble Maze Alpha ZIP
Next on the TODO list, is adding specials (coins, gems) to collect, and all that those items entail for the engine.Â That might put a little more fun in the levels.
The death knell of any blog is infrequent updates, I know. It pains me that the time between this post and the last one is over 6 months!! What now?
The possibility of a long hiatus is just part of the reality of this hobbiest programmer. It has happened before for various reasons. This time, it is mostly new family obligations (baby) and the schedule that brings along with it, as well as a job situation that has regularly destroyed my will to
live code my own stuff at night. These are both major contributors to the lack of progress on the marble game.
I also told myself the next post would be the one announcing a new upload of the completed Pre-Alpha is available for everyone to try out, including my fellow hobbiest programmer community. That was a mistake since it is still not ready!
The truth is, I have been working on the game, however infrequently, with bits and bobs written here and there for the Level Picker screen. It has probably been a dozen hours of work over the past six months, which is but a small pittance of my time. What progress I’ve made has been satisfactory, I am probably another few hours away from finishing the screen logic. Then after that I have to touch up the example levels and media (get a new bitmap font) and package it up for global criticism.
I will try to get back into the groove of things and work on the game more steadily. After the Level Picker is complete I will upload screenshots and describe a “click zone” system I’ve cooked up. It is a system to try and abstract out the user interface so I can make changes to it more easily. So far it is a mix of generalized functions (good) and hard-coded hacks (bad). I will most likely make it functional at first, and tidy it up when I have time. In reality there are only a few screens in Marble Maze like the Level Picker so this general code, while nice and the right thing to do, isn’t mandatory for the game to function. It would help on future projects… much like the bitmap font code did.
Well, I did the stress test and the engine can “handle” it. I say “handle” because it was running at a whopping 5 frames per second. And on top of that, all the geometry of these railing objects caused the level file (which is already zipped, mind you) to a whopping 13MB !
If the player makes a level like this, they DESERVE a 5 frames per second experience.
Now that it is proven to work I must sit back and think about how to handle these railings. It is true that I want them to look decent, but it is equally true that I don’t want a player to build level geometry that cripples the game and makes the level unplayable. I could do several things to help this out:
- Introduce the idea of railings costing Fun Points
- Reduce the geometry of the railings, the collision shapes, or both
- Hard code limit of number of railings, outside of Fun Points concept
- Do not pre-build railings, have them built upon loading the level
The Undo/Redo logic is done, and that finishes off the Obstacles in the editor item under the ToDo list. That leaves one item left: the Level Picker screen.
What is planned for this screen, you may ask? Well months ago I scribbled on a piece of paper the layout I want for this screen. A simple backdrop and a scrollable list are the requirements, the rest is just fluff.
I don’t know when I will get it done but after this I may fix up the Classic mode a little bit, make some levels, and push it out the door for a public Alpha test. WOOT!
By some miracle I was able to find time these past few nights to get some coding done. What I accomplished was making it so obstacles (railings) can be added to a level by the Editor. Of course whenever I do something like this I decide to stress test it. A stress test of railings involved me filling up a screen (about 25×25 tiles worth) of the cross piece railings and see how it measured up. A nice friendly “3D Error” greeted me when I tried to file the level.
I believe the polygon count of the railings, when stitched together in a single object limb, exceed some internal number. So instead of 3×3 chunks of railing objects in the level I had to make it 6×6 chunks. This made it work.
Here is a 25x25 block of railings. Quite ridiculous, actually.
I need to try and see what 60×60 railings will do. Hopefully at worst it will cause my frames per second to drop down to 4-5, and nothing more. The problem with a level editor is if you let the user do crazy things… they will do crazy things!
All that is left for railings/obstacles is to do the Undo/Redo functionality, which should be trivial.