Aquaria source code released

  Like Gish (and Penumbra and game called Lugaru) before it, the source for Aquaria was recently released. Unlike Gish however, with its quite horrible C, Aquaria is written in C++ and the code base looks to be in great shape! It is also quite a bit larger and more difficult to understand in some ways, but that's them deals.

 It's interesting comparing the two games, codewise. Aquaria can be studied for how a modern (but smallish) game looks internally; class hierarchies ("Quad", "BitmapText" is-a "RenderObject"), state-machines, rendering-layers, shaders and speciall effects like bloom. Gish should probably not be studied in the same way, but remembered for the lesson it teaches us about how you can reach a goal with lesser means. Is Aquaria more fun than Gish? I don't know, I haven't played either, but there's probably no strong correlation between good code and fun game. That said, if you can, I say you go for good code :-)
 
 The one thing I'm missing with these releases are documentation. Especially for Aquarius you'd think there were some architecture- or design-notes that could make the release? Speaking of which, I think these developers could probably more than double their income if they'd released their games together with a book about their development and architecture. Game development is hot now, and I think that kind of book -- where the core is an honest-to-deities commercial game -- could sail the charts quite nicely.

 Don't think I'm underestimating the effort though. I know it's a huge investment (primarily time-wise) to write a book. I'm just saying I think there's a market here which no-one is satisfying. The first one to make that investment could find himself handsomely rewarded.
 
 I'm saying that because it's what I've been thinking about doing, writing a simple game and documenting it while I'm doing it, then cleaning that up into a book (probably a free one though). I've always found that kind of "okay, so this is how I did this..." material super interesting.
 
 I'm never going to get anything worthwhile done though, so no, don't wait around for that. Tell you what, just pretend like you never read that last sentence.

Anyhoo... Here's a trailer forAquaria (with game-play):

Start the Conversation
2 Comments
Posted by eloj

  Like Gish (and Penumbra and game called Lugaru) before it, the source for Aquaria was recently released. Unlike Gish however, with its quite horrible C, Aquaria is written in C++ and the code base looks to be in great shape! It is also quite a bit larger and more difficult to understand in some ways, but that's them deals.

 It's interesting comparing the two games, codewise. Aquaria can be studied for how a modern (but smallish) game looks internally; class hierarchies ("Quad", "BitmapText" is-a "RenderObject"), state-machines, rendering-layers, shaders and speciall effects like bloom. Gish should probably not be studied in the same way, but remembered for the lesson it teaches us about how you can reach a goal with lesser means. Is Aquaria more fun than Gish? I don't know, I haven't played either, but there's probably no strong correlation between good code and fun game. That said, if you can, I say you go for good code :-)
 
 The one thing I'm missing with these releases are documentation. Especially for Aquarius you'd think there were some architecture- or design-notes that could make the release? Speaking of which, I think these developers could probably more than double their income if they'd released their games together with a book about their development and architecture. Game development is hot now, and I think that kind of book -- where the core is an honest-to-deities commercial game -- could sail the charts quite nicely.

 Don't think I'm underestimating the effort though. I know it's a huge investment (primarily time-wise) to write a book. I'm just saying I think there's a market here which no-one is satisfying. The first one to make that investment could find himself handsomely rewarded.
 
 I'm saying that because it's what I've been thinking about doing, writing a simple game and documenting it while I'm doing it, then cleaning that up into a book (probably a free one though). I've always found that kind of "okay, so this is how I did this..." material super interesting.
 
 I'm never going to get anything worthwhile done though, so no, don't wait around for that. Tell you what, just pretend like you never read that last sentence.

Anyhoo... Here's a trailer forAquaria (with game-play):

Posted by eloj

A description of porting Aquaria to the PSP. Most important point is to be careful about using the  STL if you want to be abple to port to a mobile device. I'd probably stay away from it entirely for a game targeting mobile devices. Custom memory allocators are alive and kicking in modern games. Some different schemes are discussed in the book " Game Engine Architecture" by  Jason Gregory, who is/was a programmer at Naughty Dog.