Friday, August 1, 2008

AWOL...Reflection...Inspiration

OK. I dropped the ball. No updates in 2 weeks. Quite a shame, considering how on track everything seemed. The reason is a rather annoying bug of which I still don't know the cause. You see, the save button in the level editor is currently rigged to turn the entire level into text and display it. The output has a few extra characters in it. I will take another look at the whole process and see if I can solve it. I may try some experiments. But I intend to get to the heart of it or at least find a workaround.

What inspired me to continue was the rediscovery of some paper notes on my original ideas for MeshMaze. At the time, it was just called Maze. (I'm still not entirely happy with the name.) Well aware of the mantra of release early and often, I outlined the minimum of features my game needs:

  1. movement
  2. walls
  3. gates
  4. items
  5. attacking
  6. enemies
  7. scrolling

So, I'm far along. There's movement, walls, doors (close enough), and scrolling. Currently, there is only one type of item, keys, so this needs to be tweaked. The land mine almost counts, but I can't truly claim having the enemy feature until there is moving opposition. All in all, I am only completely missing one feature on this list, attacking--unless you count vaporizing gates with keys. This actually brings up an interesting point. I could actually put the existing gate/key dynamic to another use, weapons and enemies. The keys are your ammo, and when a certain color runs out, the gates of that color become deadly to you. Smarter instances of gates would know when to go after you and when to run from you based on your current "keyring".

It's an advanced form of Pac-Man with Sokoban baked right in.

Tuesday, July 15, 2008

level editor is nigh

There was a strange bug disabling fancy effects like gradients. I also have the folks at Mozilla tracking down the bug. Once I figured out that the problem was capitalization, a workaround was trivial.

Although there tons of features that I would like to add, such as enemies and weapons, the top priority now is to get this thing off the ground. So now it is time to build the level editor. Today I worked on the UI portion, which you can see by clicking "Edit" in the lower left corner of MeshMaze. It is currently non-functional, but "Save" button at the bottom of the sidebar does take info from the Level tab and package it into code.

Friday, July 11, 2008

mouse support

I can now determine exactly where on the map you are clicking, using a complex calculation of pixel offsets and unit conversions. To test this feature, the character will now move to where you click, although this will be restricted in the future because it allows you to cheat.

I am also up to 750 lines and over 20kb of code!

Thursday, July 10, 2008

camera fixed

I spent the entire day making the camera move smoothly. I had to dig deep into the internals of jQuery. Here's my saga, if you're interested.

graphical progress on MeshMaze


The best new feature is that custom graphics can be defined by a snippet of SVG. Before, it had to be done programmatically.

Although you don't see it, layers are working now. Objects can only interact with other objects on the same layer. (Inter-layer interaction might be useful.) Layers can help the level look more decent.

There is a new kind of portal that will send you to a different spot on the level as opposed to sending you to a different level. It can use relative or absolute coordinates. Or it can link to another portal (but if that portal is on the same layer as you, a chain reaction teleport occurs).

Objects can have different graphics depending on which way they are facing. You can see this with the default character, a green alien.

Movement is now smooth, using the handy animate method. For some reason, this method wasn't available for the svg viewBox, which is used to pan the camera view. I rigged my own loop to smooth out the panning, but I still need to perfect it or find another approach.

Tuesday, July 1, 2008

MeshMaze demo

In the past week I've been working every minute possible to get MeshMaze closer to completion. The levels can be any size (within memory limits), as well as the viewing area. You can push blocks, open gates with matching keys, step on land mines and die, and transport to other levels. I am quite happy with the system in place, because it allows flexibility in how objects can look and behave. I haven't put serious effort into the artwork, though--just placeholder graphics for now.

You can try 6 sample levels right now! I doubt if the game works in any browser other than Firefox 3.

To Do

  1. graphics layering
  2. Ajax level loading
  3. level editor

Tuesday, June 24, 2008

Things Are Happening

First, the RPG has been put on hold, sort of. I don't like where the code base is going. So I've scaled down my goal. I am now making a maze. The maze will include color-coded locked doors and keys. I should be able to hack it together pretty quickly. When I'm done, everyone can start making levels (assuming I am able to make a level editor)--that is, everyone except for me, because I'll be adding more features and slowly morphing the maze into the RPG.

Daodos is working on has drafted a design document for a game that is similar to what I am doing. It stars Rosco, the samurai with ninja-like tendencies. Implementing it inside my maze or RPG is definitely a possibility.

Chase also has a game design document too of a garden sim. I quite like the idea with its quirky appeal, but I currently have no plans on executing it.

So, lots of stuff is happening and we should have some games out there soon. I'm going to make it an early night and get a head start in the morning. Game on, peeps.