Ludum Dare 31
December 5th-8th, 2014

October Challenge 2014
Ending Soon!

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

What is Ludum Dare?
Rules / Guide

About 5parrowhawk

Entries

 
Ludum Dare 24
 
Ludum Dare 16
 

5parrowhawk's Trophies

5parrowhawk's Archive

Aaaaaand I’m done.

Posted by
Sunday, August 26th, 2012 8:40 am

It’s 11:30 pm here, so it’ll be too late to do any more work on this thing by the time I wake up (that, and I have a day job).

The final version of the game can be played at:

https://sites.google.com/site/ludumdare5parrowhawk/ld24—re-generation

Disclaimer: The above cartoon does not actually appear in the game. Also, I’m kind of a bad person for posting it. :D

Dinner and progress.

Posted by
Sunday, August 26th, 2012 6:20 am

Just got back from dinner.

I’m not sure it’s really in the LD spirit to do photos of restaurant dinners, but this was with my grandparents so hopefully that’s enough of an excuse :D Pictured above is a bamboo clam (AKA razor clam) steamed with garlic soy sauce and glass noodles. There was more food, but I didn’t have the time to shoot the other stuff.

That, and I have a near-final prototype!

https://sites.google.com/site/ludumdare5parrowhawk/ld24—re-generation (requires Flash, tested and working on the most recent stable version of Google Chrome)

It’s probably a good sign that I got distracted into playing a whole round when I should have been finishing this post.

I just need to put in the audio and do some minor tweaks to the visuals, and I should be done. The audio files are already done (thanks to the iOS port of sfxr, I did them on the way to dinner) and ready for use.

I might add difficulty levels if I have time.

Balancing done!

Posted by
Saturday, August 25th, 2012 11:49 pm

I think the gene-expression system is more or less where I want it now.

I added some code to favour enemies with more dangerous bullet patterns. Also, the enemies now spawn with tails, rather than having to evolve them, thus changing their default movement pattern.

Everything from here on out is gravy: explosions, a better title screen, sound effects, and so on. I might also add in the “mutant” feature which I’ve been wanting to put in for awhile.

But first, I need to improve the intermission screen. I’m hoping to put in something which will show which aliens the player killed and which survived.

Done for the day, too!

Posted by
Saturday, August 25th, 2012 8:42 am

Whew, I managed to finish all the things I wanted to do today!

Even the genetic system.

Hurrah for biodiversity!

Only thing is, dynamics-wise I’m not quite feeling it right now. Around stage 10 or 11 it gets frantic and enjoyable, but the more tactical aspects of (mis)guiding the aliens’ evolution aren’t really coming through.

For tomorrow, I’ll be mulling over some possible gameplay changes:

(1) Adjust the mutation rate. Currently each new alien will always be based on a genome from the survivors of the previous generation, with one of its 34 genes “flipped” (mutated). I might want to introduce the possibility of a double mutation, or no mutation (to counterbalance).

(2) Adjust the spawn pattern. The aliens currently have a tendency to spawn in vertical columns. This makes them sitting ducks for the player’s straight-firing vulcan. To make matters worse, the last alien in the column often gets to escape regardless of the merits or demerits of its genome, simply because its siblings happened to go first and act as bullet absorbers.

(3) Implement recombinant DNA. I really don’t want to do this because it’s a pain in the behind, but it might help. In particular, if the most successful alien in each generation became the “king” or “queen” and bred with all the other aliens, it might yield interesting results. Currently all survivors have an equal chance to pass their DNA on, resulting in a very diverse but somewhat characterless environment.

(4) Possibly in combination with (3), give advantages to specific aliens in passing their DNA on. I’m thinking along these lines:

– Aliens who manage to shoot the player down get a chance to pass their DNA on, regardless of whether they end up dying. (This will be horribly tough to track. Currently the bullets don’t have their shooter’s name on them.)

– When an alien survives, its chance to reproduce is directly tied to the number of bullets it managed to shoot (okay, that sounds REALLY wrong) during the level.

Well, time to go sleep (it’s 11:30 here). Will continue tomorrow.

Status report 2

Posted by
Saturday, August 25th, 2012 7:06 am

Finally, gameplay! I finished the gene-expression system.

I tweaked the code to randomize the basic genome for the above screenshot, so you can see what it looks like with an enemy that isn’t the default, un-evolved grunt.

Currently it seems to me that there are a lot of evolutionary dead-ends which kind of make the enemies a bit gimped, like if they get all the defensive genes and none of the offensive ones. But that’s kind of a gameplay feature, seeing as the player is well served to try and cull the more dangerous enemies, thus forcing them down an undesirable path and prolonging the game.

That, and if one of those nigh-indestructible enemies suddenly develops a dangerous mutation like “attack cooldown decreased by 30%” or “attack type changed to shotgun” (both real), the player is in a bit of a pickle…

Next up: do the wave/level system.

Status report

Posted by
Saturday, August 25th, 2012 3:56 am

As I’m in a different time zone, these reports may be coming in at odd times.

I just came back from doing a bit of running – partly to clear my head, mostly because I need to lose weight.

So my design, as seen in the previous post, is a Flash-based bullet-hell shmup. Each wave or level will be very short (30-50 enemies?). After each wave, the surviving aliens (those who managed to flee the player’s wrath!) will reproduce; their genes will be recombined (plus a couple of mutations) and form the basis for the next wave of enemies.

The first thing I did was to sequence the genetic code of the aliens, to figure out how their genes translated into movement patterns, stats, visuals and so on. Currently I’m looking at a 34-bit genetic code which describes everything about each alien creature. I also finished some of the basic shmup building blocks – player, player shots, the level manager, and so on. My next step (the hardest part) is to code the gene expression – basically how each alien object takes its genetic code and turns it into an alien with the specified properties.

I’m hoping to finish the gene expression, the evolution mechanic and the level structure by tonight (that means I have about 4 hours left to do that), then spend tomorrow on polishing. No screenshot until I’m done with gene expression at least.

Spritework done for now

Posted by
Friday, August 24th, 2012 8:21 pm

I’ll do “gravy” sprites when I’m done with the basic thing.

Here’s a little sampler:

I guess it should be pretty obvious where I’m going with this…

As for the theme…

Posted by
Friday, August 24th, 2012 6:30 pm

Doesn’t evolution imply that the evolving critter has to reproduce and presumably die, and the changes only appear in its offspring?

If the critter doesn’t die and just gets stronger, it seems like that’s growth rather than evolution.

…Maybe that’s why this theme is not popular :D

I may regret this…

Posted by
Friday, August 24th, 2012 6:26 pm

…seeing as I’ve been a bit unwell over the past week, and am a bit busy over the compo period…

…but I’ll give it a shot anyway.

Tools to use: Flixel (my dev skills are rusty so the easier the better)

Finally got around to uploading source code.

Posted by
Saturday, January 2nd, 2010 7:02 am

Now that I think about it, I actually messed around with the source after the compo – the aliens were commented out in preparation for improvements to the strategy side of the gameplay. It shouldn’t be too hard to uncomment the relevant lines.

My compo page with the download link

In the end I turned it into a gratuitous battle in space – basically RTS meets 4X. Managed to squeeze it in just in time – the ZIP was up just a minute before the deadline, and the screenshots/description came after.

I might have added too many alien ships…

It might look as though the graphics took up a lot of time, but really those were easy. The tough bit was the ship AI, UI and fine details – things like how the ships bank when they turn. I tend to get hung up on crap like that.

screenshot6

GBIS.zip

– It controls almost exactly like your standard 3D RTS – mousewheel to zoom, mouse on screen borders to pan, click, drag or double-click to select, right-click to move or attack.

– Spacebar pauses; you can issue orders while paused.

– To colonize planets, you need to build a colony ship, move it to the little circle above the target planet, and then click the colonize button (lower left). The button only appears when you have only the colony ship, and nothing else, selected. It takes awhile to colonize the planet.

– You can build ships from planets, provided you have enough money. The other 3 resources, sadly, do nothing – I forgot to put special-resource costs in the ship data. Sorry, no build queue.

– The aliens should show up before too long, or you can go look for them if you are so inclined.

– Yes, the framerate is awful in big battles. Didn’t have time to optimize it, plus I added too many missiles, explosions and other stuff.

– There is no end. Close the window when you’re done.

– Edit: Lol, I tested it and found a couple of major bugs. One, the alien “attack” results in the aliens doing a happy dance (working as intended!). Two, under certain circumstances you can see the aliens even when they’re very far away. But, for the most part, it works (apart from the framerate issues).

Posted by
Sunday, December 13th, 2009 4:42 pm

I have no time and I must scream.

Since there’s no more time and I just managed to get combat working, I shall attempt to turn the game into the mother of all gratuitous battles in space and go for the theme “Unwinnable War” as a bonus.

We’ll see whether that works.

[cache: storing page]