About Spiridios (twitter: @spiridios)

Spiridios is a Software Developer in Redmond, Wa who likes to try his hand at making games now and then.


Ludum Dare 27
Ludum Dare 26
Ludum Dare 23
Ludum Dare 17

Spiridios's Trophies

Spiridios's Archive

Snap Enocunters – what I learned from the experiment

Posted by (twitter: @spiridios)
Wednesday, August 28th, 2013 11:20 am

Could the theme “10 seconds” be interpreted as 10 individual seconds? Could a game be made where something interesting could happen inside of 1 second? From those questions came Snap Encounters, an RPG with no RPG elements due to lack of time.

Was the experiment a success? Feedback so far is pretty unanimous: 1 second is too short to make a real decision and there’s too much text.

Too Much Text
Since this is a story-based game, that’s like saying an FPS has too much shooting. Since reading is a free action and isn’t timed, I’m not sure this is a valid criticism or just an issue of wrong target audience. I can certainly tweak it a bit since my writing does tend toward verbosity.

1 second is too short
As implemented, a player must examine the 32×48 pixel encounter creature, examine their two 48×48 pixel choices, interpret all that, and pick a choice appropriate for the encounter. All within one second. Since there’s no HP, making the wrong choice means you die and have to slog through the same encounters all over again (or give up and go play a more fun game).

How To Fix
I think 1 second can still work, but there needs to be a lot less for the player to process for each encounter. My tentative idea is to remove the randomized choices entirely. For each encounter you get the same three choices: fight, flee, or fraternize. The tutorial part of the game will teach these to you, so that by the time you need to make a snap decision, all you have to think about is “oh, that’s an ogre and I’m level 1, RUN!” instead of “That’s an ogre, my choices are, uh, let’s see. Oops, too late, I’m dead.”

Also, the sting of making a wrong choice will be reduced when the RPG elements are introduced. Instead of “oops, I gotta go through all that again?” it’ll be “ouch, I hope I find a health potion soon.”

Play it!
If you want to see how hard making a decision in 1 second really is, go play Snap Encounters, it’s HTML5, so should run just about anywhere that has web and a keyboard.

Quick, some progress!

Posted by (twitter: @spiridios)
Sunday, August 25th, 2013 12:11 am

It’s just after midnight here so there’s 18 hours to go! I have two of my ten required encounters in. The encounters are hard to get a screenshot of since they only last 1 second, so here’s a shot of the title screen. Yes, I know the text is a bit hard to read over the trees. That’ll be fixed… Time permitting.

Snap Encounters Title

Snap Encounters Title

Oh, seems I failed to say “I’m in”.

I’m using C#/XNA, SpiridiEngine, with a port to HTML5 via JSIL after compo end. The game code itself is pushed periodically to bitbucket in case my desktop burns down, takes my file server with it, and I have to continue working using only my underpowered laptop.





Limited Vision as Minimalism

Posted by (twitter: @spiridios)
Thursday, May 2nd, 2013 10:43 pm

When I thought of minimalism, I thought of removing the entire visual experience and leaving only sound – essentially making you blind. It turns out I wasn’t the only one who thought of minimizing graphics to near non-existence without going the text adventure route. Here’s a rundown of the games I’ve found so far in which limited vision play a role. Feel free to link in the comments more games in which limited vision is a mechanic, I’d love to play more takes on this!

Conversion Converted (to HTML 5)

Posted by (twitter: @spiridios)
Wednesday, May 1st, 2013 10:40 pm

Many many thanks go to Kevin Gadd for implementing panning support in JSIL, despite my feeble and failed attempts at implementing it myself. And not only doing it, but doing it in three days! You can now play Conversion in Chrome at least. It may work in Safari (I do not have a Mac to test it on). It does not work in Firefox.


So for anyone who skipped this amazing(ly short) audio experience because it required Windows and XNA, go rate it now! Unless you’re a diehard Firefox or IE fan who refuses to use any other browser, then, err, have a puppy.

Conversion – Post Mortem

Posted by (twitter: @spiridios)
Tuesday, April 30th, 2013 1:52 pm


I wrote a game titled Conversion, after the condition known as Conversion Blindness. You cannot see, so you must complete the game using only your sense of hearing and sense of touch. It’s minimalist by reducing your senses and distilling the environment down to the remaining senses. The game is intentionally vague about what’s going on in an attempt to immerse you in the confusion of someone who just had a traumatic event trigger blindness.

That’s already a bit of a spoiler, so if you don’t want to be spoiled further, go rate Conversion and come back. We’ll wait.


You feel a wall and stop moving

Posted by (twitter: @spiridios)
Saturday, April 27th, 2013 6:58 pm


It’s almost halfway and and my game logic is kinda sorta there. I just got done recording a pile of sound effects, since the majority of my content is audio in nature. I need to sort through them and edit them and then I can actually get into the meat of the game.

The biggest disappointment so far has been JSIL. I tried using XNA’s positional audio, and JSIL didn’t like it. Luckily neither did I as it wasn’t giving me an effect I thought would work. I implemented my own positional audio using just pan, volume, and math (thanks Serilyn for knowing trig better than I). Unfortunately JSIL hasn’t implementing panning either, so for right now this game will strictly be a Windows game. :( I’ll try to use the porting provision to see what’s involved in getting panning working so there’s a javascript build too.

Potato Massacre!

Posted by (twitter: @spiridios)
Saturday, April 27th, 2013 3:07 pm

Something horrible is happening!!!

Potato Massacre

Something horrible and delicious!


Posted by (twitter: @spiridios)
Saturday, April 27th, 2013 10:26 am

I’m trying to make an audio-centric game, but XNA’s positional audio doesn’t work like I had hoped it would. Plus, it’s not JSIL supported so no web version. Pondering faking it with 2D audio so I can control more aspects of it and get JSIL support.

Here’s a screenshot of the only screen that’s not developer-only at this point.

Spiridios Screenshot1


Posted by (twitter: @spiridios)
Friday, April 26th, 2013 10:25 pm

Argh, what an awful theme….. Except, I’ve got an interesting concept for a game. Dunno if I can pull it off, but I’m actually excited.

Potato – The Vote Getter

Posted by (twitter: @spiridios)
Tuesday, April 23rd, 2013 8:32 pm

Potato’s results are in:

12. Potato Votes for: 1086 Votes neutral: 204 Votes against: 1311 Total votes: 2601

Whether you voted for potato, voted against potato, or voted meh potato, potato has the most voter turnout for any theme in Ludum Dare history* Long live/Death to/I don’t care about Potato!


* well, technically I only looked back to LD 21, but back in those days we’re only talking a few hundred participants rather than thousands.

Declaration of library useage

Posted by (twitter: @spiridios)
Tuesday, April 23rd, 2013 4:11 pm

I declared my in-ness a couple weeks ago, but I still need to declare my library usage:

Also, I guess I should throw fuel on the potato pile. Uh, potatoes contain poisonous solanine when green, have a famine named after them, can be used as ammo in cannons, and are starchy. Potatoes are extremely dangerous and should be banned! Therefore, potato is a wonderful theme for LD!

Who’s the DS9 fan?

Posted by (twitter: @spiridios)
Friday, April 19th, 2013 9:28 am

I’m running through the Slaughter and I notice a pattern:

Maybe I’m just showing my own biases by noticing a pattern here….

(Edited to add another that just showed up)
(and another)
(and another)
(some more)

LD26 – in or in

Posted by (twitter: @spiridios)
Wednesday, April 3rd, 2013 12:44 pm

So I see the stream of “I’m in” posts increasing as the date approaches. I guess since I already requested Jam-Monday off from work, I should declare. I’ll be in the compo. Unless I’m not, then I’ll be in the jam. Unless I’m not. Failure most definitely is an option, for if I don’t make the deadline, I still come out better than I started. Disappointment is temporary, improvements to skill and design are permanent.

I’ll be using XNA (shush, I’ll port to HTML so you don’t have to install it) plus a library of helper code (sprite handling, collision handling, tile map rendering, etc) I’ve been working on for a while now. I’ll declare the library later, as I’m actively developing it as part of another game. Offline tools include GIMP, Tiled, autotracker-bu, bfxr, OpenMPT, and whatever else I find I need as I go.

Not Sure What Went Wrong

Posted by (twitter: @spiridios)
Monday, December 17th, 2012 11:15 pm

End Level Boss Failed

What it is

This is what was done by 3 hours after Jam closing. You can spam the “3” key (no other key does anything) and lightning enemies will spawn at random locations and swarm the Goat Ship. The Goat Ship will attempt to target the nearest enemy until it’s dead, then target the next enemy, and so on. Since the lightning ships can’t actually shoot lightning yet, you pretty much have to spam enough up them to overwhelm the firing rate of the Goat Ship (4 shots a second). The 10 in the upper left corner is the number of enemies that are currently being tracked (two are in the process of exploding). There needs to be around 40 to overwhelm the Goat Ship.

What it was supposed to be

The bars at the top of the window are different kinds of energy. You press the corresponding number key to spawn an enemy that uses that kind of energy. If the enemy damages the Goat Ship, you get more of that energy back for your bar, allowing you to spam more enemies of that kind or allowing you to save that energy up for the final battle.

In the final battle, you are the end boss. The end boss moves around the screen in a pre-determined or random path (the player has no control over this) and you can use your energy stores for attacks. Only the end boss can kill the Goat Ship.

What went wrong

On theme night I lost 6 hours due to not coming up with an idea that I thought was completable in 48 hours. My initial idea was a platformer where you’re the end level boss (very similar rules to those stated above), but I thought a platforming AI would be a bit beyond my ability. It wasn’t until nearly midnight that I realized the idea could still work so long as I didn’t have any pesky platforms to have to jump around.

The next two days development was pretty slow. I did get a decent amount of content done. I spent entirely too much time playing with autotracker-bu and Open-MPT (generated approximately 50 songs), and though I’m quite proud of my pixel art, it took me a while to get it done. Most of the real hardcore development occurred after the compo deadline and during the final jam day. But that just wasn’t enough time for me to get through all the little oddities I hadn’t expected to come up. In hindsight, nothing really sticks out as something that tipped the failure point though.

What I’d do different

I don’t know if I could do anything different about theme selection – if inspiration doesn’t hit you there’s not much you can do short of just going with a bad idea. But once I had an idea, I should have got the core mechanic in without any assets. I wasn’t very motivated this weekend, and having something in front of me moving and playing is one of the best motivators. While I had a Goat Ship in the game on Saturday and the lightning ships in on Sunday, they didn’t do anything in game except animate in place until late Monday!

End Level Boss

Posted by (twitter: @spiridios)
Sunday, December 16th, 2012 1:42 am

It’s the end of day one here (well, technically the start of day 2). Only a bit more then 17 hours left, and I’m about to dedicate 8 of them for sleep. I’m pretty far behind, so this may end up being a jam game. Right now what you see is pretty much what’s there. No gameplay at all.


The AI will pilot an oddly shaped ship and you’ll be the end-level boss that the AI has to fight. We’ll see how much of the core mechanic gets in.



I’m still in

Posted by (twitter: @spiridios)
Friday, December 14th, 2012 6:51 pm

I said I’d be using some 2d library code I wrote. I also have a skeleton “Base code” that just gets a screen on, err, screen. I’m only posting this now because up until now I was still adding basic features like animated sprite (which doesn’t work yet!)

SpiridiEngine (don’t look at it. It’s an awful conglomeration of code written in past Ludum Dare’s)

BaseCode (It uses the engine, so it’s just as ugly)

[cache: storing page]