!http://dl.dropbox.com/u/43672/blog_static/software/images/bad_hotel.png(bad hotel)!
An action puzzeler building game made for "ludum dare 20":http://ludumdare.com. With music from "Yann Seznec":http://theamazingrolo.net. You can see the whole development journal here. It is kind of a pain to play, but you can create cool looking "DLA":http://en.wikipedia.org/wiki/Diffusion-limited_aggregation style buildings in it, until they get knocked down by missiles.
"Bad Hotel Flash":http://bit.ly/jwmcZ6
I have been sending this list of games to my friends over and over, so I figured it was time to formalize and detail and post. It also gave me an excuse to practice "dvorak":http://www.dvzine.org/. Let's go!
"Carnage Heart":http://en.wikipedia.org/wiki/Carnage_Heart - for psx was the first of these games that I ran across, although I was in no way prepared to deal with it. For those that don't know it, it is a mecha RPG, but the core of the game is a complex flowchart system. Using these flowcharts, you can program the mechs for battle, setting movement rules, firing distances, and the like. Unfortunatwely the game had a learning curve that was near verticle. I didn't play the second installment, but from what I understand, they only ramped up the difficulty.
This game is absolutly targeted at real programmers, not people that just want to mess around. I wish I still had a copy, so I could revisit it with my current knowledge.
"WarioWare DIY":http://www.wariowarediy.com/ - Oh man, this one was exciting. I don't normally play too much DS, but this kept my interest for quite some time. On the surface this game is a clone of gamemaker, but the limitations are pretty brilliant. Animations are limited to four frames, things like random states require hoop jumping, and games can only last five seconds. Worth messing around with for sure.
The major downside is all the hoop jumping that is required to share your levels. I lost interest after sending my code to a few people, waiting for responses, and then having my games played. It would have been nice if your levels just had URLs that you could send to people, but I imagine that nintendo had issues with that.
"Zachtronic Industries":http://www.zachtronicsindustries.com - This is where I started noticing that there was a demand for this type of game. Zachtronics' games are unbelivebly nerdy, almost to the point of being unplayable. They wallow in this nerdyness though, and that makes them quite enjoyable. I am really looking forward to his next one, which looks like it is going to be a really epic challange.
"manufactoria":http://pleasingfungus.com/ - I came to this game through Zachtronic Industries. While it does have some of the same nerdiness that is present in the Zachtronic games (some of the puzzles are just building binary arithemetic systems) the turing machine in the game is pretty easy to wrap your head around. This goes a long way to making the game a pleasure to play. The machines are also built with a small set of components, which leads to a ton of fun problems that just have to do with the arrangement of elements, in addition to the order of operations.
"trainyard":http://www.trainyard.ca - I feel like this game is simultaneously a stretch to fit in with these games and also just about the best programming game on this list. A stretch because it isn't really turing complete like the rest of them. Because it isn't turing complete, it can have a simple instruction set, in fact, it only has one instruction that can be used in two different ways.
The criticism that I can level against this game is that it is a bit too simple. With only one instruction, the problem space is limited to two issues to manage, timing and order. I found myself blowing through the game at an alarming rate. It did tickle my brain in a very similar way to these other programming games though, so I think it is pretty safe to include on this list.
Man, I missed a big one there. Turns out that the 1.1 version of wiresq had a pretty big crashing bug in it. I don't want to rush out an update, because that is how it ended up in this version, but I do want to help out those that were effected by it (pretty much everyone that purchased at v.1.1, rather than upgrading).
If you were effected, and would like a free copy, please contact apple for a refund, and then proceed to contact me for a promocode. My email address is jonbro@gmail.com. As far as I can tell from the promocode contract, I am allowed to do that.
Ah bugs, you can't avoid them, but you can try to minimize and if that doesn't work, make people not feel ripped off.
Well that was quick. About a week and a half after I submitted the first version of wiresq, I have submitted an update. I was initially intending to just do a bug fix release, but due to circumstances, I decided to push in a few features as well. Just for fun, I am going to list out all the technical stuff, maybe it will be interesting to people playing along.
*Bugfixes:*
* _The cool halos from the demo vid will now show up as you play with the app_. This was a pretty horrible typo, I was doing a loop that decremented, but it didn't go anywhere because the conditional had already been matched when the loop started. I am hoping this doesn't rough up the performance too much on 3g and lower devices, but depending on what people say, I might try to fix this up again.
* _The square wave is now actually a square wave, not a triangle wave_. Again, a typo. I put in the code to implement the square wave, but forgot to call it when the synth was set to a squarewave.
* _Touches will not fall through to the speed control_. Woo, this one was weird, and totally due to the vagaries of my event system. I was forgetting to remove the touch event listeners from the speed control sliders when they were hidden by clicking on the playfield.
* _You will not lose your settings for SYN0 after returning to the app_. This was the biggest pain to track down. Again, it was due to vagaries in my event system, I maintain two copies of the current synth settings, but the first synth was always getting zero'd out. It turned out that I had an update loop running on my synthEdit object when I didn't mean to, and before I had loaded any of the relevant synth data.
*Features:*
* _Added integrated help files_. Now you don't need to jump out of the app to find out how to run the app.
* _Synth Volume control_. No longer will your tracks be muddy when there are tons of notes being triggered.
* _File saving and loading_. You can also access your saved files through the itunes document sharing, which will allow you to share your files with other people.
* _Analytics_. This will probably just help me, but in turn, I am hoping that will help my users.
The reason that I ended up adding so many features was because it became pretty clear, pretty quick after launch that I needed to have integrated help. I hope it is just the vocal minority that was complaining on the itunes store about not being helped enough after launching the app. I have pretty nice help files up on the apps site, but I guess that is too far away for some reviewers, so I decided to put them into the app itself.
Because I was jumping out of openframeworks at that point, and into standard UIKit, it was pretty easy to get the saving / loading stuff implemented at this point as well. I had also done a bunch of the implementation legwork, so it was mostly just display work.
I have a bunch more stuff that I want to implement, so don't think that this app is going to be forgotten, and please keep the emails and reviews rolling in. I don't mind criticism, I swear! I am tracking the issues at the "github source site":http://github.com/jonbro/heavyephemera/issues, so if you have a login there, please feel free to add directly to the issue tracker. I have yet to dig through all of my email and copy it over to the tracker yet, so you might not see your request there until tomorrow night or so.
"To the app store!":http://itunes.apple.com/us/app/wiresq/id399289681?mt=8
!http://dl.dropbox.com/u/43672/blog_static/software/images/wiresq.jpg(wiresq)!
A cellular automata based sequencer and synthesizer. Is available in the app store and is still in ongoing development. To a large extent, it is an experiment in pushing the boundaries of apples "no interpreters" rule.
"Wiresq appstore":http://itunes.apple.com/us/app/wiresq/id399289681?mt=8 "Wiresq Demo Video":http://www.youtube.com/watch?v=1hoa0dUYm9c