Tuesday, June 9, 2009

UI Progress

Been working long and hard the last two days. There's been many intermediate builds, but this is officially enough work to warrant a new numeral. Welcome, Build 13!
  • You are now signed in as the user "Anonymous" by default. He's a poor chump and isn't registered.
  • Unregistered users can't use the level editor.
  • You can now sign up for an account - anyone who signs up during the beta period is "registered"
  • Log into your account once signed up (to login, don't type an email address). Sign-in information is stored in a cookie.
  • Lost password doesn't actually send an email yet, but the UI and DB functionality is all in place.
  • The login fields will disappear on confirmation eventually, but until I get a status/response window up and running I just overwrite some text fields.
  • Press-and-hold spacebar is once again the word of the day instead of press-to-toggle (for slow-time)
  • I and O are two new zoom in and out buttons, to aid those that don't have a working mousewheel for zoom.
  • Level views and victories are recorded in the database now, to aid in determining difficulty and/or quality factor of the level.
  • I've added a back-end to receive level ratings.
  • Levels are now saved and credited to the user who created them (now that you must login to edit). Any levels saved before Level #186 remain uncredited, but can be manually adjusted if you feel it's important - drop me a line.
  • Levels record the originating level # to the database to help let people know if a level has been "copied" from another.
  • Levels have an "edit locking" flag to prevent others from editing it (no UI for this yet)
  • Many updates to the Editor UI and help menus.
  • New Gravity-Selector tool doesn't actually work yet, but it looks cool!
  • New death animation and sound effect. It's a little borked in this release but at least it exists!
  • Users themselves now have a ranking that is calculated as an aggregate of all their level ranking scores (again no UI for this yet)
  • A bunch of database optimizations and back-end work.
I feel like a steam-roller today, just plowing over issue after issue. It feels really good.

Monday, June 8, 2009

Bug: Destroyed

Another entire weekend devoted to a single bug! I thought it was a seperate hideous bug from last time, but it was in fact the same bug in a different disguise.

After some help with the Box2D Community I was able to trace it down to a bug in the engine - and upgrading to the latest SVN (unstable) version fixed everything. There have been no intentional bug-fixing code put into place, but it appears it's all better now.

The really good news is my stupid hatred shunt-code I put in a few days ago is overwritten and no longer necessary. Hooray!

So now I have an incremental update, build 11, that just fixes the "flying around" glitch. :)

The FC community has been having some fun - there's now around 110 levels generated, and I've only made half. :) Several people are getting really excited about the gameplay, which is making me excited in turn. Whee!

Sunday, June 7, 2009

Evil Birds


So I woke up ultra early this morning, despite a notsogood sleep, because...

Stupid goddamn birds. Squawking and caw-ing outside my window. Arrgh!

So instead I made a few small updates, bringing me up to Build 9:
  • Element size is now static
  • Drawing bonds now snaps-to the destination and changes color to indicate a fit
  • Viewport auto-zooms to the player character at what I think might end up being the default view size. Have to fix the zoom orientation still though.. it's a bit off.
  • Made bonds connect to the outside of the elements, not the inside. This helps them freely spin a bit when falling apart (and reduces collisions, increasing performance)
  • I've made quite a few test levels now, and I keep making the default level my latest one. The current one is pretty hard to beat, yet simple!
  • Several fixes to the editor.

Friday, June 5, 2009

Sloooow Moooo



That's right, Slow Moo!

I've just uploaded Build #7, which is just a slight modification from the blog post just a few hours back.

This time I've removed pausing of time - now you can just hold down spacebar and it'll slow down to 25% normal speed. You can play the entire game in slowmo if you'd like.

The object is still the same: Collect all the balls without dying! Every time you are clubbed by terrain it reduces your health accordingly (if the weight of an entire structure crushes you, you die in one hit. If you just get nicked by a single falling rod, it's less catastrophic). I really should put a health indicator on there or something.

Finally, Gameplay Beta

And here is something I've been waiting a while to do: A gameplay beta!

No idea if this will end up being the fun times, but here is the changes done to build 6:
  • Removed your exploding ability
  • Normalized jumping to a lower height
  • Goal: Collect all the orbs
  • You will die if you experience significant crushing damage
Have at it!

I've Surgically Removed My Stomach

Forgive me, Agnostic-friendly deity, for I have sined.

I've made a complete and utter hack in the Box2D engine to workaround the problem I had. See - the problem is - there is an internal counter in the Box2D engine. I have no idea what it's for and it doesn't appear to do anything other than count things. If this number goes below 0, it crashes the engine.

So ... I shunted in a nice little "if x < x =" 0">

Anyway, after two weeks of moving almost nowhere I felt the need to violate my code in this way in the name of progress. I've spoken with a few folks in the Box2D community; hopefully it'll be resolved at some point, but I just can't wait any longer (or figure it out myself. :/)

So here it is - what you've been missing - Build 5:

The gameplay hasn't changed too much but the interface has been given a complete overhaul, mostly thanks to Greg for all the artwork. Some highlights:
  • The game is now 16:9 (800x450)
  • New art for everything, including awesome-looking animated bits on things (and a very lively title screen!)
  • New menu icons that are persistant on the top right for ease of switching between modes
  • New level-editing interface with actual easy-to-use icon selection
A lot of other things have changed on the back end, but it's not fun talking about (or hearing about) that kind of stuff. ;) Some things that are yet to be decided:
  • What the player character will look like
  • How the player character will control
  • What the goal of the game is
But it's largely there - I kind of mused today that this is a game where you create a Fantastic Contraption and then have a player blow it to smithereens.

Wednesday, June 3, 2009

Critical Error

I'm still working on the game. I've run into a critical crashing bug in the Box2D engine - and it's one of those ones that, if unsolved, it ruins the entire premise of the game. I can't put it off and work on it later, it's going to have to be resolved before I can move on.

:(

I'm working with some folks in the Box2D community to figure out where the problem is, hopefully it'll be repaired soon enough.