The engine for the game is pretty much complete. It still needs polish here and there, but I'm feeling pretty good about it. The AI is particularly awesome, but a whole lot of other things are streamlined to make building the game easy. That's the nice thing about building an engine from scratch versus using something already out there, you get to make it do exactly what you want it to do as you build it.
The engine is based on the engine built in Learning iOS Game Programming by Michael Daley. If you're at all interested in game development, but aren't too familiar with iOS and Objective C, I highly recommend this book and his site http://www.71squared.com/, which has some great tutorials.
The number one thing for me with the engine, as it affects the player, is that it be really fast. I've tried my best to keep everything really simple and small. This should lead to a minimum of waiting for the player. So far in everything that I've done, I've noticed no load time for anything and a drop in frame rate only once or twice. Both times, it was easy to make a quick tweak to improve performance. Hopefully this will continue all through development to lead to no noticeable loading for the player.
Now it's time to start putting everything together. It seems sort of like what directing a movie is like. Characters move with stage directions, and dialogue has to flow. There're fades in and out and special effects. It's really exciting. Building the engine was exciting too, but for as awesome as I think it is, there's really not a whole lot to actually see. Now that we're building the story, the work is more visible. To use an analogy, the engine was a lot like making drywall from scratch, most people would just buy it and never try and learn how its made or how it works. But now that it's done, I can start using it to build a house.