sgstair

LD11

Likely Entering

Hi all,

I’m not exactly new to LD, but it’s been quite a while. I’m planning to enter LD11, and I have some interesting ideas up my sleeve :) I’ll be writing all my code completely from scratch, using Win32 -I have a lot of experience doing this though, so I don’t think it’ll be a handicap.

I’ll also be recording a time lapse video of my progress, which might be amusing to watch afterwards – Good luck everyone (you’re going to need it :P)

Tags: code, LD #11 - Minimalist - 2008, omgtags, timelapse, win32

Comments

TenjouUtena
17. Apr 2008 · 10:35 UTC
Can someone enlighten me on the process for doing the timelapse thing on windows? I know how to do it on Linux….

Motivation!

skillz are lacking

my lazy attempt at motivation :)

Tags: motivation

Desk and food, 6.5 hours to go

So here’s what my very messy workspace looks like, I took a photo last night to document it.

sgstair’s desk for ld11

And a gratuitous food shot (ham and cheese is popular)

sgstair’s pre-compo foodstuffs.

I’m getting very excited about this :) I’ve got some interesting ideas and am eagerly awaiting the compo start!

Tags: deskphoto, foodphoto

Ah Minimalist

So, I had a premonition that this theme might win, and have been thinking of games that would work well in it. Not going to reveal much yet but I have a very clear direction and I’m looking forward to being able to put this game together!

So for now I’m going to write up all the things I think the game should do, and come up with some scheme to ensure they all get done. Onward!

Tags: game, ideas, minimalist

First visible progress

Alright, so after much working on backend stuff and much slacking off I have enough of my system in place to render stuff! Behold my lines of doom, and tremble! Well, not really. More to come soon though

sgstair - ld11 - wip1

As it turns out I hadn’t eaten in a while and that was making it hard to focus and continue; but pasta to the rescue!

sgstair - food! - spaghetti

Mm, breakfast [while everyone else is] in bed. I’ve got most of the core graphics engine design issues resolved for now; proceeding blindly ahead to get the rendering code I want now, and then I’ll be building gameplay.

Tags: foodphoto, journal, LD #11 - Minimalist - 2008, progress, screenshot

WIP (2)

So, I’ve worked a bit more and implemented some more backend stuff and some hacky quad rendering. If I have time, I’ll replace it with an antialiased version later. Why software rendered? Well, mostly because I’m a bit crazy, but there is another reason that will become more clear later 😉

sgstair - ld11 - wip2

I think I might try to get some sleep pretty soon- Remember; sleep is for the weak!… and we’re all just weak. …weak… puny… humans… won’t deserve to live when the robot uprising comes 😛

Tags: journal, LD11 - Minimalist, screenshot

Elementary Chemistry

So, I got some sleep, but forgot to take the sun into account; and since it got a little warm outside, it got pretty annoyingly hot in my nice insulated room full of computers. So I’ve been not getting much done. I did however take the opportunity to examine the following chemical reaction in detail; Here are the reactantssgstair - food - chili (before):

And with the judicious application of heat, and careful attention, you can expect to see results such as the following:

sgstair - food - chili (after)

I must say that this specific reaction does take a lot of time and effort to ensure success; But the results are delicious, and certainly worth the effort.

Now,  my game’s tech is still done, it’s severely lacking in gameplay though. So that’s what I’m doing next :)  Then I’ll even post a screenshot!

Tags: foodphoto, journal, LD #11 - Minimalist - 2008

Now getting somewhere!

I’ve been pretty secretive, not wanting to show off my tech, but it’s occurred to me that it doesn’t really matter that much; So, here’s the current status of my game:

sgstair - ld11 - WIP 5

I’m very happy with the tech, it’s performing admirably with even dozens of  sprites on my system – I’m basicly making an asteroids game, but  I think this counts as minimal (it’s so minimal it doesn’t even have a background, ha!) – Just finished the majority of the asteroid code (creation / movement / collision), and I’m now going on to make a ship and a way to shoot. Which I expect won’t take too long. I’m expecting to complete sound effects but I don’t think I’ll get to music.

Tags: journal, LD #11 - Minimalist - 2008, screenshot

Comments

20. Apr 2008 · 07:22 UTC
That’s pretty neat, running on top of the desktop
phren
20. Apr 2008 · 07:33 UTC
Woah, very cool idea!
sgstair
20. Apr 2008 · 07:42 UTC
the “stuff on desktop” has been a bit of a pet project for me, I don’t get to do as much with it as I’d like, so this has been an opportunity to do something really interesting with it :)
Dathgale
20. Apr 2008 · 08:16 UTC
Ah, creative. It has almost the feel of a hologram the way it floats in front of everything without clearing the screen. Can you still interact with the desktop while playing?
sgstair
20. Apr 2008 · 08:30 UTC
Yes, it’s using “Layered windows” – so everything on the desktop continues to update. The individual “sprites” are actually windows, so they can be clicked on (right-clicking on them is the way to exit in this build :P) – I’m going to add a context menu and try to make it pause when you switch to something not in the game.

(edit: layered, not overlapped – starting to get tired…)

“Desktop Rox” final

Ah, I’m done. I wish my entry were more polished, but I’m pretty happy with what I’ve managed to accomplish.

sgstair - ld11 - final “Desktop Rox”

Desktop Rox is an asteroids-like game, which was based closely off an idea I wanted to play with, specificly rendering the game on top of the desktop, rather than in a window of it’s own. In hindsight, it took a lot of time to get  all of the lower level rendering functionality I needed, so I wasn’t able to complete it to the level I wanted to. And, while I still have time, I’m really in no shape to be doing anything else with it at the moment 😛

Next time I will assemble/write some sort of library to reduce the workload, but for now I’m very glad I finished a game, and that it’s actually pretty entertaining to play – and it’s nice that the core design isn’t that bad, I’ll probably refactor it and stash it somewhere for future use. It was very rushed however, many things I wanted got left out completely or half supported and not really doing anything (sound, antialiasing, multiple rendering modes) and the UI is a very very hacky job (hope you can read the font)

Download the game (and the source) here: http://akkit.org/ld48/desktop_rox_final.zip
Also, if that one runs too slow or doesn’t work, I have a test mode build that you may be able to use in this archive: http://akkit.org/ld48/desktop_rox_final_alternate.zip

Tags: final, screenshot

Timelapse video

I’m alive! I expected otherwise! And, as I begin the early stages of my undoubtedly slow recovery, I will first post the timelapse video I recorded:

And, in case that doesn’t work or you want a higher resolution: The original, 720×480 Xvid w/ mp3 audio, 76.21MB

Tags: LD11 - Minimalist, timelapse

Comments

HybridMind
21. Apr 2008 · 16:00 UTC
all these timelapses are great. In a lot of them, whenever you all take breaks it appears as if your ‘code’ streams by at various speeds. I have seen this in a bunch of these timelapses… is this some screensaver you all have? A ‘code scroller’ ? 😉
PoV
21. Apr 2008 · 19:29 UTC
Hybrid – It’s IRC. :)
sgstair
30. Apr 2008 · 17:53 UTC
re: Hamumu (if you see this)

I don’t actually leave my monitors on all the time; they’re usually set to go off after 5 minutes – but for the purpose of the timelapse being interesting, I disabled that over the 48h :)

LD15

Planning to enter LD15

So, I’m very excited, it’s been a few (last was LD11), but I am planning to enter LD15 now – Currently throwing together a C++/win32 lib that I’ll be using for my entry (will release wed or so), and working on a new display app for timelapse v2.0 >:)
Looking forward to it!

My Last-Minute LD15 Library

In the interest of not starting -completely- from scratch this year (as I’m very much a from-scratch enthusiast), I’ve put together a very basic win32 rendering and audio library, in the hopes that I’ll be able to easily extend it and do what I need to during the competition. The code isn’t 100% complete (I ran out of time), but this should be a step or two above what happened to me in LD11, when I spent half my time just getting rendering to work :)
This includes various gems as a C++ template driven generic triangle software renderer, and super-easy desktop rendering support.

For your enjoyment, my LD15 library code / win32 binaries:
ld15_lib.zip

Desk pic

Everyone will want to know what my workspace looks like!
I’ve actually moved since LD11, so things have changed around quite a bit – I’ve found an arrangement that works well for this new space though, and have set up my additional stuff for LD15 :)

See desk: (uber-high res if you click)

ld15_desk

Tags: deskphoto

Comments

29. Aug 2009 · 00:16 UTC
the beaker as a drinking glass is insanely cool
29. Aug 2009 · 00:20 UTC
Glad you noticed; yes, this was the point 😉

Cavernous caverns

I’ve spent some time thinking about this, and now a bit of time coding – I came up with several ideas but ultimately thought the most doable and flexible one is the idea of exploring caverns.
To that end, I’ve started putting together an engine to procedurally generate a cavern. Once I get a bit further I need to answer some additional questions like “Will I tack on a collecting minigame or RPG elements to this to give it more depth?”, but for now I have a pretty clear idea of the rendering/generation tech I want to develop, and will just work on that.
I’m not much of a graphics sort, so I’m sticking to graphical elements that will be completely procedurally generated or simply hardcoded in a geometric way.
As such, my entry will be called “Cavern Ghost” :)

Cavern Ghost first screenshot

Ok, a lot of fundamental stuff out of the way, I’m now going to dive into getting my procedural cavern generation working.
But in the meantime, I took a screenshot of my current progress:
ld15_progress_1

Multiple caverns!

I’ve built a cavern generator, and then put together a simple space partitioning thing to fill a world with caverns :) Next come the interconnects between caverns!
Here’s a shot of what it looks like – this is a lot smaller than it will be, the world is only 800×800 pixels in this image. The procedural generation will produce approximately the same set of caverns regardless of scale though – I’m pretty proud of it.
(I’m using my desktop rendering windows for debug windows in this entry 😛 ah well, maybe next LD will give me an opportunity to use them to their full potential)
ld15_progress_2

Throwing the dogs a bone

Hi!
So, this has been going pretty well, I think. I’ve pieced together something reasonably interesting and playable – while not really constituting much of a game yet, I think I have time to remedy this.
I’m uploading an exe here if you would like to check it out, please let me know what you think :)
Given that I have almost a full day left, I’m intending to add gameplay of some sort, integrate my audio lib, and revisit the cavern graphics, hopefully make them more cavern-like.
Download: ld15_CavernGhost_1.zip (Win32 Binary)
Screenshot:
ld15_progress_3

Finished! With 45 minutes to go

I got my entry far enough “done” to submit, and have kicked it off – not to be touched again :)

So this competition has been rather entertaining this time around – I didn’t have any real solid ideas for what sort of game to make so wound up with something not really very game-like; I’m pretty happy with it though – the tech is good; the game could have been better, but ran out of time and motivation.

I’ll probably post a proper postmortem within another day or 2, but need to do something other than the computer for a while now :>
See you all later

Duplicating combo submission stuff:
Download: Win32 Binary | Source
ld15_progress_4

Timelapse!

I tried to make the timelapse app better this time, but only managed to rewrite the features I had last time – ah well. Next time it will be better, really!
If nothing else, the current framework can be extended, whereas the previous one was rather very hacky.

Here’s my timelapse video:

Tags: timelapse

Comments

afterthought
31. Aug 2009 · 06:23 UTC
Love the setup you have for the video
31. Aug 2009 · 08:13 UTC
Oh man, that status/time view is awesome! What did you use for that?
31. Aug 2009 · 14:02 UTC
Status / time view is a custom app I’ve been developing- At some time I need to make it more usable and release it, maybe next LD :)
31. Aug 2009 · 14:55 UTC
Yeah, I would love to get my hands on it. Is it actually on an additional monitor or was it an overlay on the captures?
31. Aug 2009 · 23:54 UTC
Aha! I couldn’t make up my mind which it was.
03. Sep 2009 · 06:29 UTC
Amazing timelapse video! I love the status update and the clock on the side of the screen! I should do something like that next time :)
03. Sep 2009 · 12:51 UTC
I may be releasing my app for next time 😛 We’ll see how much time I have before then (only 3 months?)
sirGustav
12. Sep 2009 · 15:39 UTC
I’m guessing most of that app could be accomplished with samurize

Cavern Ghost: Postmortem

First off: Many thanks to PoV and phillhassey, and others who donate their time to this event – Seriously, they don’t get enough credit.
LD is great partly because it’s so well organized – thanks to having the infrastructure and so many people involved it’s easy to get and stay excited about the idea – I think this is a major component of the fun in LD, and it wouldn’t be possible without a lot of effort on their part. (besides of course, what fun would going insane be if you weren’t alongside 150 of your closest friends? :) )

So, on to a postmortem of my game…

My project went immeasurably better than my last entry, in LD11; To recap, in LD11 I spent about the first 30 hours building (And debugging) a rendering engine, which didn’t bode well for coming up with anything spectacular in the remaining time. I was also preoccupied with a few other things (including an addictive online game – hah). Ultimately though, I wound up with a minorly neat techdemo type game that was mostly thrown together near the deadline; I didn’t really want to finish it at all really, besides just to have something playable.
This time around, I had most of the rendering code done beforehand (and released in a library) – I didn’t get very tired of working on this project until very nearly the end – it was a very enjoyable experience.

A list of things that went a lot better than I planned:

  • The pre-LD library release
    Having a library of basic rendering / audio code made a lot of the menial tasks of game development a thing of the past; I still wound up having to write some additional rendering code, but it wasn’t a long and drawn out process of debugging to make it work.
    All of the graphics in my entry are in fact procedurally generated or rendered by simple code, there are no art assets (except perhaps the font; that’s a windows system thing) – Having a coherent graphics library helped with this substantially. (I’m not an artist, you might be able to tell)
  • The cavern generator
    In case you hadn’t noticed, the cavern is randomly generated every time you play the game – Most of my effort in this LD went into building this cavern generator; Ultimately I wound up with some simple rules for generation that worked rather well. I had to special case some logic about which caverns are allowed to connect to others, due to some really odd glitches when it was completely random (sometimes a connecting passage would run on top of another cavern somewhere.) – But the end result is really rather nifty; It sometimes builds some insane and highly unusually shaped caves, and it always connects all of the caves together. If I actually had an interesting gameplay mechanic, this would have been an excellent platform to execute it in 😛
  • Other technical things
    I love LD because it’s such a good platform for just trying random stuff out. One thing I did in my entry was to split the rendering across multiple threads – So there’s a one frame lag in the world position, but it’s not noticeable at all in the game. The helper thread renders the cave world to a backbuffer one frame ahead, and then the next frame that backbuffer is copied, and used with the lighting code to composite the final output bitmap. I thought it would be harder but the simple signalling system I used was rather painless to implement, and I guess I’m fortunate that my rendering was simple enough to split off without having to deal with more complex synchronization. So if you’re on a multi-cpu system, you get a slight speed boost from this :) (And I did test that it works fine on single-core systems as well.) Additionally, this second thread performs all of the cavern generation, which leaves my main window thread free to render a progress bar – Having the player wait while the game appears to be frozen didn’t seem like a good idea.

And, things that didn’t quite go as planned:

  • The Theme
    This theme was really the sticking point for me – I couldn’t come up with any gameplay ideas that I thought would be doable in the time limit; And I wound up not picking one to attempt until it was too late to do anything serious. As such, my game has a very simple goal. One of the early themes I came up with was one of “Exploration”, but I couldn’t work out how to fit that into a game without being boring and repetitive. So, I guess you’re free to explore the game world in this game, and if you don’t want to explore, there’s not much to it :)
  • Music
    Hey! I had music! I’m reasonably happy with that. It’s very basic, and procedurally generated (just a set of predefined sequences playing with a random base note)… I just feel that so much more could have been done with this.
  • Rendering speed
    Well, everything is software rendered. I was so happy to use my brand new shiny rendering lib – but it is a little on the slow side (it’s highly generic) – some of you have noticed this, on slower computers. The lighting effect in my game is built using essentially a pixel shader that copies pixels from a backbuffer to the front buffer with some lighting value – It’s rather far from the most optimized way to do this… However, I expect the game will be playable on most semi-modern computers. If I had to do it again, knowing what I know now, I would probably opt to set up direct3d or something, and use hardware rendering for this effect.

Overall, as I’ve said, I had quite a lot of fun this LD, and I think I’ve come up with a number of good points I can improve on: I should probably work to secure gameplay sooner, even if it means trying something that doesn’t seem possible. I should probably expand my rendering library to make it easier to import external graphics, so I won’t be so tempted to procedurally generate everything (Or just build much better framework code for procedural generation)… And all games could use to have more cats in them.

That is all, thank you for your time :)
-Stephen

Tags: postmortem