Sunday, November 29, 2009

Happy T-GIV

Boy, writing a client-server game is hard. You have to simultaneously develop a protocol, write a server, and write a client to prove that each of the other two components are doing what you expect them to.

I feel like I haven't gotten enough done lately on this project. I need to get more done.

Wednesday, November 25, 2009

Technical Debt

I decided that I was designing my game entirely wrong, and I have since decided to work on a different project. For those who cared, I was working on a Tetris Attack clone, which seems to be conspicuously absent from the App Store.

This new project will require me to write a server for the game, which should make this an interesting (and more difficult) task.

Saturday, November 21, 2009

See glass

Turns out you can do callbacks with Cocos2d. Nice job hiding one of your most powerful features! Maybe they felt it was:
  1. Too difficult for new programmers
  2. Error prone, even for experienced programmers
  3. Just didn't really feel like documenting things that day
Today my main competitor set their price on the App Store to free! Thanks guys!

I really think devs are 100% shooting themselves in the foot by setting their price to free in an effort to gain popularity and convert that to sales. You can look at it as extremely low conversion rate advertising.

Friday, November 20, 2009

Stupid Errors

Today I got a fucking deadlock because a filename was blank. Sometimes Objective-C errors go way beyond cryptic, to where they make harder to debug the program than if it just said "ERROR: Something broke."

Now I have gravity animations woo.

I found Pinch Analytics the other day, does anyone know if it's any good?

Thursday, November 19, 2009


Well, now I have gravity and matching implemented.

The hardest part of making a puzzle game that is a nice to look at and play is making everything not happen instantly.

Today I was reading the SA iPhone apps thread and iPhone games thread. To quote Ted, "100 pages isn't a thread, it's a fucking research project", but I'm finding it quite informative.

They pointed me to the AppShopper Blog and Touch Arcade (yes, I hadn't heard of this yet).
I thought it was pretty interesting to see the number of apps approved per day in the store.

Wednesday, November 18, 2009


Today I fixed the bug with Cocos apparently projecting my 2d game with a 3d OpenGL flag that was causing my tiles to have random gaps between them ranging from 0 to 1 pixels. Argh. Here's the code for people who care:
[[Director sharedDirector] attachInView:window];
[[Director sharedDirector] setProjection:CCDirectorProjection2D];

I probably lost the ability to make my game wave-y, but whatever, now it looks right.

I also finally found the Cocos2d iPhone docs Now I can have some idea of what the hell I'm doing.

Monday, November 16, 2009

Big whiny crybabies throw a tempy tantrum

I got pieces moving around interactively with touches today, woo!

Some guy and some other guy quit iPhone development a few days ago.

I'm sure Apple is totally scared the iPhone is going to fail now. "Oh no! We've lost two high profile iPhone developers! Wherever are we going to find several thousand more to replace them?"

Ask the average iPhone user to name one iPhone developer. They'll say "uh... the guy who made Paper Toss?"

No one gives a shit about individual developers. Get over it.

Friday, November 13, 2009

Coordinates locked in

Argh I still don't like Objective-C. This is like a painful lesson in why Python is such a great language. Explicitly setting pointers to point to things, allocating memory for objects, declaring things twice in .h and .m files. All Gay.

I got my developer certificate thing from Apple. Boy, did they bury the instructions to get everything set up. I was expecting an email that said "click this link, 1, 2, 3, 4, now you're done!" But I had to go dig for it.

My app is reporting coordinates that were clicked on. It's a small step, but I'm making progress.

I bought geoDefense Swarm. It's definitely been worth my $2. I recommend it to anyone who likes tower defense games.

Tuesday, November 10, 2009

Apple logo glowing brightly

Well I came to Dallas to work on iPhone stuff with Ted, got next to nothing done, but he convinced me to use Cocos2d-iPhone as a framework for my game. I think I will end up saving way more time by using this than I lost from sitting around doing nothing for 4 days.

I also found the OpenFeint dev page. Even though I hate the name, it seems like it might be useful for adding multiplayer with low effort.

Random plug: geoDefense Swarm has to be one of the best tower defense games I've ever seen, and it's for iPhone! Screenshot:

Sunday, November 8, 2009

NS means NeXTstep

Working on iPhone dev with Ted. I just manage to draw two separate objects with OpenGL. It's too bad none of the Obj-C examples show how to do this. They mostly seem to focus on cramming all your geometry into a single triangle strip for efficiency.

Optimize-first design isn't really a development practice I want to adopt.

I guess Zen Bondage finally made a port to iPhone: Zen Bound.

Friday, November 6, 2009

ES means "Embedded Systems"

Today I learned more about OpenGL ES. It's still confusing, but less confusing. I also learned the guy who wrote the "butterfly" demo of texture atlasing for iPhone is a huge douchebag that writes code that is a million times more complicated than it needs to be to demonstrate a feature. The object coordinates and texture coordinates are stored in a single interleaved array! Ridiculous!

Tuesday, November 3, 2009


Today I got a custom texture loaded into an iPhone app and made it spin crazily.

It's the little things that count.

I found out how the iPhone (and other devices) can locate you based on wifi networks alone. Apparently some companies just drive around checking for wireless networks and save their locations. Also, it appears that whenever you get a GPS fix, and then query for location data, it uses the combination of your GPS+wifi listing to store new information about the wifi networks. I wish I had gotten in on the ground floor of that.

Tutorial on how to make this icon:and this button (programmatically):
As well as 8 confusing Objective-C warnings that I expect to be seeing a lot of in the future.

Monday, November 2, 2009


Today I found out that in order to have your OpenGL app run on all iPhones and iPod Touches, it has to be OpenGL ES 1.1. I'm not really sure why Apple is pushing OpenGL 2.0. I guess they have plans to phase out the old version and encourage developers to create games and graphics-intensive apps that only run on the newest hardware.

I've heard about Flash on the iPhone, but I remain skeptical. Business models that have the option for a third party to "flip a switch" and ban them make me nervous. And yes, I realize the irony of saying that as an iPhone developer, but I think Apple has less incentive to block a random app than to block Flash->iPhone development.

Jeff LeMarche's take on Flash on iPhone

My friend's company's app got approved today! MMA Underground (iTunes link)

MacBook Nub

I got my MacBook on Friday, and I've been enjoying learning about all its Mac-y weirdness. I've found a ton of things the Mac does better than any of the PCs I've used, here's a short list:
  • The power adapter light turns green when the battery is charged
  • Program installation is so easy, just drag a file to /Applications
  • A reasonable amount of software comes pre-installed
  • The design of the laptop is beautiful
  • The screen is way, way brighter than I could ever need
  • The multi-touch touchpad is extremely convenient
  • The magsafe adapter is something everyone should copy
However, there are negatives:
  • The laptop came with OS X 10.5 preinstalled and a 10.6 disk for some reason. Why wasn't 10.6 just installed already?
  • It's impossible to drag an item up very far with the touchpad because the hinge for "clicking" is at the top and quickly overwhelms your accuracy-strained finger
  • I don't like the keyboard, I like the one on my Dell laptop a million times more.
  • The arrow keys are squished :(
  • The mouse acceleration is all goofy, it's like it was designed for people who value the ability to select a specific pixel over people who just want to click buttons
I'm also confused, why is Apple able to provide so many programs out-of-box with a Mac and OS X, but it's an anti-trust issue if Microsoft does it? As someone on SA pointed out, Linux can read MS Office files out of the box, but MS Windows can't.