New game dev series involving Codea

Hello All.

I just recently started a (tutorial?) series over on that features Codea and I figured some of you might find it interested.

Basically I am looking at creating a game entirely on the iPad. That means coded, drawn, scored, designed, etc… entirely on the iPad. It’s mostly just a for fun project, but it’s going to involve a fair bit of Codea ( and Codea code as a result ).

Since Codea plays such a prominent role, I started with it. This first post ( ) introduces and gives an overview of Codea. It also included a 25 minute video walkthrough of Codea ( ).

Next up I am going to start looking at art asset tools, then music, then code. I would love to hear any suggestions anyone has in those categories, especially if you have any for level design, cause as I see it now, this is the one thing that doesn’t really exist as an iPad app now. If there are any tools ( on iPad only, as that’s entirely the point ) that you live by, I’d love to hear about them.

Any and all suggestions and comments welcome.

@Serapth after 2 years of play with codea, i almost forgot how great it is. Your video reminds that! Thanks.

@Serapth — This is a pretty good website:

Looks interesting. I haven’t watched the video yet, don’t have time right now.

Idraw is amazing for vector art.

I’m actually working on getting my first codea game to the App Store, stuck on the exporting to Xcode and implementing iAds and gamecenter part… so I’ll be watching your tutorials for sure to see if I can learn anything.

I certainly agree about iDraw, it’s actually the first vector package I “got”. Illustrator is confusing as hell, Inkscape at least was super sloppy and Corel Draw was just weird. These programs really put me off vector graphics, but iDraw really changed that. I purchased it on Mac too, great program.

The visual stuff I’m currently considering are:

A lot of the Adobe stuff is duplicate in functionality, many were just released and free so I had to check them out.

I think iDraw is brilliant - definitely the best on the iPad, although I’ve recently upgraded to Affinity Designer on the Mac for all my vector game dev art. Strikes a nice balance between the simplicity of iDraw and the power of Illustrator. It’s also got some great features for mixing Vector and Pixel based drawing ops as well as re targeting assets for mobile devices etc…


Slow and steady, but the next part is now up. As I mentioned earlier, this one is all about the art packages available. It looks at about a dozen different apps covering raster, pixel (8bit) and vector applications ( yes, including iDraw ).

I also put together a Table of Contents for the entire series, as it progresses so I can share a single link. It is:

Finally, the post looking at art applications also includes a video. Which is:

Again, all feedback appreciated.

Next part should be more code focused… I think

@Serapth - thanks for the videos, looking forward to seeing how the series pan’s out - I didn’t realise you were a forum member when I first stumbled on the series. :slight_smile:

@TechDojo - Yep, im a forum member, have been for a while, but haven’t been actively working with Codea for a bit of time.

Oh, and next part is up.

This part looks at creating your first project in Codea, then adds something legitimately almost useful… a spritesheet class. Specifically it shows how to use a mesh as a spritesheet, although the implementation needs way more flexibility ( as it stands now, it actually draws the sprite, and animates it at 30fps ). It’s demos everything you need to get it working though.

Looks good - I’m in need of a good sprite sheet lib. I’m currently working on porting my scene manager library over from Gideros to Codea - I’d be happy to share it once it’s done

@TechDojo are you also migrating (fully) to Codea? :smiley: I left Gideros years ago. A few weeks ago I stumbled over an article stating that gideros is going open source and development stops!?.. Strange news.

@TechDojo - spritesheets have come up before on the forum, try searching

@se24vad - pretty much. I’ve been living in HTML5 / Javascript for the past year or so, but I kinda like Lua and I love Codea - It just keeps pulling me back.

I was contacted by some of the Gideros team when the decision was made to go open source (basically they ran out of cash), and despite a lot of noise at the start, I’m not sure what (if anything’s) changed - I know I didn’t really have any time to commit to further development :frowning: . Gideros was an excellent system and deserved to do a LOT better, however Codea is just soooo easy and so much more convenient for hacking on the daily communte on the train with a Bluetooth keyboard and at lunch times with AirCode.

@Ignatz - I’ve seen the code and I was intending to reference it (build it in to my own mesh based sprite library), I was just curious to see how @Serapth’s version would differ (if at all), but thanks for the heads up :slight_smile:

@Crumble Im really intruged by iDraw. So far I’ve been in the dark as far as getting art into Codea. I’ve set up dropbox and all that and got it working. How easy is it to move over your art from iDraw into Codea? Can it upload straight to dropbox? Its a pricy app so I wana see what you guys think of it.

I’m actually going to do a post directly about iDraw, but I can answer your questions now.

Depends on what you mean by directly. Can you save directly to Dropbox, no. You can export to Dropbox from within iDraw. Yes. So it’s a two step process, but one that takes all of 30 seconds, plus upload time.

It’s as easy to get your assets from iDraw to Codea as any art package on iPad. Additionally, in addition to raster formats ( JPG and PNG ) you can export as vector ( PDF ), and load it into Codea with a single line. The advantage to exporting as Vector is then your graphics are basically resolution independent. In a world of Retina/non-Retina devices, that’s a pretty handy ability.

@Serapth - just wondering have you done any tests to see what rendering performance is like using vector (PDF) vs raster images. Does codea actually render the vector elements (paths, rects, triangles etc) in a triangle list or does it rasterise them first, and how does that compare to batching your sprites using your own mesh functions?

@TechDojo – Not really. I played around with a half dozen vectors on screen, but that’s as far as I pushed it.

I am looking at compounding vectors ( making a sprite out of pieces ), so I really should test the performance. I would guess Codea rasterizes them internally for rendering, so I would assume the performance would be similar to sprites, but I suppose I should really check. Also check the effect on scaling on performance.

Ok, I did some testing ( I’ll post code later ) and performance certainly is something to be aware of.

I found drawing about 250 vectors brought an iPad Air to 30 FPS, while it could handle 100-150 at 60FPS. My contrast it takes about 1000 pixel spite calls to cause the same performance drop. Additionally scaling the vector on render has no negative effect on performance.

So yeah, it’s about 1/4th the speed, at least in the crude test I did. I’m assuming there are optimization a you can make.

@Serapath By the way, you should increase the volume on your next videos. I don’t know if its just on my end but I have trouble hearing you with the volume turned all the way up.

I don’t know the technical way to say this, but can iDraw create an image that doesnt have a background? So far I havent found a way in other art programs to stop it from filling in the image size with a white backdrop which really limits what I can make.