Codea Game Design (or the Ignatz ebook that I wish I had)

@Ignatz , thoroughly enjoying your ebooks - any recommendations on posts here on Codea Talk regarding overall game architecture (i.e. going about designing the structure of a game, the different classes, etc. for a ‘typical’ game - if such a thing exists)? A good book recommendation on the topic (even if not directly related to Codea)? I’m not new to programming, but do need some guidance on planning the structure of a larger game project.

This book is excellent:

My advice is: be eclectic. You read a lot of quasi-evangelical blog posts with titles like “inheritance is evil and must be destroyed!” (I think its meant to be a deliberately OTT, tongue-in-cheek title, but some people do follow it) but there’s no reason at all to be “pure” and only use one pattern. The real trick is being flexible and knowing when to reach for a particular tool.

I think all the usual programming guidelines also apply in Codea, so any good book should help you.

Where Codea is different is in its draw cycle, which can cause people problems when managing game states, eg initial menu, settings, playing the game, end of game screen, etc, and how you manage all these from your draw function. There have been some threads on this, and I posted something recently on my blog about it.

Also, because your debug options are limited (printing out values or trying to figure out visually what the mess on the screen means), it pays to test frequently and keep functions small and focussed. I usually keep a test tab in my projects for testing new bits as I add them.

@iam3o5am If your looking for a book in general I would recommend.

Game Coding Complete by Mike McShaffry and David Graham, its an excellent read for developing commercial quality games from scratch in C++ :slight_smile:

For a common approach to structure I would also suggest researching “Entity Component System”. Theres some good in depth info here:

I’ve also written something like it for Codea which is intended to help structure a larger or any size project.

Thx @ignatz and @XanDDemoX - i’ll check out the links :slight_smile: