stuckie

LD11

Getting Ready for LD11

A few years ago I attempted LD5 with the Random theme, and err… didn’t manage to finish :(
But now I’m (hopefully) a much better programmer than I was back then, so let’s have another go :)

Being the crazy person I am, I’m hoping to try and get something with A.I. involved as I’ve an A.I. coursework to write, and this would be nice for it! That said, I need a demo to show off my Honours Project engine anyway, so whatever I make will work for coursework purposes 😉

Speaking of my Honours Project – it’s aiming to be a multi-platform scripted game engine. It’s not finished, but the point of it is to have all game logic run via external scripts ( in this case, Lua ) .. so I shall be finishing this off during LD11 along with making the game. The current engine source which I’ll be using is here -> http://www.stuckiegamez.co.uk/gamez/ludumdare/SGZEngine.7z <- and just to be extra insane, I’ll be writing an OpenGL Renderer into that engine as well this weekend – which I’ll be using rather than the current SDL implementation! ( and you can check my code to make sure at the end of it 😉 )

Default platform is Linux, but I’ll be doing a Windows port shortly afterwards, and possibly porting to any other platform I get my mitts on later.

Now excuse me while I go horde up on food and things, and get set up for the weekend!
Good Luck, Everyone :)

GEvOlve

So there’s about a day and six and a half hours left, and I’ve pretty much just finished up on the game design I’m planning on doing.

I did go to sleep last night ( since it started 3am here in Soggy Scotland ) and didn’t really get up till about 10am.. then had some stuff to do and started a bit of code at about 12:30pm but hunger struck and I decided to go eat instead.Fooooooooood

^ The food and stuff which shall keep me going the rest of the competition 😉 Yay for Tea and Irn Bru!

And since I haven’t done this yet ( even if I am stupidly late with it ) here’s my work desk too:

Work Desk

Yes, that’s a code munkee on my desk 😉 along with rather scary amounts of hardware.

In the next six and a half hours, I’m going to get the GL Renderer in my engine working and hopefully get some basic game logic going! I’m heading for a rather odd AI based game where the player has rather little control over their minions. Each race is a set of geometric shapes ( more than likely just two sides – squares and circles ) with their colour depicting which role they play in their little community – be it Attacker, Forager, Builder or Male/Female Pleb ( which make more little shapes for you when they meet ). Although you can’t directly tell your shapes where to go, you can influence their task in the community. This may get changed later if it just doesn’t work right… but yea the minimalist theme is catered for in the graphics and the lack of direct control you have over the entities running around in the world.

Will give an update when I have something running.. the timelapse video is somewhat amusing as most of today has shown IRC and my screensaver, hehe .. so some editing may need to be involved there 😉

Comments

19. Apr 2008 · 17:43 UTC
Go Scotland!!

Post Mortem of GEvOlve

Unfortunately, I couldn’t finish in time… in fact, it’s still not finished, but I’m aiming to have it finished by Friday ( and certainly by 2nd May as I’m using it for AI coursework now, and that’s when it’s due. )

So, what went wrong?

Point One : My engine was a bit less useful than I had hoped.
It required ( and still does ) extensive amounts of work on to get something done, which scares me as I’ve been working on the engine for most of the year as my Honours Project, and there’s a hell of a lot of code in there, but to get it to do much game logic, it required a lot of work to the Entity classes and managers.

Point Two : The idea was a bit too ambitious.
The idea was that you’d “influence” the development of a community of shapes – the circles or squares. You couldn’t directly control them, but could assign them tasks from their basic pleb-like status to Attacker, Defender or Healer.
Plebs came in Male and Female forms, and hunted out the opposite gender to mate, increasing the population.
Attackers would actively seek out enemy units to attack.
Defenders would actively block enemy units that came near.
And finally, Healers would sacrifice their energy to top up every other unit’s energy.
Once given a task, they could not be influenced again.
Of course, this meant writing AI for each of these tasks as well as a CPU AI for the other player…

Point Three : Hardware Being Stupid
My laptop was being interesting and in the final two hours, it hard locked.
I would have been able to submit a basic version of it – with the Pleb AI running around and doing it’s thing – if my laptop hadn’t decided to bail on me in such a way that it wasn’t until half an hour AFTER the competition finished that I finally got the thing up and running again… by which point I was rather miffed at the thing and decided just to go to bed.

But what went right?
Point One : GL Renderer implemented!
I met my goal for implementing the GL renderer to the engine. Course there’s not much configuration from script side as I was trying to get it done quick to use for LD11, but it’s there :)

Point Two : The Scripting actually WORKED!
This one is a biggie as it’s the whole point of the engine.. there was actually enough exposed to Lua to get the Pleb AI doing it’s thing. There was a downfall I noticed here in that the Lua->C Stack was getting severely hammered which caused devastating performance hits, but that’s somewhat straight forward to fix by getting Lua to handle more data by itself rather than asking the engine to do everything, and requesting co-ordinate data for every entity, every frame, multiple times.

Although I didn’t get anything finished, I still managed to get a lot done in the time.. and I will be finishing the game off :)
At the moment, it’s interesting just to watch the Plebs run around and do their own thing.. Lua does sometimes freak out with the amount of data it’s having to shift, making some of them “explode” and move towards the camera, rather than hunt out another mate. And due to the rather standard C pseudo-random number generator, the majority of the Plebs congregate in the centre of the level somewhat, like a mass of worms.

Well done to everyone that did get something finished in time!
It was amazing sitting in IRC and watching the blog as progress was made on everyone’s projects, and there looks to be a number of really interesting games coming from this.. unfortunately, mine wasn’t one of them, but I’ll be posting binaries and all source by the end of the week when it’s finally finished – just for anyone interested in what I got up to :)

Comments

saluk
22. Apr 2008 · 11:18 UTC
Looking forward to playing with this when you finish!
24. Apr 2008 · 20:17 UTC
thanks for the post postmortem, I hope we all do one, they are fun/interesting to read.

LD14

Little Quirks

So I’ve decided to attempt this mini-LD, even though the last two main LDs I’ve taken part in, I’ve been unable to finish ( LD5 and LD11 )

Hopefully, this time due to it being a miniLD, the rules aren’t completely strict so that if something crops up, I’ll be able to finish it just slightly later.
I’m completely mad for doing this with the amount of work I have going just now, but my concept is quite simple, and so is my art!

So, without further ado, I give you my concept graphics:
Little Quirks Concept

Looking somewhat like “Steg the Slug” rejects, these little guys love climbing around things.
They can stick to walls pretty well and clamber over 45 degree inclines, but as our little red friend in the top right shows – they can’t do 90 degrees.

The colours are important too… but I’ll explain that a bit later once I have something running!

I’ll be using my SGZEngine again, as I did for GeVolve for LD11.. though no adding whole new renderers this time, which should allow me to actually finish it! 😉

Tags: concept, little quirks

End of First Day

That’s the end of the first day and I’ve got quite a bit done.. most of the state machine for the Quirks is complete so they act… Quirky? 😉

Anyway, for a windows binary to see how it’s progressed click here.

Screenshot 2

I also managed to do authentic Spectrum style attribute clash by accident!
I’ve left this in for retro goodness, hehe.. I know what I did wrong too ( my pixel replacement routine goes over the entire screen buffer, rather than the individual animation frame buffer ) so it’s all good.

Basically there’ll be two modes.. puzzle and sandbox.
Puzzle is basically a Lemmings clone, get them from A->B without killing them ( falling from a great distance will kill them! )

Sandbox is a bit more interesting… taking on GEvOlve’s territory again, they breed.. and this is where the colours come into play. Each offspring is a combination of the parent’s colour :) should be good for a random screensaver like thing! Basically, just keep them happy by building them things to clamber over and have them breed. As the puzzle part relies on everything in this mode, this is being done first ( and it matches the rules anyway 😉 )

Hopefully I can get this done for tomorrow night, so till then, enjoy the little quirks running around 😉

Tags: little quirks

Comments

25. Jul 2009 · 21:26 UTC
they move pretty nicely :)

The Half Way Mark…

As I’m going by 48 hours since I started, I have about 20 hours left.

I have hit a problem in that the Quirks’ state machine is rather unwieldy and complex… a better solution would have been doing pixel detection, but my engine doesn’t currently support that ( something I’ve noted down to fix later ) as such, it does a variety of tile checks depending on the Quirk’s orientation and direction.
This is unbelievably nasty… and it’s forced me to go back a bit and redesign it all on paper first so I can see all the combinations I can get. It’s still going to end up a massive mess, but I can atleast tackle each segment at a time and make it a bit more bearable to code!

I’ve also realised that I’ve spent most of my time wrestling with the code and doing some ( basic ) graphics.. there’s no sound effects of any sort, and I’m thinking I’m going to have to squeeze them in in the last two or three hours before packaging it up.

On the plus side, there’s now interaction! There’s now randomly coloured Quirks! And the engine can sustain about 256 Quirks ( nice retro number to coincide with the graphics! ) before slowing down! I did have it throwing about 900 on the screen, but it slows a fair bit, as each Quirk gets it’s own monolithic 500 line state machine 😉 ( and that state machine isn’t even finished yet! )

Many Coloured Quirks

Here’s a hundred Quirks, with an updated Graphics set, and the red box o’doom cursor 😉

Tags: half way, little quirks

Comments

27. Jul 2009 · 05:51 UTC
I’ve seen the ‘demo’ in your earlier post and I think this might actually become something really nice! =D

And it’s going to be late…

After losing several hours of work due to a hard drive hiccup ( annoyingly while I was backing up the code to SVN at the time ) I won’t be able to finish this within the 48 hours.. I can’t even release anything just now as it’s currently very broken. :(

The code I lost was most of the refactored state machine – which worked properly! So I’ve been having to rewrite that again, and it’s not pretty.. specially seeing as it’s not working as well as it was.
I shall be continuing this throughout the week when I get back from work, so I’m hoping to have it finished by the end of the week.. though if I was to restart it, I’d be writing an actual pixel detection routine as this tilecheck system is just hideous!

Once it’s done, I’ll write up a post mortem of what went right, and what shot me in the bum.
Here’s a picture of it’s current state ( clicky for full screen ):
A Small Army of Quirks
That’s 256 Quirks running around a screen area of 1024×768.. it’s now got a dynamic playfield so if you set the config file to any ( reasonable ) resolution, it’ll create a playfield big enough for you.

That’s it just now.. as a warm up to LD15, it’s highlighted a few issues that I’ll need to resolve to take part properly… but it’s been fun anyway :)
Apologies that I couldn’t finish in time, but I’ve had a lot of good feedback from this so far, so I’ll try get it done throughout the week.

Tags: little quirks, unfinished

Comments

27. Jul 2009 · 06:02 UTC
Don’t despair, this game WILL be awesome anyways ^^

LD15

A Little Post-Mortem

Well, as I’ve been working on it throughout the week, I’ve been putting a lot more effort into it, and it’s been going way past the original 48hr game concept, hehe.
As such, I thought I’d post up a post-mortem on what went wrong in the 48 hours, and what went right.

The Good.

The theme was great. I love sandbox style games, be it sandbox in a “giant world to do as you please” sense, or even in a “here’s a puzzle, figure it out as you like” sense – as Little Quirks was to be. So that got the creative juices flowing, so to speak!

My concept was very simple – basically a Lemmings clone where they can crawl up and along walls and ceilings. The art was nice and simple too, fitting with the cute aesthetics as well.

The engine was in better shape than last time, after being used in another couple of projects since LD11 ( Plight of The Weedunks being one of the most well known – yes, this is basically the same engine, minus the 3D layer! ) and I got something up and running very quickly, and only took an hour to upgrade the engine to do dynamic colour replacement.

The Bad.

Hard drive hiccup. That wasn’t fun, especially seeing as I’ve just recently replaced one of them. Losing several hours of work is a killer, and more so when you’re in the middle of an SVN commit to an external server to try and avoid losing too much. Moral of the story, save and commit often!

Sound. Or lack thereof. I actually factored no time in for sound. This may have went against me if I had actually finished within the time limit. Something to be wary of for LD15; making time for everything is quite tough, but then that’s half the challange of Ludum Dare!

The Ugly.

Tilechecks are quick, and for the most part work very well. However, when there’s a lot of logic behind what your entities are doing (crawling around any side of a tile), those tilechecks quickly spiral out of control. I really should have been doing pixel checking with a hotspot being at the bottom of the sprite. Then again, I was able to get a ludicrous amount of them squirming around, with a full Lua-based state machine for each of them which a more expensive pixel check routine may not have allowed. A puzzle for sure as to what would’ve been better 😉

What Next?

It’s become apparant that there’s actually a bit of depth in this concept while I’ve been continuing it after work, and it’s been slowly going beyond just a 48hr game. I’ve decided to continue working on it on the run up to LD15, as it’ll let me see what my engine still requires, and fix some of the hideous bugs I’ve uncovered along the way.

I’ll still be releasing the game – source and all – when it’s done, and probably post it up here complete with final tag … more than likely 48 days after MiniLD11 rather than 48 hours 😉
The game was also designed for handhelds ( GP2X, Wiz, and Dingoo in particular – click for image – ) so you’ll probably see it on one of the sites for those hand helds when it’s done too :)

Tags: little quirks, post-mortem

Comments

15. Aug 2009 · 11:56 UTC
Yay! Can’t wait for it to be finished.

I must say I am jealous of your devotion not being shattered after lost work. When these things happen to me I never get around to finishing the game…

Moons of Subterrane

Not sure I’m going to get something done this weekend due to being a bit blegh, but I’m going to have a shot.

Using my engine again ( which I’ve just committed a bunch of stuff to the repository for “chunky” scrolling action and a bit of a cleanup that had been sitting on my laptop for a while ) which, should you want scarred for life in reading atrocious code, is here: http://svn2.xp-dev.com/svn/stuckie-SGZEngine/

Currently, my game concept is as follows:
Gigantic maze-like caverns ( possibly randomly generated ) full of nasties and helpless people.
Rescue the helpless people from their research stations by landing on the pads to pick them up, and take them out the caves to a safe area ( your ship can only carry so many, so you’ll need to ferry the buggers about. )
Might as well grab some precious minerals while you’re in there too, for some extra points.
Do it before the caverns cave in due to destabalisation from the nasties.

I’m leaning towards a Cybernoid-style gameplay experience – so expect viciously difficult sectors, with switch-screen scrolling rather than smooth-scrolling, allowing each screen to be a puzzle in it’s own right.
Not sure if I’ll keep the Cybernoid “constantly falling” mechanic, or implement actual gravity.. depends how much of a clone I want it to be, I guess.

Art is being done in the Gimp as usual, sound effects and music in MilkyTracer should there be time.
Right, I need food.. hopefully have something playable by the end of the day, and I’m predominantly targetting handhelds again, so expect a 320×240 res unless I whack some scaling in there.

End of Day One

Well, it’s the end of day one now… haven’t worked on this a whole lot ( about five, maybe six hours in total?), to be honest, but I’m reasonably pleased with what I have so far!

Action Packed Screenshot

There’s a funky maze like cavernous system to the east of the player in that screen shot… the building is a research centre, of which there’s another one in the caverns that you’ve to find to rescue the peoples in there before the moon destabalises. Rescue them by landing on the pad ( the thing in the middle sticking up like a sore thumb. )

Those red things are nasties ( there’s a few different types of nasties, and there’s a number of different attack paths they take as well ) which can be shot cause if they smash into you, you take some damage and eventually explode ( same with careening into the walls, which seeing as the ship’s currently a nippy little bugger, you’ll be doing a lot ).. luckily, the research centres will repair you a bit.

There’s 28 ( count ’em! ) main cavernous screen types ( not all are in the demo just now! ), and plenty more derived from them – adding beastie spawn points, research stations, and all sorts.

Of the core gameplay, I’ve only really got the picking up of researchers to do, then it’s just implementing some fonts to track score, health, time and create some fiendish level designs and appropriate bleepy-bloops!

Current tech-demo is here: http://www.stuckiegamez.co.uk/gamez/ludumdare/ld15/MoonsOfSubterrane.7z with cursor keys and “z” to fire. There’s GP2X-Wiz and Dingoo binaries, though they run a tad slow just now and I haven’t set the controls up properly yet. The linux binary is AMD64 compiled and the Win32 exe was compiled and tested on Windows 7.

Now for some sleep…

Half Way Through Day Two

Scarily, LD15 ends in about 14 and a half hours.. I’ve still a lot to do, most important of which is getting font support in for some feedback!
Some sounds wouldn’t go amiss either…

However, the onslaught of nasties continues as base spawners have been implemented.
Here’s a bit in the first sector of the first moon that’s somewhat nasty:
One Dead Spawner, mwhahaha

I had just destroyed the one on the right when the screenshot clicked 😉 they take quite a beating though but at least they stay dead! There’s also a puff of smoke when something collides with a bullet or enemy. Definitely crying out for sound effects now!

What’s left in Order of Importance:
Fonts.
Picking up Researchers and Repairing ( as you can still shoot stuff so, yea..  I can change the game to destroy all enemy spawners if need be 😀 )
Sounds.
Some actual level design ( though the way the levels are built, I could whip up a lot of them in the last two hours quite easily. )

Nicities:
Frontend.
Music.

Current playable with four spawners is here: http://www.stuckiegamez.co.uk/gamez/ludumdare/ld15/MoonsOfSubterrane-32.7z
It’s getting there.. and I might actually finish for a change!

Third Milestone!

That’s me reached my third milestone!
Seems like it’s third time lucky, this time ( this is my third main ludumdare ) and I might actually really finish this on time :)

Obligatory screenshot:
I died.. again.. yea it's not easy.

All game mechanics are implemented and work, it’s now a case of sorting the levels out properly, and sound!
There’s meant to be 25 levels in all ( or atleast, I’ve made space for 25 levels) – five areas per moon.
Each moon has a different graphic set ( read, I’ve changed the colours in GIMP 😉 ) and a different amount of rooms per cavern. Your first moon – Chronos – starts with 4×4 caves, whereas the last moon – Wenut – will have 8×8 caves.
Oh and be warned, the gravity changes per sector 😉 Chronos Sector 1 is fairly light, Sector 2 is heavy as sin, but 3 – 5 are about average.

Currently, Chronos is complete… though some of the rooms could be tightened up a bit, but it works for the moment. Rest of the moons are just repeats of Chronos for the time being.
Playable is here – http://www.stuckiegamez.co.uk/gamez/ludumdare/ld15/MoonsOfSubterrane-44.7z

Now for some sound!

And I Actually Finished!

Well, more or less…

I only got the first seven levels done – the entire Moon of Chronos, and the first two sectors of Kala. Rest are repeats of Chronos with slightly different gravity pulls, and textures.

But wow, I felt it was complete enough to actually submit! :)
Here’s some screenshots of the past few hours:

Final ScreenshotMoon of Kala has different enemies!Easy, it is not!You'll be seeing this a lot.. I did ;)

But it’s all submitted now so, hope you have fun playing it as I have had making it this weekend :)
Even if I did only spend about a day all in on it due to feeling a bit bleh…
Good Luck to everyone that entered!

Comments

31. Aug 2009 · 00:06 UTC
so where do i download it from?
31. Aug 2009 · 00:10 UTC
AHA, i’ve figured it out.

Moons of Subterrane : Post Mortem

The dust has barely settled, but I’m throwing up a post mortem anyway…

Moons of Subterrane was interesting in that for the most part, nothing went wrong.
I had been feeling a bit ill and stuff, so didn’t do the full 48hr run, I perhaps did 24hrs instead…
So in keeping with my previous post-mortems, the good, bad and ugly –

The Good:
As said, nothing really went wrong during the work I did.
Adding things was really easy due to the way I had set it up – albeit slightly convoluted in that maps and enemies/stations are in different files.
The system kinda worked like a database to that effect… where each room was designed in a text editor and given a room number, and the map just referenced the room numbers. All data was loaded in on level load ( which can cause a pause or two )
Enemy spawners and flight paths were relatively easy to add as well.
Seeing as I did miniLD11 with Little Quirks ( which I’ve still been working on ) I was a lot more confident with the engine and how things worked, or should work, which was probably how I managed so well this time :)

The Bad:
Again, I didn’t really factor much time in for sounds.. and a ZX Spectrum could beat the sounds I did!
Testing was quite tricky as well, as the levels can be quite involving.
Also, no animations… so everything’s a static sprite – doesn’t look quite so good as it could’ve been but then, I’m no artist!

The Ugly:
The submission phase… heh… I buggered this up spectacularly and only just realised after I got a comment stating it was far too fast.
The game was coded primarily on a Linux box, and I had a Windows laptop setup to do win32 builds on. I tested and built the correct binary, but somehow transferred an older binary to my Linux box when packing things up. Same thing happened with the Dingoo and Wiz builds ( they should work but just not have input, instead they crash due to other factors which I fixed this morning. )
Now, I have updated my entry with a fixed exe to download.. but this is tricky though as my original submission does have a broken exe – HOWEVER, and here’s the fun bit.. I included full source in that package and if you were to compile an exe from that source, you’d get the correct working version!
Also, I did put up various versions on my site, as I had some other people who were testing my game throughout the duration on Windows for me.
You can find them all here:
http://www.stuckiegamez.co.uk/gamez/ludumdare/ld15/

(The submitted package is: MoonsOfSubterrane-LD15.7z and the Win32 fix is: SGZ2D.exe)
You’ll see that the exe in hour 44 does infact work at the correct pace ( without sound.. though the sound is so dire and you’ll be probably turning it off anyway ), and you can check the source in the submitted package: specifically line 132 onwards (the updateInterfaces function) in Source/code/engine/CInterpret.cpp – there lies the nasty hacky SDL specific framelimit code – which obviously isn’t active in the submitted exe.

Also… KATE on Linux seems to do stuff to the files it edits, as on Windows they seem to have extra blank lines between every normal line.. hmm..

So yea, although nothing technically went wrong during the competition, and I was surprised at that, I managed to bugger up the submission in spectacular style, instead! Woo!

Moons of Subterrane Note

Just a quick note as I’ve had a few comments about this now:
As stated in my post mortem here I _severely_ buggered up the submission and included an old EXE in the upload, but the source to the correct version.
I did upload a fixed EXE compiled from the source in the package, however… but people may not have caught it.

The easiest way to check whether you have the correct version or not ( so I know if there really IS a speed issue or not ) is if you get sound. The old EXE has no sound, the correct one does. Those who have tested my game, could you double check that you’re using the correct EXE, please?

Again, if you want to make sure I’ve not just fixed something and tried to put that up, you can compile the source yourself, and can check the source for the framelock code in code/engine/CInterpret.cpp and the updateInterfaces function, which does a nasty hacky SDL-specific framelock to 60FPS.. I’m sure FRAPS or something will be able to detect the FPS of the game, and tell you whether it’s framelocked or not.

I do apologise for this and will make sure I properly test things in the next Ludum Dare!

Tags: fix, moons of subterrane

LD16

Up for another go

Well, after a successful LD15 ( I actually finished something! which wasn’t too bad either, if a bit brutally difficult and incomplete ) I feel up for another one.. lets see if I can not stuff up the submission this time 😉

I’ll have a bit more of a battle plan this time.. I shall be planning my time carefully rather than just barging ahead blindly.

Tools:
GIMP, GCC, CodeLite, MilkyTracker

Pre-Developed Code:
My engine… of which the source can be found here: http://svn2.xp-dev.com/svn/stuckie-SGZEngine/ most of which is hideous, hehe .. it’s also not been touched much since LD15

And that’s that! Looking forward to another Ludum Dare, and hopefully another finished game :)

derelict_

A hulking mass of metal drifts
effortlessly through space.

Once teeming with life,
now quiet like the dead of the night.

This is a derelict.

For the brave amongst you,
there are unbound treasures aboard
worth unimaginable fortunes,
with a wealth of information
just laying for the taking.

However.

This is a derelict for a reason.

Pray you never find out why…

Sounds menacing, doesn’t it?
Derelict will be a top down turn-based strategy game with you controlling four marines from six classes.
Your mission is simple: raid the derelict for as much as you can find.
Your marines may leave at any time.. it’s just in how many pieces you need to worry about…

Comments

Fiona
12. Dec 2009 · 10:57 UTC
Space Hulk then?
stuckie
12. Dec 2009 · 11:05 UTC
shhh 😉

A half finished derelict..

Well I’m getting there.. slowly but surely.

I waited up for the theme last night, then went to sleep to think on the theme, so I didn’t start till about 9am GMT this morning.
Most of the day has been design, and getting some base assets down.
Code-wise, I’ve implemented a camera system, and a slightly insane map loading system again – something which wasted a huge amount of time as I stupidly based it on the Moons of Subterrane loader. which was designed specifically for it, and not for scrolling at all. This got rewritten twice, because of my stupidity.
More importantly, you can move your marines about ( though can’t choose the starting classes yet,  the menu systems are in there ready for it though ) and it recognizes doors and entities separately from the rest of the map on load.

Now, a screen shot.. then bed for a few hours sleep; tomorrows plan is finish most of the code by lunchtime, then work on assets and tidying till Midnight, which gives me two hours to port and package the final submit ( no bugger ups this time! )

Excuse the nasty hashing, I may fix this tomorrow with better art… if I have time!

The derelict stumbles in..

About twenty mins late as my archive manager decided it would make bad zips – cause it felt like it.

Didn’t completely finish.. sadly… but this is something I’d definitely like to finish at some point.
You do get hot-seat multiplayer for your efforts of downloading though!

Skills were not implemented, which makes the Alien Queen utterly useless ( it can’t lay eggs that spawn into brood ) but the other classes work fine as they have weapons 😉 AI wasn’t implemented either.. so you can wander aimlessly through the HUGE part-designed ship and kill them.. but that’s about it, sadly. Lockers weren’t implemented either, so you can’t even gather loot! Yea, time managed to get the best of me, it seems.. I’ll explain more in the post mortem.
There’s also no win conditions… I forgot that… heh

I’m quite knackered after all that.. here’s a final screenshot showing what GUI I managed:

I currently only have an AMD64 Linux build as my Windows running laptop is in need of a reinstall.. I’ll get a Windows build done ASAP. You can grab the engine source from the SVN though, and compile it that way if you wish.
Other source is actually in the data zip – it’s all Lua script.

I’ll post up a post-mortem after I’ve had some sleep.. it’s been fun again! :)
Good Luck to everyone!

-edit-
Seems like my laptop was alive enough to produce a Win32 build! it’s up now too: http://www.ludumdare.com/compo/ludum-dare-16/?action=preview&uid=267

derelict_ post-mortem

That was fun.
Really, it was.. the majority of coding this was pretty good – as I had structured things fairly well for the most part.. till I went mad and started putting chunks of code in whatever file I was in at the time! Damn you Lua for allowing me to use any global function in any file at any time!

There were, however.. a few head smashingly horrific issues that did cost the game.

The Foul-Ups
————-
After designing a somewhat large play area, I needed a means of loading it in.
As the Moons of Subterrane loader was fairly decent, I decided to base it on that. Oops.
Due to the nature of Ludum Dare, you tend to code things just to that project, and not really leaving them agnostic or open. Case in point being the Moons of Subterrane loader – it was designed quite specifically for flip-screen gameplay. Trying to tear apart that system to include scrolling was not going to happen – and although realising this from the outset and trying to modify it as I wrote it up, I didn’t modify it enough!
A few hours later, and much swearing, I tore the whole thing apart and just loaded in each floor as one gigantic file, each.
I’d have preferred splitting them into screens – or even rooms – as it meant I could’ve done some semi-procedural stuff with their placement, but alas, it was not to be.

Once I got something loaded and on-screen however, things did pick up and I implemented a fair amount of stuff.. then came the Camera to allow scrolling the map.

2D cameras are strange in that they don’t really exist more than a hack to begin with. A 3D camera has position, orientation, and look vectors just like any other object; a 2D camera is little more than a viewport translation. Or so my textbook says…
Stupidly, I had implemented this properly in about ten minutes, but forgot to move everything in the opposite direction to counter the viewport translation. Nyargh.
Another few hours later and I realised my idiot mistake, battered my head off the wall, and put in the counter translation and it all worked.

Of course, attempting my game idea – specially with the amount of content I planned – within 48 hours was always going to be tight, those two bugger ups didn’t help, neither did nursing some sort of cold, as I did end up sleeping a total of 14 hours over the two days. Ouch. That killed sound, music, most game play and any decent graphics… and threw my timeline in the bin.

The Successes
————-
There are a few bits I’m quite happy with.
The game itself works, which is somewhat surprising as I pretty much bypassed all of my internal engine, save for loading and blitting graphics!
The horribly cheesy and cheap starfield effect really does work wonders to break up the Menu screens a bit.. a total of five minutes work for that, while pondering over the loader system. The typewriter text effect was also done in five minutes, though while thinking about the camera stuff – proof that if you go and work on something else for a bit, you’ll get better results :)

Splitting the units up into separate Lua classes was a good idea too, it meant I could deal with them all individually. Granted most of them are copy/pasted movement/firing code amongst each other, but the skills bits were meant to be different at least.. They’re also a bit more self-contained object like.. which made them easier to deal with too.

The Crew Selection bit is possibly the most polished part.. it works fairly well, but suffers like everything in the game in that there’s no feedback: up/down changes whether you’re Alien or Human in multiplayer, if you didn’t know…which you wouldn’t have unless you messed with the buttons, or read the source!

The Murky Bits
————–
There’s a general lack of feedback with everything you do.
You don’t know how many action points anything costs ( hint: movement is 1, opening/closing doors is 2, firing is 2 ) and unless you’ve just started and haven’t explored most of the map yet, your only indiciation of a door opening is your Line of Sight updating!

Speaking of line of sight, it’s a bit too exact on the diagonal and orthangonals… there’s no real in-between as it’s horrendously hard coded just to look on the eight axes. This is obviously quite daft, and is due to one major muck-up. I had a working LoS very quickly when I first got map loading going… then when I realised I wouldn’t have time to do much AI, I started jerry-rigging multi-player hotseat support in.. though I did this a bit too quick as a lot of the systems weren’t quite finished yet. So, this broke most of the game – unit movement, actions, line of sight, detecting other entities on the map at all. I very nearly had to pull out completely because of this, but things started to fall back into place in the final twelve hours!

Conclusion
———-
So, I ended up twenty mins late with my submission ( though it seems my laptop’s time was slow and I finished 5 mins late anyway *cough* ) due to Ark deciding not to zip things properly. After several attempts, I finally gave in and zipped it by transferring everything across to another machine. Re-installing your O/S the day before LD starts is asking for trouble 😉

Either way though, I think I did fairly well and did get a lot done.
Unfortunately, gameplay suffered from the cold, camera, loader and my Sunday panic. I think that given a few more hours, I could’ve gotten the skills in, and maybe some feedback as to what’s going on.
I need more practice to work faster, and sleep less 😉

This is something I’d like to continue, though!
And hopefully, I can feed some of the changes back into Little Quirks ( remember that? 😉 ) and get it done too.