I had a better idea for a game before making this one, but quickly learned that it was going to be a nightmare to implement it the way I had envisioned on the GBA. At the 11th hour, I had an idea for another game... called "Time Management". The basic conceit was that it was going to be a somewhat dull game that got more and more exciting as you played it, expressed by more colorful things to collect, and more ridiculous "WHEEEE!" jumping sounds as you went through it. The point of the game, and the only way to "win", is to stop moving and wait for a while, which would cause the environment to return back to a dull one and trigger the "win" condition. The point was that to get things done you can't enjoy the fun distractions.
Then I started programming it and started having issues getting my graphical tiles to display correctly. In a fit of pique, I decided that the game would now instead be about the GBA hardware itself, and how an idea can "slip" away from you. Hence the name SLIP (though I also chose it because it was an oblique reference to a language created by Joseph Weizenbaum, creator of ELIZA and a writer of a book about the ethical concerns of technology).
So I had a lot of fun programming all sorts of ways to glitch the graphics. So much so that I neglected the basic "collect items" gameplay until it was too late. As I saw it, collecting the gems would cause the glitches to start to snowball and make the game more difficult to play, at least until you collected so many that the entire background entirely disappeared. At that point, then and only then would you be able to physically move your character forward on the screen, at least until you walked off the edge of the screen, which would trigger the "Fin" condition.
As it stands now, the glitches happen way too fast and kick in as you start to walk forward (right). The gems are all buggy and you can't collect them yet. The game simply continues until the music loop happens twice... which is about a minute and a half. So if you decide to play, I recommend moving and then stopping, then moving again. Stopping slows down the "glitch" rate, which lets you look at the ridiculousness of the tiles swapping around better. Which is sort of the point, as well. The collecting gems part was never the most important part.
There are some other themes I thought about making this, but they aren't apparent yet, so I shan't divulge them. There is definitely a reason I chose a treasure type item as the object you acquire, though, so take that for what it is worth.
I will demo this game for the class in the next couple of days. I expect a lot of "??????" looks.
Here's what I wrote to the TA in bugs.txt:
- game pauses at beginning, press Start again after leaving splash screen to start the game - gems cannot be collected, but this wasn't really the point of this game anyway - the tile background glitching like crazy is COMPLETELY INTENTIONAL... there are additional glitches that trigger as you walk forward the point of the game is to reflect on the glitchiness of the hardware I amplified these glitches through questionably creative means (purposely changing 4bpp->8bpp, etc) - there is no way to return to the main title other than reseting the game. this was done on purpose. - there is no cheat, because there is no objective other than to wait for the music to loop twice while walking forward. press the space bar in the emulator to fast forward to the end. - but hey, my gravity works, and my sounds are great, and the sprites animate
For real... it's hard to see but my main character sprite does the "Luigi in Super Mario Brothers 2" thing when he jumps.
I actually hope to finish this over the semester break, re-record the 3am music, create more variations and glitches (scrolling the offsets on the horizontal blanks* would really make the whole thing look like it was melting). It was a lot of fun, and I could wistfully hope that I should have started sooner, but I doubt I would have done something this bizarre otherwise.
*horizontal blanks are the short span of time where the GBA is not drawing to the display after scanning each row. you can alter the graphics during these horizontal blanks to create crazy parallax effects.