JonathanG

LD23

We’re in!

We’re in!  We’ll be entering Ludum Dare for the first time, although we used to organise our own 48 hour competitions back when we were at university.  It’ll be good to have 24 hours longer in the Jam than we’re used to!

We’ll use Unity to make the game, Blender for the 3D modelling, GIMP and Inkscape for the texturing, FruityLoops for music, as3sfxr and Audacity for sound effects, and Chronolapse, AVISynth and Fraps for timelapse videos!  Also SVN to keep everything in sync.

Looking forward to this!

 

Macro Marines timelapse

Here’s a timelapse of all three of us making Macro Marines for the Jam!

http://www.youtube.com/watch?v=9rKojSgseRY

LD24

Mighty-chondria post-mortem

This is our second time entering Ludum Dare! Our previous game was Macro Marines, and you can read about how we got on. We’ve learned from some of our mistakes, and we think that this time our game is better! Please play and rate it!

 

See how we made it:

 

Good

Unity is brilliant, and easy to use! We had great fun learning to use it in LD23, so we used it again this time and had a better idea of how to use it properly. It does everything for you and lets you get on with making the game, we love it!

We got plenty of sleep and decent food!The Jam started at 2AM UK time, so we decided to get an early night and wake up bright and early to discover the theme in the morning and think of ideas over breakfast.Each night we slept enough to be refreshed the next day.This is in contrast to how we’d do things at university, where some of us would try and go the whole weekend without sleep! (it didn’t end well)

Nice graphics!There are still some rough areas in the GUI, but overall the game looks good and the bacteria shaders look like proper scanning electron micrograph images.

You can only tell this isn’t a real blood vessel because of the health bar

Catchy music!Just listen to the groove on that DNA upgrade screen, yeah!

Good time management!Although we didn’t get a “basic but finished” version of the game uploaded and submitted 4 hours before the deadline like last time, Ricky did drive us to finish before the deadline and concentrate on the important features.

Decent gameplay in a short amount of time!We programmed the basic flight and shooting controls in an hour or two, allowing us to spend time tweaking and making sure they felt good. The bacteria AI took longer, but was working well by the end of Day 2. This left us with a day to implement the DNA upgrade screen – the key to the “Evolution” theme (although the bacteria do mutate and exhibit natural selection) and something which makes the game more complex and interesting than a simple shooter. But does that make it more fun?

The cubes are supposed to be segments of DNA

Title screen – pwnz deus ex

Bad

Spent too much time on procedural environment generation. We thought that generating the “tunnels” in code and having junctions or “rooms” between them would allow us to either create a large level for the player to explore, or allow the computer to generate the level for us. In the end, neither happened, we just created a small level with three joined tunnels. For the work we put into it, we could have created an equivalent level in Blender in half the time, but when we extend the game beyond the competition it will come in very handy…

Mmm, splines

No jokes or silly voice acting, the bacterial theme didn’t really lend itself to that although I suspect we just weren’t trying hard enough to fit them in. Also we were running out of time and this was low on the priority list.

Upgrades aren’t balanced, it’s too easy to become too powerful too quickly. We need to learn how to pace a game properly.

These bacteria were busy dividing behind my back while I cleared out another infection

Conclusion

We had great fun making a game with Unity, and I think we’ve learned from our previous Ludum Dare and made a better game this time!

Please play our game, leave some feedback and help us see what we can do better next time!

Tags: ld24, post-mortem, postmortem, timelapse, unity3d

LD26

❏♥❀ post-mortem

This is our third time entering Ludum Dare!  Our previous games were Macro Marines in LD23 and Mighty-chondria in LD24.  We didn’t manage to enter LD25, but for LD26 we’ve made another great game!

You may remember us from previous games such as...

You may remember us from previous games such as…

 


 

A post-mortem of ❏♥❀ (Square Heart Flower)

 

ld26-screenshot-1

 

Please do play our game and give it a rating!

Here’s a timelapse of us making it:

Good

Unity is brilliant, and easy to use!  We’ve used it for a couple of games, and although we could still improve the way we organise our code/prefabs/scenes, it lets us put a game together very quickly!  It’s also robust enough that we don’t have to worry about crashes or rendering problems.

Minimalism made the art easier to create!  It would be easy to think that a minimalistic theme would allow us to create bad art and pass it off as minimalist.  However, we spent some time thinking about minimalism, and came up with an art style that looks great without requiring detailed texture work!  Using Blender’s Inset Faces tool with a group of faces selected, an outline could be created in the geometry of the model itself, and then a black material applied to the “outline” polygons to suggest the edges of the object in the white game environment.

blender-edges

Objects are reduced to the minimal graphics needed to represent them, but you can still tell what they are.

Can you tell what it is?

Can you tell what it is?

Minimalism made the dialogue easier to write!  There is no text in the game – we explored the concept of reducing language down to symbols.  It’s part of the puzzle, but we find it interesting that players can figure out what’s going on even though the characters they meet and the dialogue interface only convey a minimal amount of information.

What's up, brown cube? You heart flowers?

What’s up, brown cube? You heart flower?

We pushed ourselves to make something new!  We are all programmers by profession, so it is unusual for us to have a go at making an artistic game.  Violence provides a variety of game mechanics that are easy to build a game around, so it was a challenge to create a non-violent game for a change!

Bad

Having only one Unity scene meant we couldn’t all work in parallel.  Unity scene files are binary, which means they won’t merge properly if there are conflicts in the source control.  At the beginning of the weekend we were working on separate scenes to test individual systems, but at the end there was a lot of work to pull everything together, and it could only be done by one person.

We didn’t get the story working completely until the end of the third day.  It took us a long time to create all the content, including the AI behaviour.  This meant that the story we implemented, although a complete story, wasn’t as elaborate and non-linear as we were hoping.

What's wrong?

What’s wrong?

We didn’t make use of all the features we’d programmed into the dialogue system.  By having a minimalist dialogue system, we envisioned that the player would be able to say anything they wanted by constructing the sentences from symbols.  That is present in the game, but because of limitations in the graphical dialogue interface, we removed the ability for characters to respond to every piece of information you give them.  Also the code allows for much more complicated logical rules – to change what the characters think and do – than are present in the final story, but again the GUI is limited in what can be reasonably displayed.

Our external source control system was slow.  The Mercurial repository was hosted on bitbucket.org.  I had hoped that this would be a good way of enabling us to continue working on the game together after we had all gone home, but it meant that pushing to the repository took up to several minutes.  “We’ve wasted, like, hours of the competition, pushing to this repository” said Dunk, who has no concept of the passage of time, and who liked to commit huge MP3 and WAV files.

In the UK, the competition started and finished at 3:00 AM.  Technically that would give us more time, because we usually sleep through the theme announcement and start when we wake up on Saturday morning, then stay awake on Monday to work through to the competition deadline – an extra hour this time compared to the usual finish of 2:00 AM.  However working that late is a recipe for introducing bugs into the game at the last minute, so we decided to create a stable build, submit it and go to bed even though we could have stayed up longer to add more features.

Conclusion

We’re very pleased with the game we’ve made in Unity!  It fits the minimalism theme well, and is playable and fun.  We can always think of more that could be included, but it’s a time-constrained competition.  Please play and rate our game!

❏♥❀ timelapse video

Thanks to everyone who has been playing our game, Square Heart Flower!  We appreciate the comments, and we look forward to finding out how it’s been rated!

Have you managed to enter the castle?

Have you worked out how to enter the castle?

 

Here’s a timelapse of us making it.  There were three in our team (Jonathan, Dunk and Ricky), and Jonathan used two monitors.  You can see our different attempts at trying to achieve the distinctive minimalist graphics, and some clips of gameplay at different stages throughout the development!

LD29

Inaccuracy in reported rankings?

On the page for my entry, I see these scores and rankings:

mypage

 

However, when I look at the top 100 Overall (Jam) results, the rankings appear differently:

top100

 

In the top 25 list, I appear 20th:

top25-theme

Why are they different?

Comments

burgerdare
20. May 2014 · 12:25 UTC
I’ve actually encountered a similar issue. The rankings don’t appear to be TOO heavily distant, though, and since we’re not competing for any serious prizes, I’d let it slide.
20. May 2014 · 12:51 UTC
It is because of tied scores.
20. May 2014 · 13:28 UTC
Hey there! Burger, I think you’re right, it’s not just the tied scores. In my own entry, not only the ranking but also the points are showing different. See if that’s the same problem you have:

LD30

Space Rails timelapse!

Here is the timelapse of how we made Space Rails:

 

We really enjoyed making it, but as with our other games (Macro Marines, Mighty-chondria and ❏♥❀) we spent a lot of time working on a complex system and not so much time working on the gameplay.

This time the complex system was the ability to draw rails freehand in space, and have the trains follow and branch different ways.  Also the supply/demand economy of the different planets has a lot going on behind the scenes.

 

LD30-screenshot-2

 

Will we ever learn?

Tags: jam, LD30, timelapse, unity, unity3d

LD32

Rate In for a pound!

With only a few hours left, there’s still time to play and rate In for a pound!

LD32-screenshot-4

It’s worth it just for the intro!

LD32-screenshot-5

LD33

Random shire generation, for added detail

In The adventures of the Squire and the Liar, you’re always travelling somewhere new. This is because wherever you go, you fool the villagers into giving you their money (you monster), so you are never welcome in the same Shire twice! It’s also a good showcase of random generation used as an easy way to add detail and richness to a world, given how short the Ludum Dare deadline is!

random town generation-s

Wouldn’t you just love to visit the famous ‘Amusing Bridge’ in Trumpcote?

The code to do this is really simple!

private readonly string[] villagePre = {
     "North",
     "South",
     "New",
     "Old"
 };
 
 private readonly string[] villageNames = {
     "Axe",
     "Raven",
     "Trump",
     "Beer",
     "Cringe"
 };
 
 private readonly string[] villageCompound = {
     "ton",
     "bridge",
     "hall",
     "ham",
 "cote"
 };
 
 private readonly string[] villageDesc = {
     "Village",
     "Hollow",
     "Motte",
     "Crossing"
 };
 
 private const int PreVillageChance = 3;
 private const int VillageCompoundChance = 2;
 private const int VillageDescChance = 4;
 
 public string GenerateVillageName ()
 {
     string vName = "";
     
     if (Random.Range (0, PreVillageChance) == 0) {
         vName += villagePre [Random.Range (0, villagePre.Length)] + " ";
     }
     
     vName += villageNames [Random.Range (0, villageNames.Length)];
     
     if (Random.Range (0, VillageCompoundChance) == 0) {
         vName += villageCompound [Random.Range (0, villageCompound.Length)];
     }
     
     if (Random.Range (0, VillageDescChance) == 0) {
         vName += " " + villageDesc [Random.Range (0, villageDesc.Length)];
     }
     
     return vName;
 }

The arrays of name segments are inspired both by fantasy worlds, and by good-old English town names. There are plenty more in our game (and we had fun thinking them up), but this is just an example.

Whenever a world is generated, the villages on the map are given random names, to add some variety on multiple playthroughs.  It also helps with the Mood and Humour judging categories, because it gives the feel of a richer world, and sometimes the generated names can be really funny 😀

There is a lot more random detail generation in our game, see if you can spot all the places we used it!

Play our game, The adventures of the Squire and the Liar!

screenshot-01

LD35