Ludum Dare 36
Coming August 26th-29th Weekend

Suggest a theme!
Theme suggestions for LD36 now open

Posts Tagged ‘gif’

Transformagician Level Generation and Design

Posted by
Tuesday, May 3rd, 2016 12:42 am

"ANOTHER

I already touched upon the level generation in the Developer commentary video,
but that’s not enough info now is it! Here’s some more…

Tiles

One of the easiest ways to construct a virtual environment is to use tiles.
For me the decision to go with the technique was made even easier by already having an old tilemapping system laying around.
It was a bit rusty, but a few hours of mangling put it straight.

Sets

WallAndFloors

The tile graphics are as simple as possible. There’s a wall and there’s a floor.

I of course only implemented these assets as they were made by Ranquil. Pay special attention to the bump mapping!

Reading

The level is generated from an xml file. Here’s a little example:

<Ship type="TestMap">
 , , , , , , , , ,
 , . w . h . w . ,
 , . . . . . . . ,
 , . w . p . w . ,
 , . w w w w w . ,
 , . . . . . . . ,
 , . . . e . . . ,
 , . . . . . . . ,
 , , , , , , , , ,
 </Ship>

TestLevel

There are a few oddities right off the bat. The XML element is called a ship as that’s what the original project had, spaceships. The map is also flipped around as unity XYZ coordinates don’t quite match with the XY coordinates of the map file.

One nifty feature in the generator is spawning random rooms to specific positions on the map. The rooms themselves are defined in the same way as the maps.

<Room name="roomD" loot_a="0,1" enemy_a="2,6">
 w w w w . w w w w
 w . . . . . . . w
 w . w . w . w . .
 w . . . . . . . w
 . . w . o . w . .
 w . . . . . . . w
 w . w . w . w . .
 w . . . . . . . w
 w w w w . w w w w
 </Room>

And rooms areas are outlined with the characters R (room start position) and r (room limits).

 c c w c c c c c , , , , ,
 c c c w c R r r r r r r ,
 o c c c c r r r r r r r ,
 c c w c c r r r r r r r ,
 c c c w c r r r r r r r c
 c w c c c r r r r r r r c
 c c w c c r r r r r r r c
 c c c c c r r r r r r r c
 o c w c c r r r r r r r c
 c c c w c r r r r r r r c
 c c c c c c c c c c c c c
 , , , , , , c c c c c c c

(excerpt from a bigger map)

You can see the room randomization featured in the GIF.

Writing

Designing maps in black and white is kind of like programming in vanilla notepad, no syntax highlighting, no nothing. In other words clumsy and crude.

This issue can be resolved with conditional formatting in a spreadsheet (in this case Libre Office). Compare and contrast, the text file version:

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
 , W w w w w w w , , , , , , , , , , , , , , , , , , , , , w c c c c c , , , ,
 , w p p . . . w , , , , , , , , , , , , , , , , , , , , , w c o c o c , , , ,
 , w p p w w . . c c c c c c c c c c c c c c c c c c c c c c c c c c c , , , ,
 , w . w R r r r r c c c c c c R r r r r r r r r c R r r r c w w , , c , , , ,
 , w . w r r r r r c , w c , c r r r r r r r r r c r r r r c , , , , c , , , ,
 , w . . r r r r r c , w c , c r r r r r r r r r c r r r r c , , , w c w , , ,
 , w w . r r r r r c , w c , c r r r r r r r r r c r r r r c , , , w c w , c ,
 , , , c r r r r r c c c c c c r r r r r r r r r c r r r r c , , , w c c c c ,
 , , , c r r r r r c c , w c c r r r r r r r r r c r r r r c , , , w c w , c ,
 , , , c r r r r r c o , w o c r r r r r r r r r c r r r r c , , , w c w , , ,
 , , , c r r r r r c c , w c c r r r r r r r r r c r r r r c , , , , c , , , ,
 w c c c c c c c c c c c c c c r r r r r r r r r c r r r r c , , , , c , , , ,
 , c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c c , , , ,
 w c R r r r r r r r r r c c c c c R r r r r r r w c c R r r r r r c , , , , ,
 , c r r r r r r r r r r c c c c c r r r r r r r w c c r r r r r r c , , , , ,
 w c r r r r r r r r r r c c c c c r r r r r r r c c w r r r r r r c , , , , ,
 , c r r r r r r r r r r c c c c c r r r r r r r c c w r r r r r r c , , , , ,
 w c r r r r r r r r r r c c c c c r r r r r r r c c c r r r r r r c , , , , ,
 , c r r c c c c c c c c c c c w c r r r r r r r c w c r r r r r r c , , , , ,
 w c r r c w c w c w c w c c c w c c c c c c c c c w c r r r r r r c , , , , ,
 , , r r c c c c c c c c c c c w c R r r r r r r c w c r r r r r r c , , , , ,
 , , r r c w c w c w c w c c c c c r r r r r r r c c c r r r r r r c , , , , ,
 , , r r c o c o c o c o c w c c c r r r r r r r w c c r r r r r r c w w , , ,
 , , , , c c c c c c c c c c w c c r r r r r r r c c w r r r r r r c , w , , ,
 , , w w c c c c c c c c c c c c c r r r r r r r w c c r r r r r r c , w , , ,
 , , w w c w , , , , c c c w c c c c c c c c c c c c c c c c c c c c , w , , ,
 , , w w c w w , , , c c o w o c c R r r r r r r r c , , c c , , , c , w , , ,
 , , w w c w w w , , c w w o w w c r r r r r r r r c , , c c , , , c , w , , ,
 , , , , c , w w w , c c o w o c c r r r r r r r r c w c c c c w w c w w w w w
 , , , , c , , w w c c c c w c c c r r r r r r r r c w c o c c , , c , w , , w
 , , , , c , , , c c c c c c c c c r r r r r r r r c c c w o c c c c , w , , w
 , , , , c , , , c c R r r r r c c r r r r r r r r c c c o w c c c c , w , , w
 , , , , c , , , c c r r r r r c c r r r r r r r r c w c c o c , , c , w , , w
 , , , , c c c c c c r r r r r c c r r r r r r r r c w c c c c w w o w w w w w
 , , , , c w w w w c r r r r r c c c c c c c c c c c , , c c , , , w , w , , ,
 , , , , c c c c c c r r r r r c w c , w , , , w , c , , c c , , , , , w , , ,
 , , , , , , c w c c r r r r r c o c , , w , w , , c c c c c c c c c , w , , ,
 , , , , , , c w c c r r r r r c c c , , , w , , , c R r r r r r r c , w , , ,
 , , , , , , c w c c r r r r r c w c , , w , w , , c r r r r r r r c , w , , ,
 , , , , , , c w c c r r r r r c o c , w , , , w , c r r r r r r r c , w , , ,
 , , , , , , c w c c c c c c c c c c c c c c c c c c r r r r r r r c , w , , ,
 , , , , , , c c c c c c w c c c c c , , , , , c , c r r r r r r r c , w , , ,
 , , , , , , , , , , c c c w c R r r r r r r , c w c r r r r r r r c c c c c ,
 , , , , , , , , , w o c c c c r r r r r r r , c w c r r r r r r r c w w w c ,
 , , , , , , , , , , c c w c c r r r r r r r , c , c r r r r r r r c c c c c ,
 , , , , , , , , , , c c c w c r r r r r r r c c c c c c c c c c c c c c o w ,
 , , , , , , , , , w c w c c c r r r r r r r c c c c c c c c c c c c c c c c ,
 , , , , , , , , , , c c w c c r r r r r r r c w , , w c o c c w , c w w w c ,
 , , , , , , , , , , c c c c c r r r r r r r c w , , w c c c c w , c c c c c ,
 , , , , , , , , , w o c w c c r r r r r r r c c c c c c c o c w , , w c w , ,
 , , , , , , , , , , c c c w c r r r r r r r c w , , w c c c c w , , w c w , ,
 , , , , , , , , , , c c c c c c c c c c c c c w , , w c o c c w , , , c , , ,
 , , , , , , , , , , , , , , , c c c c c c c c w , , w c c c c w , , , c , , ,
 , , , , , , , , , , , , , , , c o c o c o c , , , , , c , , c , , w w c w w ,
 , , , , , , , , , , , , , , , , w , w , w , , , , , , c , , c , , w c c c w ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , c c c c c c c c h c , ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w c c c w ,
 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , w w , w w ,

With the conditionally formatted spreadsheet:

Spreadsheet

A thing a beauty! And here’s the map rendered in engine (flipped around this time, also no lighting)

Level2Full

Yet again there are a few issues. You need to jump though some hoops to get from the ODS spreadsheet file to the XML file. First the file is converted to the comma separated values format (CSV) and then the data is manually copied to the XML. Yeah, that last bit especially is not so great.

It is trivial to read the CSV file directly from Unity (something I didn’t know about way back then), so that’s what I’m going to do in the next project.

Conclusions

Tiles are a simple and powerful way to represent a level. Reading letter based map files is easy to code and fluid to create (with conditional formatting at least). Reusing systems that you’ve made before is a great boon to productivity. Take advantage of previous work as often as possible.

And, of course, you can play Transformagician right here.

Cutting Hedge was mentioned by Rock Paper Shotgun which is super exciting to me 😀
All it took was to tweet a convincing gif of my game directly to the wonderful @Brendy_C, so in case you want your game covered by press it probably is a good idea to directly address people.

This is the thing I tweeted:

with this gif attached:

Cutting Hedge by Headmade Games

Aether Crypt postmortem

Posted by (twitter: @tselmek)
Saturday, April 30th, 2016 12:02 pm

Howdy fellow jammers, it’s postmortem time! If you haven’t played our entry, feel free to give it a try HERE.

Let’s recap the hell out of this!

  • The unfinished prototype

Before settling on an idea with Dave, my teammate, I had been working on a « just-in-case » shoot ’em up game called Chicken Fuel at the time, here’s what it looked like when it was left very early into the jam.

View post on imgur.com

  • The mechanics

Then came the idea of a molecule-based game. We didn’t yet know what to do but the take on the theme was inspiring to the both of us and so we brainstormed from there. That’s when the idea of a « Moleculevania » came up, we threw a couple of possible mechanics for it on a paper and that was the idea that sounded the most feasible in the remaining time. It doesn’t sound like it, but this process took us the whole first 24 hours.

View post on imgur.com

We wished we could go far enough to make a little boss battle based on radioactive elements such as Plutonium or Uranium but that sadly didn’t happen.

  • The level design

So now, we had a couple of transformations with a feature each and we needed to head onto the metroidvania part of the game, that is to say the level design. I wanted to allow for some exploration without too much struggle for the non-fans of this style of gameplay. The sketch below was the first draft of the general idea for the level layout, from there improvisation took the lead.

Level design draft

Level design draft

  • The audio

I was very panicked when I didn’t see the audio coming 2 hours before the deadline, so I decided to rush and implement some sounds made with chiptone myself. I did well because Dave only provided music but holy crap is it good. If you’re a fan of ambient stuff, you’re at the right place. You can check out his stuff HERE

  • The ambience (and the darkness)

The ambience was surely something we decided to bet on for the mood of the game. The dark environement was part of the mood and the gameplay. It seemed the darkness was too intense for some players but that makes for some finer exploration game, doesn’t it? 😛

  • The minimalism

One of my personnal goal was also to make something very minimalistic, that’s why I tried to put as few texts and as few graphical details as possible. I also tried to make a very simple but effective GUI, the display of the number of electrons and keys collected was rather straigt forward but it took me some time to figure out a way to tell the player how the transformation system worked without any text output.

Minimalistic GUI stuff

  • The experimentations

This Ludum Dare was an experience for me for some parts of the programming. Indeed, this time I messed with something new to me which is surfaces (and occasionnaly blend modes). Their use was necessary for the implementation of the lighting system.

  • Conclusion

Overall, I’m really proud of this entry. Despite the level design I wish I had taken more time to fiddle around with, I think the game came out as a tiny little polished experience package ready to nom a handful of minutes from the players’ life. I expected the game to be less welcome than my previous entries because of the huge difference of genre, going from intense arcade games to a very mood exploration one, but the reactions went against my expectations and I was positively surprised how it was welcomed.

That’s about it, thanks for reading through this little beast of a postmortem, I hope you enjoyed it.

Thanks everyone for all the great comments and feedbacks on the game so far!

Tselmek out.

Rude Bear Requiem

Posted by (twitter: @Phantom_Green)
Saturday, April 23rd, 2016 3:03 pm

TitleCard1

Hey! I’m SonnyBone and I worked on Rude Bear Requiem last weekend. I was initially signed on to do the audio, but then our artist couldn’t participate as expected… so that kind of changed. I did all the music on Friday and Saturday, then I stayed up and did ALL of the art. It was less than ideal, and it resulted in a “unique” approach to art that I will cover in a more detailed post-mortem. By the end of the jam, I had been up for about 52 hours straight, resulting in hallucinations … which I think helped to turn this game into something truly memorable. We’re very proud of it, and we hope you like it!

Here’s one of the cute lil’ songs I made for the game.

If you dig what you hear, you can help me out and pre-order the extended OST here.

RequiemGif1

Rude Bear Requiem is an adventure/puzzle game about helping your forest friends by using magic to shapeshift into various useful forms. Rude Bear is normally Rude… but now he’s POLITE! So take advantage of this one time offer and dive into this totally cute, relaxing, non-threatening world!

RequiemGif2

RequiemGif3

Be sure to read the gameplay instructions on the entry page or in the ReadMe!

EXTRA HINTS: The title screen marks the beginning of the game, and the title drops down again at the end. You can still play around in the world at this point, but there are no more objectives. We can tell whether or not you played the full game based on your comments :)

Play the game here: http://ludumdare.com/compo/ludum-dare-35/?action=preview&uid=19499

Transformagician – Postmortem

Posted by
Thursday, April 21st, 2016 11:32 pm

JUST A GIF! A small one this, tiny!

Play it here!

or read on.

Many earth shattering revelations await you.
(Hyperbole is the best medicine after a long jam)

Team

LD is usually my solo jam, but this time I didn’t work alone. Ranquil created the graphics (you can read more about that here) and I, of course, programmed the lot. My last team LD was a disaster (my bad on many levels!) so I’m glad this one turned out well, really well in fact.

Design

A few Ludums back I had an idea about shapeshifting. Stealing a top secret prototype from a well guarded research lab, avoiding detection by masquerading as objects in the level. The AI would react believably to anomalies in the world, including walking furniture. A bit too ambitious you could say.

We went though a few other ideas, but settled on cutting the above design down to manageable size: non-human enemies, a set amount of items and clear AI behavior rules.

Development

As a programmer I’m a fan of not reinventing the wheel, i.e reusing code (i.e. being lazy!). The level generation system is from this past LD gem (look who’s saying) and it was originally created for this project. In essence, twice recycled code. What can I say, it works.

Everything else is custom though. Nothing too difficult or out or the ordinary so in the end we even managed to pump out a build at the 48 hour mark. The final 78 hour version includes improved graphics, a fancy ending cinematic and some gameplay balancing.

Audio

The lax jam rules allowed us to utilize royalty free sound effects and music. Fortunately Ranquil knew a few (rather interesting) web-zones full of the stuff. Links in the description.

Music really does elevate the mood to new heights, doesn’t it.

Issues?

None! I don’t believe it myself, but it’s true. Working in a team for 72 hours does help, I guess.

 

Intrigued?

Try it now!

Day 3 Gif-a-thon!

Posted by (twitter: @Zazanxors)
Monday, April 18th, 2016 2:48 am

MorphSpace-Enemies

There are now enemies!

MorphSpace-Mines

You can blow them up with mines!

MorphSpace-Husks

Turn their remains into useful stuff!

Today is over, and I couldn’t be happier with what got done. As you can see from the plethora of animated imagery, I have added kamikaze enemies, proximity mines to blow them up with, and made it possible to transform (read: shapeshift) their corpses into defensive objects to kill more enemies with.

I do plan to have more options for building (cough shapeshifting) and more enemies to fight, but UI and sound are going to have to take priority, so I may not get that done in time. Despite this, the basic gameplay is there, and it works well!

Progress (43 hours in) – Finished! (for now)

Posted by
Sunday, April 17th, 2016 8:12 pm

MAXIMUM GIF!

The 48 hour version of our Jam game is in. There’s still a day to add in a few missing things, but overall I’m really glad of how it turned out.

No mistakes or silly stuff this time; just hard, honest work (on easy mode!)

Play it Here!

Progress (30 hours in)

Posted by
Sunday, April 17th, 2016 7:24 am

GIF TO THE MAX!

It’s coming along. A new enemy type and the first level layout are done as well as fancy level graphics. Beats white cubes, eh?

Audio though….

Progress (14 hours in)

Posted by
Saturday, April 16th, 2016 2:54 pm

GIF HARDER!

I didn’t stand a chance. It doesn’t help that them there robots are attracted to screws.

It’s pretty good progress all and all. A few more enemy types and new level layouts are the main tasks tomorrow. Audio as well, I guess. That old killjoy.

Saturday Evening Progress Report

Posted by (twitter: @gamepopper)
Saturday, April 16th, 2016 12:47 pm

So I’ve currently been working for 7-8 hours, so my current progress:

  • Came up with idea at around 3am, a bullet hell where you must last as long as possible by avoiding or absorbing bullets like in Ikaruga. The shape shifting theme will be when the boss changes appearance for each behaviour type. The player will also shape shift when changing colours as well.

My 3am notes…

  • Got my HaxeFlixel project up and running, good thing I updated and checked the template the day before. I’m still amazed at how much has changed and improved in HaxeFlixel over the year. It feels like a brand new framework every year!

Testing the colour switching and custom particle/emitter behaviour.

  • I’ve got player movement, enemy bullet patterns, the colour switching and some basic UI working. I’m on good progress to getting the core gameplay done by the end of today.

Custom bullet pattern testing.

Hope you like what you see, I’m gonna have dinner now, then more core gameplay stuff!

Progress (10 hours in)

Posted by
Saturday, April 16th, 2016 10:36 am

TIME TO GIF

Thrilling, right?

The perceptive among you might recognize the level layout (unlikely). It’s lifted whole cloth from my earlier entry way back in LD29. That makes it twice recycled code, which you’d know if you read the description (very unlikely).

This time I’m not doing the graphics either, so I’m totally developing on easy mode here. Go go teamwork!

Swarm Hunter Post-Jam Finished & Released

Posted by
Saturday, January 2nd, 2016 9:07 pm

Implemented the gameplay code and pushed to Itch.io. Pardon the blurry Gif:

SMALL GIF

The new flight model is easier to handle, trust me. It even has a controls help panel!

Give it a spin

Swarm Hunter Post-Jam Progress – Graphics, Part 2

Posted by
Wednesday, December 30th, 2015 7:46 pm

Implemented a mesh generation script for the flower stem. Have a look:

GIF

It’s much smoother than the capsule hack I rigged up in the jam. Better performance is a nice bonus.

I won’t be releasing anything before I’ve finished the gameplay improvements as well. That shouldn’t take too long.

Meanwhile, try learning to fly.

Swarm Hunter Post-Jam Progress – Graphics, Part 1

Posted by
Wednesday, December 23rd, 2015 6:51 pm

Started working on the post-jam version yesterday. Wrapped up the first task today, have a look.
GIF

I won’t be releasing anything before I’ve finished the gameplay improvements as well.

Meanwhile, try learning to fly.

Swarm Hunter Post-Mortem

Posted by
Thursday, December 17th, 2015 5:15 pm

How was the world’s first First-person zebra-beetle air-combat simulator made? Sate your thirst for knowledge with words from the source, after the moving pictures.

 

 BIG GIF

The Wait

This time around I had no prior project ideas or learning goals. Going in cold.

Out here the jam starts way past bed-time, so when the theme(s) were announced I hit the sack right away and let my subconscious deal with the thinking.

The Idea

I scribbled down a plan first thing in the morning.

It contains some doodles of a segmented flower and futuristic looking bees with the following words:

LD34 Ideas, Growing:
Movement – 6dof
Goal – Defend

The shortest design document I’ve ever done and that’s what I went with.

The Jam

With lessons learned from the past jams I enforced a very rigid sleep-work rhythm: 16h work, 8h sleep, 16h work (the first 8 hours had already passed). As such I ended up working a total of 30 hours with the last 2 hours spent on eating, showering and short breaks.

Working itself went swimmingly. The programming tasks weren’t too difficult and I even managed to use a third-party open-source plugin for the bee movement which saved me more than few hours of coding and debugging.

The Panic

It wouldn’t be a jam without at least one little hiccup. This time around it was audio.

With 6 hours to spare I felt more than comfortable with my chances to finish in time. After recording and listening to the buzzing sounds I made it became obvious that while mimicking what a human might think a bee sounds like is easy, the real deal that is not. Looping and trying the sound in the simulation proper revealed another problem, it’s super annoying to listen to for more than 10 seconds when uttered by swarms of bees.

In the end I managed to fix it by applying a few Audacity effects to make it less monotonous and lower in tone. It’s not perfect by any means, but I consider the outcome an Xmas miracle. The other sounds worked right out the gate, which must be part of the same miracle.

The End

Overall I haven’t had this successful a Ludum Dare Jam since LD26.

I’m not going to do an extensive Post-Jam version this time, but I do intend to give it a bit more graphical polish and a tutorial of sorts in due time.

 

Play it here!

And, please, read the description for controls, there’s no in-game help at the moment.

My Compo Entry: Griffin Card!

Posted by
Monday, December 14th, 2015 5:22 pm

Play it here.

I went outside my comfort zone a bit with this game. I normally like to create fast paced action games with lots of screenshake. This game is a strategy, turn-based, card game that only has a little bit of screenshake (I couldn’t resist). It was a good experience for me and I’m proud of what I was able to do in under 48 hours.

Here is a gif to tempt you into playing it 😉 Enjoy!

[cache: storing page]