dragonxvi

LD29

Hot Diggity Progress

So, good part of a day in, where’s everything at?

Well I figured there’s so many mining games out these days that they could do with a good speeding up!

Honestly I’ve no idea what this is.  Thus far it’s sort’ve Thrust-meets-Terraria with a gradually extendable vessel.  Still to add some kind of heat management to stop you exploding and something to force you further underground, balancing grabbing ore, heat management and getting as far down as you can.  Pondering a boss battle at a certain depth…

 

At the halfway point now, end of day one!

Dig9

 

Your planet’s being devoured by some kind of Eldritch horror.  Can you dig through the whole planet to escape? Can you defeat it with ancient buried secrets? (Probably not!)

Few more obstacles & Overheating/Death to code tomorrow mornin’, bit of music & sound effects, then the home stretch!

‘Till tomorrow!

AND DONE

Hot Diggity is done!

*BZZT* *KSPLODE* *BCHHHSZT* *Ka-Ching*

See it here! (Web, Mac, PC)

Post-Mortem coming later… For now? Rest!

Pretty much done with “Hot Diggity”. Uploaded final version pending once I stop a bug that makes everything explode.

Managed to upload some shonky footage though of a few snaps of a playthrough!

https://www.youtube.com/watch?v=iWSrZZN1Ly8

 

 

 

Hot Diggity: Dev Log & Postmortem

So Hot Diggity was my first attempt at Ludum Dare.  Been meaning to actually enter this for years but always forget when it’s on.

For anyone interested, here’s a brief overview of the development process of Hot Diggity, followed by a little postmortem, some fun bugs I encountered while making it, and a few hints ‘n tips I’ve learned doin’ various 48hr jams!

Wanna see what this looked like 2 hours in? Read on!

So without further ado, here’s how it was made!

Day 1:

First batch of sprites and already you might notice stuff that didn't make it in

First batch of sprites and already you might notice stuff that didn’t make it in

When the last themes were selected for the final round I had a quick run-through to try figure out what kind of thing I would make for each one.  “Beneath the Surface” came immediately: There’s been so many mining/digging games of late (Terraria, Miner Dig Deep, Steamworld Dig and of course the big MC to name but a tiny selection) that I thought of trying to mix up the genre a bit.  Namely, instead of a careful, gradual and careful expansion, you instead piloting some crazy drilling machine, tearing through the earth and furiously devouring ore at a highly unstable pace.  The idea of expanding the craft was vague at this point, but I was keen on some kind of upgrade system.

With this in mind, I fired up Unity, added some basic controls, some tiles, added all the elements of Unity’s 2D physics engine (Itself based on the popular Box2D Framework) and here’s where we begin:

 

Fun fact. The drill's actually completely stuck here and can't move.

Fun fact. The drill’s actually completely stuck here and can’t move.

For most of the development time, the drill component of the driller was actually solid, meaning you sort’ve “poked” blocks awkwardly to damage them.  It made the entire driller impossible to keep straight because it was effectively triangular.  Removing this so the drills have no ‘solid’ collision was one of two things that eventually made this game bearable to play.  The other was giving the driller a fixed turn speed – Previously it applied torque which made it even worse to steer!

So just digging down was fairly dull.  We need something else.  And when you’re out of ideas and want to add something to a game to make it cool, there’s only one place to go!

No, not zombies.

LASERS!

LASERS!

The laser logic was fairly simple: The turret turns towards the mouse cursor, and firing shoots a little ray out that sees what it hits, then stretches the laser graphic and positions it to represent the ray itself.  Then whatever your ray intersects with (And Unity of course has all this built in) you see if it’s a tile, and if it is? Damage the tile! Huzzah! Instead tile-destroying laser!

You’l notice the terrain also is a bit more varied at this point.  I plugged in Unity’s Perlin Noise class into a basic terrain generation system.  The game generates 16 x 16 tile “cells” which get created as you move around and hidden when they’re off screen.  The perlin noise helps create a basic, psuedo-cave system that’s good enough for a basic underground game.

Fun fact: Unity’s Perlin Noise isn’t seeded, and I couldn’t get random offset working properly, so EVERY game of Hot Diggity has exactly the same physical layout (It’s why you always begin in a large crater).  The only things that’re randomized is ore layout, exploding block positions and some cells have a chance to be one of 3 biomes (“Normal”, “Ice” and “Temple” – More on these later!).

Honestly at this stage I still had no idea what the game would be.  You had a laser, you could shoot things but there wasn’t much point.  THEN I plugged a few of the lasers together and…

I think I'm on to something now...

I think I’m on to something now…

More engines = more thrust, more drills = more digging, more lazers = more lazers… Suddenly the idea that you could gradually add stuff to the Driller made sense and the main game feedback loop was born: Get ore, level up, add a bit, repeat!  You’ll notice in the picture above some things didn’t make it: For one the above ship’s impossible because later on heat generation became a mechanic, and also I didn’t get time to have Drills that go in multiple directions (The idea of building a big box covered in drills did appear though…)

So! Quick change to the Terrain Generation to add little ore prefabs! And so introduce one of the sneakiest techniques to making a 2D game look awesome:

Give me sparkly!

Give me sparkly!

Additive blending! You can never have enough glowing stuff!

So – Destroy the ore blocks, drop some little ore pickups that are pulled towards your Driller and add to your Ore Count when they hit.  Now we just need the level up screen!

Camera was considerably more zoomed in initially, which made it impossible to upgrade past a certain point

Camera was considerably more zoomed in initially, which made it impossible to upgrade past a certain point

Also, I hate doing UI.  Hence why everything is big yellow boxes.

The Level Up screen and handling the state between pausing the game -> Selecting a slot -> selecting a component -> Unpausing and continuing was the biggest faff in the game, namely because when you’ve only got 48 hours, writing a proper game-state system isn’t a high priority, so there’s a lot of dodgy flags here and there and things with references to stuff they shouldn’t just to make sure everything’s fair.  It also had a tonne of bugs -> Laser getting stuck on and causing you to overheat while you level up, money still being collected which would make you level up while levelling up and break everything, etc.

Still, with this one, the basics of the game were more or less in.  Though you still couldn’t actually lose. And there wasn’t any reason not to just stay near the top of the world and dig EVERYTHING up.  I needed some incentive to get the player actually digging down.

Now logically you’d maybe have things like an oxygen meter and maybe tanks you had to reach further down each time, but no. I went with…

Who's that crazy kook destroying the world?

Who’s that crazy kook destroying the world?

Of course! A giant, planet-devouring Lovecraftian horror! That’ll do!  Also I must’ve misspelled the word “Devourer” about 50 times (“Devourerer” was a common one).  He’s basically two big sprites animated in a looping, munching motion.  Before he was done I upgraded his eyes so they actually follow your ship.

Now this chap served two purposes: One is to force the player to keep digging, the other is a more technical reason.  See, the deeper you go, the more terrain cells get generated, and these eventually start grinding Unity to a halt because they don’t get cleared up.  Enter the Devourer: Any cells above him are destroyed and removed from play, keeping the amount of stuff needed to process in game relatively low.  It’s a bit of a hacky fix, but hey! 48 hours isn’t enough time to be tidy!

As this more or less marked the end of day one, I needed a backlog of stuff to get this game fully done, along with any polish I’d like to do.  My backlog consisted entirely of a hastily scribbled notes on an envelope:

Alas, additional components and upgrades to existing ones didn't make it...

Alas, additional components and upgrades to existing ones didn’t make it…

The game still looked kinda naff too.  Then I realized what was needed:

Tile variation. Even a really basic bit of variation can make tile based games just look so much better

Tile variation. Even a really basic bit of variation can make tile based games just look so much better

Plugged in a simple system to select from a random set of sprites for each tile prefab, and suddenly the game looked so much more varied and interesting.  This gave me a bit of a morale boost to actually see this thing through!

 

Day 2

Starting to look like a game.  Heat systems in, added a few more additive glows to the lasers, and the Chase Meter on the left

Starting to look like a game. Heat systems in, added a few more additive glows to the lasers, and the Chase Meter on the left

Chase meter, heat systems, exploding and losing.  Polishing as I go.  Tweaking controls, laser power, laser heat amount, coolant heat amount, various bugs. Adding a basic (And I mean, some text and press a button to start basic) title screen and game over scene.  Before long the main game mechanics were all in place: Now I needed some music and sound.

FLStudio! And a lot of hastily assembled loops

FLStudio! And a lot of hastily assembled loops

I’ve been making music long enough now to be able to very quickly fire something quick and dirty out.  The music for Hot Diggity was entirely made up on the spot – I think looking back I’d’ve made the bassline less annoying, but it’s annoying in a fairly catchy way.  Other FLSTudio users will note I haven’t named or organised anything, no proper automation or anything :p No time!

Also through together a few sounds, although sound design isn’t my strongest suit so most’ve ’em are various instrument libraries I have wrangled into various explosions, dings, rumbles and clunks.

Approaching the final set of things I wanted done, I figured I needed a new obstacle, so an exploding magma-rock of some sort that’d increase in frequency the deeper you got.  Everyone loves explosions, so it didn’t take much to add some in:

The ability to push back the Devourer with lasers also made them more strategically viable

The ability to push back the Devourer with lasers also made them more strategically viable

The exploding rocks had more than a few fun bugs though: They initially could chain react and detonate each other, which later on wipes out pretty much all the level, constantly.  I removed that and also made them destroy any floating ore around because it could trigger the explosions too.

Actually ore has one of the funniest bugs in the game – While it’s being pulled towards the digger, it can actually Dig through the terrain to get to you, which in turn could trigger explosions.  This can cause massive reactions below you as ore falls down, blows stuff up, spawning more ore that falls down and so on and so forth.  Untiy crashed several times trying to wrangle this whole system into something actually playable, but I still like the fact ore large clusters of ore tearing through the level to reach you.  The magnetic pull-ore-towards-me systems was also considered as an optional component.

Also at this point I stuck a big textured quad over everything to simulate lighting.  Clever use of layers mean you still see the glow of ore through it.

What a seamless transition into another environment that isn't.

What a seamless transition into another environment that isn’t.

The last thing to go in was the biomes.  Because everything in Hot Diggity has various prefabs to configure what it does, it was pretty easy to create some variations of the cell generation.  I had bigger plans for this, but in the end only managed to create an Ice Biome and a Temple Biome.  The Ice Biome is tougher than regular, and I originally planned that it would naturally cool you down while you were in it, but this didn’t make it in.  The Temple Biome is just a big empty box, and the walls are the toughest tile in the game.  Originally I’d hoped to include a massive cache of ore in here that was tough to get to, but again time restraints meant it’s basically just a big shortcut.

 

Post Mortem

Overall I’m quite proud of Hot Diggity and glad to see other people have enjoyed it! It’s funny to think how utterly directionless I was during most of day 1 and then have everything come together late Day 1/early Day 2.  It isn’t a particularly ground-breaking, innovative game, but it’s an interesting spin on a popular concept, and in the end, Game Design evolves at its best when it takes current gaming mechanics and mutates them slightly to see what works and what doesn’t.

Good:

  • Getting much more used to Unity’s 2D Framework, which is useful for my current main game project.
  • Not too difficult to understand despite quite a few mechanics in play.
  • Actually quite pleased with the visuals, namely because while I’m an vaguely decent pixel artist, I can’t draw people for the life of me!
  • Level-up instead of Shopping for upgrades mechanic worked better than expected
  • Lasers!

Bad

  • Gets kindof absurdly difficult because of the lava blocks.  Think I may have overdone them a bit.
  • Big monster chasing you seems like a bit of a cop-out. And also looks weird and out-of-place.
  • Quite a few bugs with the extension mechanic – Possible to screw yourself over quite easily and make something that just doesn’t work.
  • Wanted more of everything, but some more strategic  components would’ve been good, and some more varied obstacles/terrain.

 

Tips for Jamming

  • Make sure you’re confident in the tools your using.  I barely know anything about using Game Maker, but I’ve been using C# for years and used Unity many times before, so I know what it can do, and I know what *I* can do.  This helps mitigate risks so you can just concentrate on getting the game done.  It’s worth learning code and such outside of jams so when you enter one you don’t have a constant barrier to overcome.
  • Keep an idea, or an actual written version of a prioritized backlog.  Important things first, bonus cool things later.  Make sure you always have a target and a thing to be working on.  Often helps to have parallel ones so if you get stuck with A you can hop on to B for a while.
  • Get some sleep! The brain can’t think properly when it’s starved of food and sleep.  Things that seem impossible to figure out at 11:30PM on day 1 may be a cakewalk at 9:AM Day 2.
  • Polish as you go! Spending a few more minutes just tidying something up, adding some detail to visuals, nice flourish animations, some particle effects here and there all helps the thing look better, and when your game looks better you’re more inclined to keep working.
  • Above all, have fun! Enjoy the spirit of competition, don’t take it too hard if it doesn’t turn out like you wanted. Learn, and try again another day! Just, keep making games!

Right. I’m off to play som’ore games. See ya’ll! 😀

 

Comments

29. Apr 2014 · 22:24 UTC
Damn, the best game I saw among the entries so far!
30. Apr 2014 · 00:51 UTC
“som’ore games”

Ba-dum-tish
06. May 2014 · 00:00 UTC
This is one of the best web games I’ve played let alone a LD game!
Ditto
06. May 2014 · 06:24 UTC
Awesome postmortem! Almost as entertaining as the game itself! I think I’ll try to get into Unity ’til the next LD!
06. May 2014 · 16:43 UTC
And then compile to iOS! This game would be fantastic on mobile. (I love upgrading stuff)
Merlinou
15. May 2015 · 20:00 UTC
Hello!

I played your game!

I pushed it as far as I could and I was wondering if you were planning to polish it or complete it at all.
Merlinou
17. May 2015 · 23:07 UTC
EDIT 1st Link not working for some reason

My Top 5

Seen a few of these posts, good for any nifty ones that people might’ve missed!

Anyway, having played over 100 now, here’s some of the best I’ve played thus far!

5. Arctic Antics

Aww look at the cute little OrcaAAAARGH

If it’s not already obvious by the rest of these choices, I’m a sucker for lovely pixel art.  This simple game sees you skatin’ around collecting pages while a vicious killer whale noms away at the ice to get you.  Great example of the hard-to-control-em-up and generally adorable.

4. The Loudest Ballerina

Whatever was consumed when this was made, I’d quite like some

Your father’s given you some steel ballet shoes, and there’s a slumbering monster beneath the dance hall.  Can you balance the perfect performance with minimal noise?  Bonkers and original concept, simple gameplay and wonderfully presented.

3. Where Is My Bone?

Wif!

Fantastic little adventure game with a dark twist.  Find the right scents to dig in the right spots and uncover the greatest mystery of all: Where is your bone?

3. Deep Blue Home

Glub!

Nice little exploratory MetroidVania-esque game. Fish your way through a few puzzles ‘n obstacles, upgrading your abilities as you go.  A well contained little package, just the right length and lovingly presented too!

1. Beneath the City

Admittedly “Stealth” and “Roguelike” are enough to make my ears twitch…

Fantastic little Thief-esque Roguelike.  Guard movements and vision telegraphed expertly, controls simple, nice little bit of story on top.  Whole thing looks gorgeous too. (AND there’s no overlong animations of a window being opened.). Would gladly play a full game of this, with a bit of the ol’ lock-pickin’ and loot-stealin’ on top of it!

 


 

 

I’m still digging (*ahem*) through the (absurdly huge) list of games.  Loads of great work’s gone into ’em.  If you haven’t already, check out my game Hot Diggity

Solution? Use a laser. And if that don’t work, use more laser.

It’s a zany dig-ore-upgrade-self game but you’re piloting a barely controllable drilling machine that you gradually build-up as you go.  Lots of explosions, shiny ore and a great bit gaping death-maw thing chasing you.  My current record’s 1300m odd, but I think that’s been bested by a few people!

 

Comments

06. May 2014 · 17:14 UTC
1,600m. You’re game was a Michael Bay movie at that point.

LD30

Good News Delivery Company : Day 1 Progress

A few gifs of Day 1’s progress.

Pick up the thing

Drop of the thing

You shouldn't go to space today

Tomorrow: Music & Sound, proper scoring.  Enemies & Obstacles, Victory/Death, tweaks & polish.

 

Good News Everyone!

GN, E!

GN, E!

Soo. Connected Worlds eh? Not my first choice, but let’s see what I can do this time.

As with my last entry (Hot Diggity), we’re visited the wonderful worlds of Vehicles vs Physics Engines, only this time we’re in the cold, dark eternity that is space.  It’s 4:00PM here so the first day is most of the way done, and thus far I’ve got a little solar system to fly about in, cargo to pick up, a couple of impossible to understand minimaps, and some silly randomly generated deliveries.

The goal will be to pick up cargo from planet A and deliver to planets B through Q as quickly as possible.  Bonuses for picking up lots of cargo (which all connects snake-like to the back of your ship and makes it a swervey, barely controllable mess) and dropping it off in a row quick enough – sort’ve Space Crazy Taxi.  After that basic bit’s done? Might have time to fit some PIRATES in and maybe some other fun stuff.  As always most of this is being made up as I go.

The Space thing was kinda obvious, but I was stuck in either “Space” or “Stargates between worlds RPG”, and I figure we’re going to have lots of both! Bonus points for anyone that pulls in live GPS data like tweets or summat as a game mechanic?

Anyways, back to the grind!

Comments

23. Aug 2014 · 13:54 UTC
I love me some vibrating sausages!
23. Aug 2014 · 14:26 UTC
Looking forward to play this one.

Good News Delivery Co. : How it was made + Retrospective

48 Hours & lots of swearing later, Good News Delivery Co. was finished. This post’ll cover in vague details how it was made, the problems that nearly killed it, and thoughts going forward. Lots of in progress shots & code/art discussion inside!

 

The Theme

“Connected Worlds” wasn’t my favorite choice of the themes this time.  There were a few near ideas I had for others (one involved jam-based weaponry) but come Saturday Morning I was kinda left curious what to do.  The obvious choice was a dual world mechanic of some sort, or something where you warp between different worlds Stargate-style.  In the end, quickly decided on something involving Space.

The Art

NoddyPlanets

DragonXVI’s noddy guide to basic planet graphics in Paint.net

Shot14

All my spaceships look like they were designed by a 5 year old.

Luckily, Space is one of those popular settings in games where it’s fairly easy to generate something quite nice looking with minimal effort.  Above is my standard process for making simple planets.  A starfield can just be black + noise + contrast + clouds for nebula too.  The planets in GNDC actually split the lighting & atmosphere layers above so I can ‘dynamically’ light them so they’re lit from the sun.

Shot1

First day early progress: Basic space graphics & ship movement

The Development

Originally I’d set it up so the planets orbit the sun or each other (for moons), and they’re dynamically ‘lit’ according to their position.  This was abandoned early on (anyone checking the source will not the ‘Orbiter’ script still exists but is disabled for most planets) as I didn’t want the game ‘level’ moving about too much.  Keeping everything still makes it easier to navigate and balance for gameplay.

With a ship flying about it needed something to do, and then came the idea of ferrying cargo back and forth between planets – ala Connected Worlds.  The obvious inspiration was Futurama’s “Planet Express”.  So I whipped up some cargo graphics, dropped ’em into the game and coded up a way for the ship to collect them and attach them to the last point in a chain, connected using Unity’s 2D Hinge joints.

Shot2

And at this point it was unplayable

Difficult to control snake of cargo wobbling your ship about? Sure might be some game in that, let’s go for it.

Spent much of the 2 days arguing with Unity’s physics engine, tweaking masses & torques & the effect of the planets gravity fields to try and get something reasonably fair (jury’s out if I actually managed that :p).  The next big problem was getting around – The solar system was quite sizable and I wanted quite a few planets, so I decided to implement a minimap.

Shot3

No idea what the thing in the middle was supposed to show. I only used the top bit.

Minimaps are quite simple once you get the deal.  Basically it takes a central point (The player’s ship on the left, the sun on the right), and calculates each important game object’s position relative to that.  Then we divide that by a ‘range’ (the left minimap’s range is shorter than the right) and multiply that final offset by the size of the minimap graphic and hey presto!  I also multiply the ‘blips’ alpha by the distance-from-focus / minimap-range so things fade out as they reach the edges of the minimap.  Didn’t mean to have two minimaps, but didn’t know what else to put on the right hand side and quite liked the symmetry of it.  I figured a full solar-system map might be quite useful?

Still in a GUI mood, I decided to whip up a quite text log to print out current objectives and keep the player notified on what’s going on.

Shot4

The randomly generated cargo names were quite fun. Essentially {Storage-type} of {adjective} {nouns}

Nothing special there, just a list of 4 strings that scroll as they’re added and work a bit like a queue.

Last thing on Day 1 was a bit more navigation aid.  The Minimaps weren’t brilliantly useful stuffed down in the bottom corners of the screen, so I decided to do a good ol’ guide arrow.  I wanted to make it quite flashy, so it points in the direction of your current goal when far away, then switches so it hovers over the target when close by (This is fairly old.  I think even the first GTA’s objective arrow did this) and animates nicely between the two states.  This wasn’t the last of the blatant TELL THE PLAYER WHAT THEY NEED TO DO visual feedback I ended up including, as later on I also made the destination planet pulse bright green too.

Day two began with morning sound & music creation.  The music was quickly whipped together in FL Studio after figuring out the Chorus on the first night.  It’s a fairly simple ‘catchy’ dance-track thing.

Shot6

What FLStudio looks like when you don’t name anything ever or use proper automation or anything.

Since this was on the clock, the whole thing was made in 1 hour and uses a fair few default drum loops shipped with FL Studio (Which is the audio equivalent of Photoshop lens flares, but DON’T CARE NO TIME! :p)

With music & sound out the way I still hadn’t actually got a working game.  You couldn’t lose and you couldn’t make any money, so I quickly shoved in a score & a timer.

Shot7

I *really* like Unity’s new particle system. If it wasn’t obvious.

Also added some better feedback into what cargo is within pickup range, since before this you just had to mash the pickup button and hope you were close enough.  This bit of UI alone improved the game about 3 times over at this point.

At some point I also wanted to add a Black Hole.  Did the visuals for it, but in the end these ended up as harmless ‘gravity wells’ that just pull your ship in a bit.  Didn’t have time to implement any special way of throwing stuff into it, but for a brief time they were a valid destination for delivering cargo to.

Shot10

A big purple swirly thing in space.

Before tweaking the various physics parameters, these guys could actually pull you in with such force that ships carrying more than 4 cargo couldn’t escape at all and you had to eject cargo and pretty much leave it.

At this point, most f the game was in & functional, but I had two other things I wanted to get in since flying between planets and dropping stuff off was fairly simple.  I wanted obstacles & enemies! I wanted asteroids & PIRATES!

I didn’t end up getting to do the asteroids.

But the pirates?

Shot11

Yar har, fiddle-de-dee.

The pirate ship graphics is pretty much just the player’s ship with some bits added & painted blue.  The turret tracks independently in a similar way to Hot Diggity’s laser turrets.  The pirate AI is pretty simple:

  • Pick a random patrol point.
  • Fly towards the point. If you reach it, pick another one.
  • If the player gets too close, start chasing them.
  • If the player gets too close to the guns, start shooting the turret.

I tried plugging in some planet-avoidance AI, but after 5 minutes of that I just thought “BUGGER IT” and let them plow into planets and immediately respawn elsewhere.  The pirates represented a massive step up in difficult, as they can completely ruin a massive haul of cargo with a well placed shot.  Ideally I’d have made them warp in after 1 minute of gameplay and maybe increase the number as time runs down, but I didn’t think of that soon enough…

Shot13

A view of the scene in Unity’s editor, showing planet locations & gravity fields & patrol points for pirates. Note this visual was actually used in the games logo too, behind the main text.

The Horrible Bugs

So finally I built the thing and ran it in the Unity Webplayer.

DISASTER! The controls were utterly broken – The ship spun around uncontrollably. What the hell?

A quick Unity Editor update highlighted the problem – Sometime between Untiy 4.5.1 and 4.5.3 the 2D physics has had a hefty change to how it calculates torque & angular velocity.  Even after fixing the ship’s steering, carrying lots of cargo made the ship utterly uncontrollable – with 3 hours to go!

Not having enough time to deal with it, I quickly hacked in a few things – reduced the power of the gravitational pull of planets, and reduced the mass of cargo while it’s being carried so it doesn’t toss your ship about like a leaf when you’re carrying it.  The final result isn’t perfect, but it’s reasonably playable.

So y’know.  Make sure you’re using the latest version of something before you start. :p

 

The Takeaway

This is my second Ludum Dare after the (absurdly successful seriously thanks guys!) Hot Diggity earlier this year.  This is another physics based frantic arcade-y thing and I think I might take a break from ’em next time.  Fiddling around with physics engines is only so much fun when y’could be doing a nice simple platformer or something a bit easier to control.  Things I need to try for next time:

  • Stop making your games so ridiculously difficult.  Not asking for a tutorial or anything, just a decent difficulty curve.
  • Try something a bit more friendly and less machinery/metallic.  Drillers & Spaceships’re a bit too “boys-toys”-ey, so might go for something a bit different next time.
  • Put more effort into the GUI, Intro & Outro scenes: Seriously the outro is horrible. Like plain (ARIAL!) text on a black background.  And the GUI’s got obvious aliasing all over it.
  • Maybe try Flash again? I’ve alternated between Flash/Flixel and Unity for games jams before.  Might try it again? Will see.
  • Maybe try 3D? I’ve done 1 3D game for a games jam. Mostly avoid this because my modelling skills are a bit pants, but can manage some decent results with basic geometry.

Anyway, that’s it for me.  Time to play some other games!

As always you can find my game HERE! Don’t forget to rate it! 😀

 

Good News Delivery Co. EASIER VERSION released

Aaaaand RELEASE! Damnit… Ok this one NOW! Damnit… Ok surely OH COME ON!

So Good News Delivery Co. has been very well received, but one fairly consistent bit of feedback is that it’s ridiculously difficult.

So with a few minor tweaks I’ve released a post-48hr compo version and released a web-only build version of it which you can find here (link also available in the original webplayer link).  The changes you can expect:

  • The Pirates have slept in and won’t bother you for a whole minute of gameplay.  After which expect them to warp in frequently as time goes on.
  • More good news is that in their hurry they haven’t managed to activate their shields so you can now destroy them by hitting them fast enough with something, be it your ship or your cargo.
  • I’ve also coated the ship in some experimental substance that makes it really bouncy, which should stop you getting stuck so easily when you hit a planet.
  • The galactic trading standard has lowered the fine for destroyed cargo from $100 down to $50.
  • Cargo should now be pulled in by gravity a bit better, making it easier to release cargo from orbit and have it land correctly.
  • Improved shipping regulations mean that cargo’s tougher than before.  It can now survive two shots of pirate laser fire before being destroyed.
  • Also cargo will now NEVER be destroyed if it hits its destination planet at any speed, so SLAM DUNK IT HOME.

Obviously when rating the game please judge the original version.  This one’s more for if you’ve played the original, but felt you couldn’t enjoy it properly due to the difficulty.  Hopefully this set of tweaks makes it a bit fairer and helps get the general scores people are getting higher than the average QI episode.

So yeah. Here’s the link again and Here’s the link to the original page.

Safe shipping everyone!

LD32

Free Jam music

I’ll be taking part in the Compo this time again, having previously done Hot Diggity (28) and Good News Delivery (29), but thought I’d do a little warmup and make some jam-friendly assets for folk.  Particularly on the music side, just for anyone who needs it.

I’ll be updating this post with whatever I come up.  Basically they’re free to use, edit, mix, chop, whatever for any of yer jam entries.  They’re presented in .ogg format and designed to loop. Most audio software should be able to handle converting ’em to whatever you need.

 

Slam Jam Bakery : Explosions!

Well you can now complete the level…

Go out with a bang

Each ‘level’ (There’s only one but I’m hoping for a second once everything’s in place) charges you with destroying the ‘Core’ of the enemy airship with your Jam Cannon.  This Core boss is effectively just a big laser turret with a weakspot you have to jam up, upon which everything start’s exploding and you’ve to make an exciting and daring escape before everything blows up.

shot_03

The DragonXVI Approved Additive Blended Laser Of Death™

 

Currently the game’s using a shoddy bit of mouse control to aim the cannon and WASD to move about.  I want to properly get some varied controls in so folk can use gamepads too, so that’s on the list next, along with sound effects & menus/other screens, and other polish.

I also had a fake CRT-ish screen effect but I’m pondering leaving that out as my eyes hurt too much. :p

shot_04

I think it’s the fisheye lens…

 

Jam on!

 

Comments

ViKing Games
19. Apr 2015 · 15:44 UTC
Maybe add an option to turn the CRT effect on and off.

LD 39

"Charge!" : End of Day 1!

Though I'd try something a bit different and gave PICO-8 a go! Here's my little Sci-Fi Rogue/Hack thing's progress so far.

Your goal is to travel through space, using preciously dwindling power to find derlict spacecraft to raid for supplies and more power cells. Can you reach the mythical Utopia said to lie at the edge of the Galaxy? Probably not!PICO-8em5.gifPICO-8/em6.gif

Tomorrow: Pickups, Weapons and Armor, special (power draining) equipment, new enemies, and flying to new stations along the way to the game end! Hopefully also have time for some music 'n sound!

To see more progress, check my twitter at @DragonXVI

Good luck everyone!

  • DXVI

"Charge! " Now available

My Pico-8 Roguelike CHARGE! is now available!

PICO-8em3.gif PICO-8/em4.gif

Come play it here: https://ldjam.com/events/ludum-dare/39/charge

(and I'm off to sleep! :D)

  • DXVI

Charge! Devlog

PICO-8_3b.gif

Charge! was my compo entry this LD39, and first go with an entry using PICO-8. A sci-fi Roguelike where you scavenge derelict space stations for power, supplies and gear in order to warp towards your end goal. It mostly worked quite well, with a few bugs and some slightly imbalanced combat. Read on for some more look at how it was made!

You can play it here: https://ldjam.com/events/ludum-dare/39/charge


Brainstorming (+ Sprites)

LD1.png

First thing I tend to do start whipping up some graphics, usually some basic sprites + tiles. During this time I'll also be fleshing out how the game will play. Here you can see the basic player, map tiles, collectable items (including the eventually unused 'Oxygen' tank) and enemy design. It's not much to start with, but it's enough to start working on the main game systems, which initially mostly involved procedural map generation...

Roguelike Map Generation

PICO-8_0.gif

Anyone familiar with http://www.roguebasin.com or even Roguelike map gen knows there's loads of ways to whip up a map depending on what you're after. The method used in Charge! is fairly simple, and based off the one described here: http://www.roguebasin.com/index.php?title=Dungeon-Building_Algorithm

Basically the steps are: 1. Start with a NxN sized room - check if isn't overlapping other rooms and if it is, bail and try again. 2. Mark all the tiles with the NxN square as a floor, and the surrounding ones as walls. Particularly, horizontal and vertical walls are named as 'Frontiers' - somewhere we could potentially add a connecting room. Also have a notion if which 'direction' this frontier is leaving the room from. 3. Select a random frontier tile from our list - this is where our new room will start - and repeat step 1. We'll also put a door at the frontier tile used, and remove it from the frontier list.

PICO-8_1.gif

Basically keep doing that till we have a bunch of rooms. We can alternate what tiles to use depending on what type of room it is, and even the size - Charge! has a special 'Corridor' type which is just a long, thin room, and several main rooms which mostly just have different flavoured tiles. Once we've got the requisite number of rooms (larger 'map types' have more rooms) we place the 'Hanger' room last, and then we populate the map with stuff. This mostly involves picking floor tiles to drop enemies, crates and other random bits and pieces - most of which are determined by how far you've progressed through the game and what 'map type' you've specified (i.e. Habitats are large and the loot table prefers food, Military bases always have equipment etc.)

Field of View

A lot of the tension of Roguelikes aside from everything trying to kill you, is that you can't always see what's around the corner that will try and kill you. To implement this, we use a classic FoV technique where we take all the tiles around you within a set range (say, 5 tiles), and from the player we try and draw a line between that tile and the player. If the line reaches the tile without hitting anything solid (or at least 'clear' so we can have solid walls that behave like windows), you can see the tile. If not, it's obscured by something and we stop at the tile we hit. This relies on a classic line algorithm called Bresenham's Line Algorithm, which you can read up on http://www.roguebasin.com/index.php?title=Bresenham%27sLineAlgorithm

PICO-8_2.gif

Usually, you also don't get a 'fog of war' version of the map until you uncover the tiles initially, but to keep the game a little more fair, you're given hints as to the general layout of the ship and the location of doors.

Enemies and Combat

PICO-8_3.gif

Enemy AI was fairly basic - I didn't get time to implement any pathfinding - so the basic AI for the 5 enemy types is as follows: - Blobs: Just bounce back and forth - Hackwings: Step to a random adjacent tile. - Turret: Stands completely still - only attacks if you're standing beside it. - Zydd and Gizoid: Wander like Hackwings unless the player can see them, then move towards the player.

The latter AI there attempts to do something a bit smarter, but 'Move towards the player' just forces them to move as the crow flies, meaning they get confused by windows.

PICO-8_0b.gif

The above was an early attempt at the 'Gizoid' enemy, which originally was stationary but would duplicate itself to surrounding tiles, spreading throughout the station. This.... had some balance issues and ground the game to a crawl, so I quickly re-purposed them to something a little more basic :p

PICO-8_5.gif

Combat is fairly simple, and massively unbalanced. As with standard Roguelikes, you take your turn - the enemies take theirs. Combat is resolved by trying to move into a square something else is already on, and mostly involves some random rolls against a 'To Hit' chance, and then damage is inferred by Attack - Def. It's basic, and it results in some "You took 0 damage" nonsense which I'd probably limit so 1HP is the minimum possible damage instead of 0, but it worked reasonably well.

And the rest

PICO-8_1b.gif

With the set of gear, collectables to fill meters back up, and enemies, I had everything needed to start working on how the game would progress. Ultimately there's an internal 'Level' that jumps up each time you change map, and this unlocks new enemy types as it increases. Each map type also defines a set of rules as described above, and generally larger, more rewarding maps will cost more power - the resource that also counts down over type as you navigate. There's also an incredibly unbalanced 'Loot Table' system that determines the contents of crates depending on the map type you're on which was quite fun, and pretty easy to implement (if a bit messy in code).

Post mortem

PICO-8_3b.gif

What went well

  • A basic but functional game!
  • Map generator held up fairly well (most of the time...)
  • Pico-8 pretty fun to work in (in-built gif recorder certainly helped!)
  • Reasonable sense of progressing difficulty

What didn't really work

  • Game balance is a bit all over the shop: -- It's fairly easy to gather enough power to skip the last several maps if you stick to solar stations -- Certain gear is so massively overpowered (rifle, heavy armour) that if you're lucky enough to get it you've basically won
  • Didn't get to implement 'Tech' - special equipment which would consume Power to do cool stuff like Emergency Teleport To Hanger, Smart Bomb, Freeze Enemies, Minimap etc.
  • Map generation had a few bugs, notably it would occasionally build rooms right at the edge of the map and leave a big gap where a wall should be - letting you walk out into space (which I didn't get time to auto-kill the player when you did this :p )
  • Didn't get time for music - it's atmospheric enough without it, but I'm not used to using PICO-8's tracker at speed yet.
  • The visuals were ok, but quite noisy for such a small resolution - map visuals could've been clearer at defining walls, doors, floors etc.

Next Time - The big 40!

Liked PICO-8 - working with crazy limitations is great fun and I'd def do it again. Will hopefully see ya'll again for another game!

'Till then, Stay Fresh! Or Off The Hook. Or whatever it is you do...

  • DXVI

LD 41

Witchbeat progress - Day 1

Back for another LDJam and this time it's... Witchbeat! A sort've Zelda meets Ouendan thing?

bardem1.gif bard/em2.gif

Got a few mechanics and more enemies to add yet, and combat's still a bit awkward, but it kinda works. Wanted to do something like this for a while so interesting to see if it actually has legs.

Witchbeat - Released!

Rhythmic Witchraft? Dance Dance Dungeoneering? Whatever this is, it's READY!

bardem6.gif bard/em8.gif bard_10.gif

Come play it Here!

Good luck everyone finishing up for the compo! 3 hrs left!!

  • D16

Witchbeat - Downloadable version released!

bard_7.gif

My Rhythm-Game-Zelda-Esque thing Witchbeat has downloadable versions for Windows, Mac and Linux now. Grab 'em from here!!

I was also gonna do a lengthy post mortem too, buuuuut I forgot to save the draft and lost it all, so here's some Dev Shots with light commentry instead!


bard_000.png Originally I pondered about doing something more Dark Souls than Zelda, but given I was using Pico8, figured it was easier mechanically and aesthetically to do the latter! :p

bard_0.gif The end of Day 1 combat system let you target anything nearby, and attacks were distributed randomly to each target. This made it incredibly annoying if you wanted to target an enemy bearing down on you and instead you just attacked some nearby pot, so it was changed to focus on the closest, importantest target!

bard_5.gif 2 Enemy types didn't make it in since I ran out of time - the Blob was originally going to bounce at you in time with the music and divide into 2 smaller ones. Therewas also going to be an enemy wizard which would fire projectiles at you - that's why there's a bunch of islands in the water with enemies, they were originally going to be firing at you. The boss would also fire projectiles at you too, but instead he's basically a slightly tougher version of the kobold enemy.

bard_6.gif Dialog systems are a faff!

bard_8.gif Overall I think Witchbeat went pretty well! There's a few issues with how the rhythm mechanics were done in Pico8, which were mostly due to silly technical implementations early on - I've a better idea on how to do this properly if I choose to do something similar in the future. I really liked this LDJam's theme this time round, and hope everyone's having fun playing all these crazy mashups! :D

'Till next time, - D16

Ludum Dare 45

Pico Royale (Day 1 Progress)

Well that's one day down of my fairly leisurely entry for the LD Compo: Pico Royale!

ld45_5.gif

Yep it's a teeny little Battle Royale! Parachuted onto an island with nothing, it's a race to scavenge weapons, armor and supplies before everyone else starts hunting each other. Since Pico-8 Multiplayer's a bit of an ask, everything's simulated with some noddy AI - shown off here with some debugging:

ld45_6.gif

Basic items + weapon logic are in with room for more types as needed + weightings. Hopefully be able to resolve the lightweight simulation into the close-combat game logic sensibly so it feels like there's a large scale battle going on around you, then it's onto cleaning up the game flow + performance fixups + JUICE :D

Good luck everyone!

Ludum Dare 46

Solais - End of Day 1

Keepin' things pretty simple during lockdown with some light-based platform shenanigans!

ld46_3.gif

The basic mechanic's there - your light source gradually depletes but can be restored by touching other light sources. Basic platform obstacles are there, plus touching water douses the flame. Once the fire's out you've limited time to relight it before the shadows consume you in some game-over related manner.

By keeping things fairly straightforward, should have more time to focus on decent level design, interesting traversal mechanics and maybe for once a decent title screen? We'll see :p

Good luck everyone!