October Challenge 2014
Ends in:

Coming Soon:
Ludum Dare 31
December 5th-8th, 2014

*EST: 9 PM
UTC: 02:00

ConstructionPlease excuse the site weirdness. Mike is making and fixing things. Clocks are probably wrong. Colors are place-holder.

Ludum Dare 31:
Ludum Deals
MiniLD #XX

Posts Tagged ‘seagaia’

Naos – LD23, A post-mortem. Crosspost with wordpress

Posted by (twitter: @seagaia2)
Wednesday, April 25th, 2012 3:12 pm

Crosspost with my wordpress –


This past weekend I made a game, “Naos”, for Ludum Dare 23, around the theme “Tiny World”. If you haven’t played Naos yet, you should do so now, the blog post will make more sense.

The sound.

Aesthetics were very important for me in this jam game. So I tried to pick carefully what kind of music I wanted to write. The game wasn’t supposed to represent a wholly realistic thing, so the music sort of reflects that in a haunting/minimal way (the organ-like house loop, the chime-like thing in the forest). The more action-like piece at the cliff helps to show that there is some action going on there (i ended up redoing this one the most…). As for the intro/ending thing…I couldn’t really think of a fitting melody, so I added some fancy-ass white noise that I thought fit.

I like the chimes piece the most, and would like to expand upon that. I feel like part of it was definitely influenced by listening to the Fez OST ( )way too much over the weekend – especially with the bitcrushing it uses, which I felt I may have overused in a place or two. Two pieces in particular I found salient were Spirit and Nature. Seagaia – Songs from Naos (Ludum Dare 23) by seagaia

Graphics style…WHY? MY EYES!

Admittedly the game’s blur was a bit much. I did think it suited the quiet/haunting/ethereal-esque nature of the game, though. I wanted to try the scribbly style. Spending more time would have of course improved…well, everything. In a normal setting they wouldn’t be that rushed, I’d use a tablet, etc. Right now, it looks just good enough to not seem completely sloppy. (But is, still, of course, sloppy :P )

I was playing a lot with BitmapData objects in AS3 (surprisingly for the first time…why? I don’t know…but now I’ve got a level of comfort). They more or less represent what will be drawn to screen. And you can do interesting things like pull out certain color channels, transform them, and superimpose them on the original graphic. Or, you can blur things at different levels. The way I did blurring wasn’t ideal, I surely could come up with a more plug-and-play way of doing it, rather than the somewhat terrible way I have now (at least it’s organized terribly), which was to copy the sprite’s data, and keep some external data that determines how much to blur it – essentially, I have a copy of the data – I copy it to the displayed sprite, blur it, draw that to the screen, etc. The same idea goes for the color offsets. I played around until it looked okay.

I also played with a new logo for Seagaia today. It shows up on the intro screen. I like it. It’s a bit of a rip-off from. It was fun to make, at least the top part. There’s this nice thing in GIMP where you can copy and paste every other row, and then you make it a bit transparent, modify it a bit and superimpose it to get this neat shadow-y effect.

oh so how was the coding

Straightforward for the most part. Every room was a different state, with its own events and so forth.

Became an ugly mess near the end with the event coding since I haven’t figured out a nice way to do events with flixel yet…want to definitely figure that out. I’ve been asking around a bit, but not much in the way of detailed cutscenes. x_x

Since I already talked about the graphics coding, the only really interesting aspect was the events. How do they work? Well, for one, it helps to draw a tree of your dependencies with state variables. For example, “E_CLIFF_2″ represents the 2nd cliff cutscene, “DRAWING_1_DONE” represents finishing the second drawing. And so every iteration of the game loop, depending on what screen we’re in, we check to see if we need to start an event. Essentially, events just freeze character controls, and wait for some condition (my player’s x being at some point, pressing x to advance text) to occur. Each event has an “event_pos” variable that is incremented when that condition is true, bringing the event to the next part (text, movement, whatever).

While this method works for a game jam, it doesn’t really scale well (see the other game I’m making) when it comes to moving many sprites that you don’t want to have to hard code into the game…and it’s a bit hard on the coder with the repetitive switch statements (see. JEEZUS.)

An interesting bug resulting from this was that I didn’t nest one of the “if you press x increment the event counter” things deep enough, so if a player pressed X before they should have on the forest screen, you would be frozen when you actually pressed X over the right thing. Thanks to my friend Runnan for showing me that issue…gah!

One way this could have been done better is to have only checked for events once upon entering a screen, or have had some single “an event happened” variable to be checked, rather than all of these conditions on every iteration of the game loop. While this is okay because performance didn’t really become an issue here, it would be something to think about in some sort of later implementation.

so what the hell was this about?

it’s a secret! well, a few people have messaged me on NG about it, surprisingly. My interpretation of it is more or less solidified, but it’s interesting to see other people’s takes on it as well. In lieu of not looking all pretentious, i won’t write about it here. but if you’d like to know, shoot me a message.

that’s all for now.

if you found this interesting, you should follow me on twitter .

Naos – A few samples of the music

Posted by (twitter: @seagaia2)
Saturday, April 21st, 2012 10:19 pm

I felt somewhat ambient tracks would be fitting for my game this time around. I’ve been listening to the Fez soundtrack way too much, and that’s been a large influence (thanks disasterpeace!)  so that i decided to attempt using the whole bitcrushing and downsampling style. These are some rough cuts of the loops that play. I use some random bitcrusher vst I found, and then this sega genesis soundfont for the vibes/other synths.


the song that plays in the cliff area

the song that plays in the forest area

“Naos” – a game about whatever

Posted by (twitter: @seagaia2)
Saturday, April 21st, 2012 6:06 pm

Why Naos? Well, I like the sound of the name. It’s a star name or something, so you can probably find some deep etymological meaning if you’d like.


Anyways, the game. You basically walk around, enjoy the sights, and make little pictures along the way.


Okay, elevator pitch description aside:


The game is part story. A guy gets fired, friends gives him advice to go spend time somewhere else. So, he goes to the woods for a few days. There’s not much to do there, so he’ll have to figure something else out. He’s a pretty boring guy, too. Luckily, there’s a woman in the woods for some reason, and she shows him that he can paint – and that’s where you come in! Using some sort of interaction you get to “paint” on a canvas or whatever. I don’t know. I’m hoping people can find some satisfaction with getting to make something while playing a game.


This game doesn’t make much sense to me either, but it’s been a lot of fun to make because I’ve been messing around a lot with combinations of blurs and color transforms, and playing with this “scribble” art style as well. I’ve been wanting to figure out a way to make user interaction produce something semi-interesting.


How does it relate to “Tiny World”? Well, I don’t really want to explain, but a way you could start off on doing so is by interpreting “Tiny World” as the worlds we usually inhabit being, well, quite tiny! But the tiny-ness isn’t necessarily a bad thing, no matter where your tiny world may be. To be honest, trying to say that’s what my game is about would be quite pretentious. I mostly just want the game to be a pleasant experience.




[cache: storing page]