The End of an Era

Hello everyone!

A lot has happened since the blog entry of June 01, 2012.  I posted my latest build (touted Alpha #3) and sent it out to the Darkbasic Professional community as well as close friends and family.  As I geared up for the next batch of changes to make for the Marble Maze game it became increasingly obvious to me what was happening: over the last 6 months, working on Marble Maze Construction Set was no longer enjoyable!  Yikes!

The development of Marble Maze started back in 2002.  It was the reason I purchased Dark Basic Professional.  It has been the main driving force behind my hobby of game programming for so long.  It was, in fact, a large part of how I defined myself as a programmer.  How did the joy seep out of this project?  There were several factors, I’ll just list some of them in no particular order.

  • Reviews of (and interest in) the game had become lack-luster, from several areas.
  • The amount of media needed to push the game further was growing exponentially.
  • The programming challenges (better/more enemies, improving the Editor) were less interesting to me.
  • Nervous about DirectX 9 dependencies, and the longevity of that platform.
  • With the project’s history (ups and downs), and being tied down to it for so long, this began to feel like a bad marriage.
  • Losing personal interest in the game — I was spending more and more time exploring other game ideas.

On July 1st, 2012 the website Funcygames.com became 3 years old !  The To Do List shows how far the game had progressed since the website had started, and how much was left to get that complete Demo, which was my goal.  The fact that those items were turning green at a slower and slower rate became painfully obvious and really drove the point home.  Most of the time I was avoiding work on the game.

Since my enjoyment of the hobby seemed to be dying a slow death, I decided I needed to make a change.  I have actually been thinking about the change for a long time (years) but finally acted upon it.  The gravity pull of the large project was just that great, that I kept circling and circling for such a long time.  But I had to break free.  That freedom was in choosing a completely different direction for my games: going Mobile!

I looked at two competing projects.  The first was the App Game Kit (AGK) by The Game Creators, same people who did Darkbasic Professional of which I was very familiar/comfortable with.  This had the benefit of me being able to hit the ground running fast by using the “mobile twin” of the language I have been coding in for the past decade.  That was also one of its problems, as it inherited some features of Darkbasic Professional I had not liked.  The second product was the Monkey Language from Blitz Research Labs.  This was similar to other “Blitz” languages like BlitzMax which I had grown to admire over the years, as it was OOP with a nice basic syntax.

It was kind of like the devil you know or the devil you don’t…  So after trying both demos, I chose Monkey.  Here are some of the reasons I went in this new direction for myself in the hobby.

  • Desire to get back to completing more smaller projects, with improved ability to distribute.
  • Programming in OOP for games is something fresh (for me) to keep interest as a programmer.
  • Enter a market where there is a better chance for a smaller development team to be compensated for their work.
  • Many people I know have smart phones and would be more willing to play something that I created on those devices.

On July 4th, 2012 (an important date for Americans everywhere) I purchased the Monkey language from Blitz Research limited.  I consider this one of the major turning points in my life.  Sounds a bit melodramatic, but I really feel it is that big of a deal for me.  Since that purchase I spent 3 weeks creating a “mini game” for a Monkey community project.  It is called The Lost Wand.  I will post the game up on funcygames.com soon, as it can run in HTML5.

In the upcoming weeks I will also be modifying this blog/website to be more generic and not only about Marble Maze Construction Set, although I will try to make an homage page to that game.

Finally Here – Alpha #3 !!

Hey folks (assuming more than one person reads this thing). 🙂

So I’ve finally finished the Alpha #3, after 18 months of time since the last release. That is a long, long time. A lot has been added to the game, but not 18 months worth. Hopefully releasing the toys to the public will jazz up my motivation, when I see what cool levels people will make.

To download the game, go here: MarbleMazeAlpha3.zip

Screenshot of a new level with new stuff !

Inspiration

So again… progress moves slowly, ever so slowly. It is no wonder this has been an eight year (plus) project.  It is a strange, but all too familiar, feeling to have this game always looming in the background, disturbing my thoughts, distracting me from some enjoyment of other things I do.  Yet making time to buckle down and get this last piece together to send out to a few interested people in the world to play with —  this has been elusive.  What do I fear?

Last week I spent $15 on a ticket, and $15 on parking, to go see a screening of Indie Game: The Movie. It was a full house, and I’m glad I got my ticket early online because it was sold out. This film details the story of three Independent Game Developers, and they happen to be successful ones. It describes the plight of very few programmers, with minimal financial backing, on their quest to build their game. They are Artists, no doubt, and writing games is their main form of expression. Living a hundred years ago, they might have been musicians, visual artists, or writers of fiction. As predicted, I found the film inspiring. But how do I fit into all this?

I do not have financial backing to pursue this project full time. I have a day job and a family. In other words, time is limited therefore progress is limited. But I still have a vision. This vision might not be earth-shatteringly new, as there have been a steady stream of marble platform games coming in since Marble Madness in the arcades. Out of all my other game designs, I believe this project is one with the most chance of being popular and accessible.

Work continues on the Enemy AI, I believe I will be doing some heavy digging to make this as flexible and solid as possible. But I may try to patch things up as best I can in the short term, so I can release a demo to the few who are waiting for it and get back to the other areas I need to improve.

Enemy work continues …

It has been a while but, truth be told, little progress has been made.  Quite frustrating to have a silly “make it work better” item keep the latest alpha build from being released.  I could make a few levels and send it out “as is”, but I don’t think that would be for the best.  Might as well make the enemies as good as it can reasonably be done at this stage before sending it out.

What I really need is time to work things out on paper, and a long 3-hour+ coding marathon some night, to get the complex ideas down in code.  I find it hard to work on this part of the game in small chunks of 1 hour or less.  The next change I need to make is a medium sized one that will rework some of the enemy state machine logic for AI.  I don’t want to do this over the span of several days. I need the time to modularize it a bit more and make it configurable.

One idea I had is to make this as configurable as possible and allow the level creators to toggle switches for enemy behavior. I’m not completely sold on the idea but basically it is this: Each enemy has several attributes that are definable for it, such as appearance, travel type, damage type, etc. So you could have a Whirlygig that moves randomly, moves randomly with jumping, moves randomly with jumping and lightning bolt attack. You get the idea. I think for the game’s sake I will have standard entities that follow appearance and behavior throughout the campaign, otherwise the inconsistency will just annoy the player and would be a dirty trick. But making the enemy behavior plug n’ play like this, even if it’s not as random as the above, may make things easier for myself in the long run.

Arrows

It has been so long since the last post, I am at a loss for words!  So I’ll just show a picture instead.

A ridiculous level like this means only one thing ... testing widgets!

The math and 3D object manipulation to get this working took way too long, but I eventually got it.  Spending half hour chunks here and there among other things didn’t lend itself well to solving the puzzle.  I should have treated it like I treated the dynamic wall-generating algorithm: PAPER.  Sometimes when faced with a coding problem I go back to paper and scribble out my thoughts, and work through the logic of it all.  I should have done that here, but it does not matter … the results are what they should be.

With that part off of the “To Do” list, I only have one thing left before sending out another updated demo: smarten up the AI.  Right now, they fall off cliffs like lemmings, and are generally stupid.   There is also a couple bugs with it where they will run away from the player if approached from different angles, while in different states.  I may also make an “auto shutdown” type flag that if one enemy is touching another it will stop moving for a miniscule amount of time.  I hope this will prevent the physics from getting bogged down when 100 spheres are all pushing toward the same corner (to get to the player).  If I can fix those few things I will be happy.