Archive for the ‘Uncategorized’ Category

Saving Texture Files

Monday, May 4th, 2009

Part of the Hologram app is drawing something on the screen. That means dynamically modifying a texture map based on touches on the device. This is done through framebuffers which allow you to render into that texture map. I’ve got that part working. But eventually, I’d like to save out those texture maps and that’s where it’s getting a bit tricky. I’ve almost got it working through a call to glReadPixels and something like this. And then I need to convert that data into an image using CGImageCreate and CGDataProviderCreateWithData doing something like this.

The problem is that the process seems to work the first time I load a file, but not after that. I think I’m close to fixing it, though…

Hologram Icons

Friday, May 1st, 2009

Icons are important for any piece of software nowadays. But they’re even more important for iPhone apps. With such limited real-estate and no method for doing things like hover-text, your icons have to be simple, clear, and self-explanatory.

So here’s a question: can you guess what each of the icons in my Hologram app does? (Incidentally, that’s my cat Bandit helping me beta test my software.)

Secret Project: Holograms

Wednesday, April 29th, 2009

After I did Mach Dice, I wanted to do something completely different. I had a kinda neat idea which was sort of like a drawing program. But then my full time job suddenly got much more full time. And then I got involved with the whole Open Feint group and ended up making Boom Dice, which was a simple little dice game but still took a few weeks to do. And then, we ended up going to India for three weeks.

But now, I can finally get back to working on what was going to be project #2: Holograms.

Originally, I wasn’t going to say anything about the project until it was submitted because I didn’t want to risk the chance that someone else would snag the app name. I’ve since found out that you can actually submit meta-data for an application (stuff like the app name, icon, description, etc.) before you’ve actually finished coding it. So now I’ve got the app name “Holograms” reserved. Pretty cool, eh?

Back From India!

Monday, April 27th, 2009

Hey, we’re back from three weeks in Mumbai, India! It was quite an experience but I have to say it’s great to be back. The last few days have been a blur as we spent over 30 hours in transit getting back (taxi to wrong airport, rickshaw to correct airport, flight to New Delhi, bus to international airport, flight to Chicago, shuttle to domestic airport, flight to Bay Area, and finally shuttle to home) and then a wrap party for Up (this might be the sleep deprivation talking but wow, I felt like I was actually inside the movie while I was watching it).

I was hoping to blog about the trip while I was there but couldn’t get a reliable internet connection so that’ll have to wait for some other time. But like I said, it was quite an experience. The weather was incredibly hot and humid (I’d be drenched in sweat after walking a couple blocks and I don’t tend to sweat much). The food was amazing (I love Indian food out here in the San Francisco Bay Area, but it’s even better in India). The people were interesting. Oddly, I got stared at more than Tracy. I think I might have been the first Asian person some of them had ever seen in real life. There’s also an incredible amount of poverty everywhere. Actually, there’s just an incredible number of people everywhere.

You tend to see a lot of Indian people here in the Bay area, especially in industries like tech and medicine. It might make you think that Indians are particularly suited to those things. But it’s not really that. It’s the fact that there are over a billion people in India. If you took the best 30% of programmers in India, you’d have more programmers than there are in the entire United States. The Indians you see in the US are the ones that were so good at what they were doing that they could make it in a completely foreign country.

Okay, I think I’m going to go and sleep for the next two days…

India!

Monday, April 6th, 2009

So … Tracy and I decided to take a trip to India for three weeks! Hopefully, I’ll be able to hook up to the internet while I’m there but if you’re seeing this past Wednesday, then it means that I haven’t. If you’re still seeing this post in May, then something has gone seriously, seriously wrong and version 2.0 of Boom Dice may be somewhat delayed…

First Review for Boom Dice!

Saturday, April 4th, 2009

Boom Dice now has its first review on the web at Phoxware.com! From the review:

Boom Dice is a unique game which doesn’t seem to be based upon anything established. It’s quite refreshing and I hope it catches on. The basic goal is to reach 100 points before your opponents do. You can play single-player or up to four players. Game play is pretty quick which makes this a great game for a quick distraction or challenge with friends.

He also liked the art!

The graphics are absolutely amazing! Of course the dice are very cool with that tilt effect and the physics involved in the motion are spot on. What’s really a nice touch is the backgound of animated gears. They’re working, rotating during the game and have some sort of ticking sound. Situated between the gears and the dice is a wire mesh screen which sits on it’s own layer so that when you tilt the device everything moves in 3D unison; the dice, the wire mesh, and the gears. Very nice touch!

Check out the full review or better yet buy it on the iTunes Store and see for yourself!

Boom Dice on the iTunes Store!

Friday, April 3rd, 2009

My new app, Boom Dice, is finally available on the iTunes store! Buy it now! Ooh, this is very exciting. This version starts out with just copper dice but version 2.0 will add silver and gold dice which will have different points and treasure frequencies. Sure, you could wait until version 2.0, but then the price will go up to $1.99 so you’ll save 50% for trying it out early!

Never Do This

Wednesday, April 1st, 2009

Let’s suppose you’re developing an iPhone app — say, a game. It’s completely playable but you’ve got a cool new feature that you’re thinking about putting into a future version. You could just leave it out altogether, or you could add a little button for that feature which brings up a nice little alert like, “This feature coming soon in version 2.0!”.

Never do this.

This makes your app look incomplete in the eyes of the iTunes Store review team, which makes them reject your app, which make Mach cry. Oh wait, sorry, I was projecting there…

The good news is that I already resubmitted on Sunday so with any luck, Boom Dice will be approved soon.

Daisu Apuri (Dice Applications)

Monday, March 30th, 2009

Hey, I just noticed that someone in Japan blogged about Mach Dice. I can only read a bit of Japanese, but I think they liked it. Here’s a Google translated version. It kinda makes me think I ought to attempt a Japanese version of my Mach Dice demo video. I mean, I made one in English and people liked it, so doing one in Japanese would help sales in Japan, right? Sure, they speak a different language and the food might be a little different. But I figure, we’re all the same deep down inside.

Then I see stuff like this:

Rounded Dice

Friday, March 27th, 2009

One of the more commonly requested features I get for Mach Dice is to have actual rounded six-sided dice. I’d given it some thought but since six-sided dice are only one of the many dice sizes available, it wasn’t high on the priority list. But Boom Dice is an actual game that only uses six sided dice so I wanted to give it a shot.

So what all does it take to implement rounded six-sided dice in Open GL? Well, Open GL doesn’t come with a CG modeler or anything like that. You have to type in all the vertices by hand unless you have some 3rd party tool that lets you import models from a 3D package like Maya. Since I don’t have either, it meant going about it the old fashioned way — figuring things out with pencil and paper.

First of all, you have to draw your model. In my case, it’s a cube with extra vertices at the corners and edges that will later be pushed in to look “rounder”. Second, you’ll have to number all the vertices. Finally, you’ll have to connect them all together in a bunch of lists to create polygons. Oh, you’ll also have to deal with texture coordinates, normals, and figure out their actual positions in 3D. All that stuff isn’t too bad when you’re dealing with simple shapes like cubes or spheres. But you can sort of see why my apps don’t have animated 3D characters in them…