LD32 April 17–20, 2015

Making of: Bullet Rain

screenshot_1

http://ludumdare.com/compo/ludum-dare-32/?action=preview&uid=53115

In this post I’ll tell the story of a game, by telling the story of how it was made. The story is told from the perspective of the programmer. Please play the game before reading this, then you understand this text better.

Preparations

Two weeks ago a couple of friends of mine participated in a local gamejam. The team worked really well, even though our game was littered in bugs, and so we decided to participate in Ludum Dare. As the coder, I spent the last two weeks testing out frameworks, languages, building basic prototype games in multiple frameworks.

I had a couple of criteria for choosing:
1. It had to be in an easy-to-use language. C, C++, Haskell etc. are then out of the picture.
2. It has to have an active community
3. It has to have tiled integration out of the box.

One framework really stood apart from the rest: Love2D. The language (Lua) might be universally hated among programmers, but it does the job brilliantly. To me love2d combines the power of a lightweight, but feature-rich engine without the boring administration parts of programming.

Meanwhile, our music guy (Peter) worked on getting his guitar to connect to his computer and our art guy (Tim) worked on his skills. We also got a new teammember: Marijn.

First two days.

The first 6 hours of this jam were spent sleeping, we’re from Europe. After that, we started by brainstorming. Early on, the idea for an attack queue was oppered, which was really liked. Originally, the game was to be an RPG, with 3 slots being refilled from a pile. You’d get new attacks by killing enemies. 30 minutes of brainstorming (a lot of discussion, random thoughts, etc.) later it was decided to make a bullet hell. This would fit in nicely with the engine, the amount of art and the usage of music containing guitar sounds.

After that, everyone did his own thing for about 2 hours. I coded the basics of the game (gamestate management, game reloading, death, movement, scrolling, tile loading), quite some sprites were made and a beginning was made for the soundtrack. For most of the jam everyone knew what their task was and did it.

Four hours later we had a working prototype with moving enemies, bullets and one very basic fire pattern (one bullet every 0.5 seconds). Most of the rest of day one was spent on polishing the prototype and adding multiple enemy types. At the end of the first day we had a working prototype, but the art was lagging behind a bit, because our artist couldn’t be there for that evening.

Day two started early again for Peter and I, because we woke up early, so we could use that day as optimally as possible. This time was spent on optimizing code, improving hitboxes, adding functionality for multiple bullet types. Around 11 am that was all done. Also, the rest of the team has waken up.

Schermafdruk 2015-04-21 03.55.44

The afternoon was spent writing special attacks and starting on the boss. The boss was an idea by Tim, in which I let him decide most of the phasing, telling him, I can do anything, as long as your boss works with rectangular collision, in fixed angle (every object is no the same angle). This sounds really technical and if you don’t understand it it’s because I didn’t explain it well. The game can explain it to you though. If you press tab it shows you where the collision engine (bump.lua) thinks objects are. You’ll notice quite a few odd things, for instance, the player is only a really small piece of the ship: the part around the cockpit. Also, some objects are a bit off. This is because the offsets had to be programmed manually and after a while I just gave up on doing them perfectly and went for a ‘good enough’ approach. This is a restriction of the collision engine we used. The boss he came up with is a threephase boss with different attack patterns for each boss.

The second evening, I  started on the actual boss programming, with Tim peer-programming (I was tired) and the boss worked that evening. It’s firing patterns were a lot less satisfying than they are now, but it worked. Also, I got the wreckingball working.

During the entirity of the second day, Peter and Marijn worked on the music, sometimes switching to art and code respectively, if the need arised.

The third day

The third day was a lot less productive, because only two of us could do anything and even then only half of the day. It mostly consisted of bugfixing and slight improvements. It was during the second day that we decided to put the wreckingball as a standard secondary attack instead of as an upgrade. We felt that our unique weapon should be accessible and visible to all players. Our game is quite hard (even though I view it as doable if you take the time to memorize it) and some people may only retry two times or so and may never reach a point with a certain upgrade. We tried to put in the wreckingball as a main weapon, but.. The game would have been pretty much unplayable. It requires a lot of concentration to aim, which you already have on all the things to avoid on screen.

Name and Story

Around 4 hours before the end  we realized something: we had no story, no name and no menues etc. I had facebook open and someone sent me a message asking me to play farmville. This immediately gave the spark to add the Fremium idea to the story. So while Marijn made the menues I made a simple (hacky) , hardcoded story system and wrote some cheesy story. After that we got distracted and started adding death lines to the game. The game features 15 different death quotes.

The two hours

We spent the last two hours working on small things and fixing sometimes big bugs. Two hours before deadline I found out that the wreckingball didn’t work properly at all, so I had to rewrite a few lines. It turned out to be really simple to fix, but it had to be fixed. Marijn meanwhile worked on polishing the levels, adding details. He also playtested the game a lot.. He even managed to finish the first level without firing and without taking damage.

Conclusions

I am very happy with both the result and the way we created it. It felt really good to have a prototype working early in the jam and having the last day just for fixing bugs means you can really polish your game. Some things weren’t implemented yet, such as the multiple player sprites, which were actually made, but never implemented.

The lessons I learned from this is to plan ahead, think small to big (what can I minimally do, what can I do if I have time left) and make what’s necessary, not more.
Another lesson is to not neglect level editing, because you need to have good levels to really impress. In this case, I think our game may have been better with a slightly more subtle difficulty ramp. However, this would have meant that to finish the game you’d need to do the easy (and boring) part a lot of times before getting to the difficult (and fun) bits. This is the main reason why we only had 3 levels: this takes about 2 minutes to finish, a few retries needed -> time needed to finish: 15-30 minutes. From playtesting with other students we found that most player either (A) finish the game in one go, because they played toho and think it’s fun, but quite easy, or (B) get frustrated at dieing three times in a row on the first level (the turret section) and use our RAGEQUIT option.

 

Brute Force Commanders (Available for Windows)

LUDUM DARE

This is my first LD and I’m very happy to introduce you BFC!
I didn’t team up with anyone because I’m learning programming, and I wanted to do everything (of course… everything in Unity :) )
But that’s it !

PLAY HERE

Starbinder finished and submitted!

Our entry for LDJAM 32! The entire game was made from scratch in Unity5 with a team of 4. We chose stars around a planet as unconventional weapons.

http://august.itch.io/starbinder
http://ludumdare.com/compo/ludum-dare-32/?action=preview&uid=50337

day 3 B

Since the dawn of time, stars have controlled mankind…

Arrange incoming stars to influence the populations on the planet below.

Star types:
– Gather: draws the population toward it
– Scatter: drives the population away
– Aggro: inspires the population with an attack buff
– Defense: hardens the population with a defense buff

All star types can be combined into constellations. Use them to strategically lead one group to planetary dominance.

Credits:

Colin Allman – Programmer – colinallmangame@gmail – www.colinallmangame.com
Michael Baker – Programmer – www.mBakr.com – Twitter: @M1CHAE7
Alex Evans – Sound Design – aevanssound@yahoo.com – www.alexevanssound.com
Hunter Lawson – Artist – HunterAugustLawson@gmail.com – www.hunteraugustlawson.com

Gradience – Final Update

 

It’s done. It’s live. I’m dead inside.

Gradience has been submitted and I didn’t actually get around to building out the level progression like I had planned. As it stands… it’s a vaguely pretty demonstration of a game idea that might be good… in another life.

 

PLAY IT – COMMENT ON IT – IGNORE IT

Tags: chiptune, Glow, gradience, nes, phaser, sleepy, submission, teamrehab, webgl

Done!

Done!

The game is finally complete! It’s 4am here in Europe, but it’s totally been worth it. I didn’t manage to squeeze all the things I wanted to do, but full disclosure will have to wait for the Post Mortem. Till then, the game is available here:

http://ludumdare.com/compo/ludum-dare-32/?action=preview&uid=779

Currently I built it as a Unity Webplayer version. I’ll provide alternative builds later, now I need to catch some z’s.

FFFFFUUUUUU!!!!!

So close….

It was funny!!!! We didn’t submit, lol)))

Two photos of end)))

KTO POSONI USPEL – KRASAVCHIKI!!!!

END OF TIME

 

Poster

Comments

OrangeeZ
21. Apr 2015 · 02:14 UTC
MOLODCY POCONY TAK DERZHAT!!
Stellar_Legion
21. Apr 2015 · 02:16 UTC
>THREE DAYS OF ANIMATION

>PROGRAMMER USED ONLY ONE PICTURE
marsep
21. Apr 2015 · 02:34 UTC
No, I do not understand …
marsep
21. Apr 2015 · 03:06 UTC
Of course, he is the best assistant for life)) Yes, well done! This contest is made to wake up all the creative people … The result is not important – the main thing that was interesting … or not ?!

Rules of Deadline

Screenshot 2015-04-21 05.59.51  I wasn’t sure we gonna make it this time… But hey, we did!

Ours is a small game where almost anything can be a weapon – even if it is your own corpse! Or someone else’s.

Сheck it out and see if you can beat the boss with a broom!

Rules of Paradox!

We did it!

Yay! We managed to submit a game!

intro test

This is our second time participating and the first time we managed to finish (kinda, sorta…) something.

So please enjoy Dagobert, and excuse me while I take an earned, and very much needed, bath.

Hoser

So we ‘finished’ (Are Ludum Dare games ever truly finished?) Hoser.  It’s an infinite stumbler that has you drinking and melting your way through a vicious snowman horde!  Well, it’s some of those things… plus it takes soft jabs at Canada.  Who clearly had it coming?  Probably not.

Frosty-Screenshot

Anywho, lots of great games made this weekend!  I can’t wait to play them!

-Scott

 

My First Full Ludum Dare

This was my Ludum Dare.  I did enter miniLD #58, but this time crunch was something else!

Can’t wait to play as many games as I can in the next 20 days!

Here’s a link to my submission: The March of Melons

MoM_cap02

Time for some RR for a bit.

Kudos to my wife Amy for being so awesome and giving me all the time I needed.

-BWS (kad)

Comments

StarCommandStudios
21. Apr 2015 · 10:41 UTC
Outstanding work. Is that a super trap in the tree is see? Well played. Cannot wait to see what you can do on a longer project. Controls and art are great. Not sure if there was a way to “win” or complete the game. You may have run out of time or I missed a melon counter or something. Very cool concept for the dare. Also, melon baller, hits close to home for me. haha! Keep up the great work.

reflections on my first Jam

I just spent 3 days trying to get a working game out there and I wanted to talk about my first impressions as soon as possible.

pros:
– Not doing Graphics
– Using an engine that I know well (melonJS, javascript engine)
– Trying to keep it simple

cons:
– redoing things
– wasting time in configuration files
– not looking at other dev’s impressions and suggestions + not being physically surrounded by other people

More detailed impression:
I am not really able to quickly make decent-looking characters in 72 hours, so I ended up reusing the graphics that I bought a long time ago. I love working with these assets because I have all the information that I need, and I know the limitations of what I have. I guess this will become complicated once I attempt to add animations in later Jams, but for this one I am glad I did not have to think about graphics.

In the same light, I am so glad that I used melonJS. Things went butter smooth with the engine. PhaserJS would have been a nice choice too. I guess relatively simple javascript games don’t demand too many modifications of the source engine.

Finally, I am glad that I was able to keep it simple towards the end (at the beginning I had too many bonus features that I wanted to add).

As for negative things, I guess the biggest one was redoing things during the second day. More specifically, I was thinking about throwing things (apples) and I decided to modify melonJS’ particle emitter to do it. Bad idea.
I ended up wasting a couple of hours redoing things, but it wasn’t that bad. I am glad that I got to talk to people that advice me to stop wasting time making particles collide, etc and just use other sane defaults, which brings me to the next point: community.
For this jam, I was alone in my room, and I didn’t really get the sense of being at a Jam. I hope I can attend an event in the future, if I ever try to make a game again.

ps: tweaking configuration files feels really weird. I spent so much time thinking about, for example, what wolves eat, which wasn’t really that important in the end

bottom-line: MAKING games is HARD.

Tags: 2D, javascript, ld32, melon, postmortem

Comments

21. Apr 2015 · 02:23 UTC
It gets easier overtime :)

Puzzle game in Space Bug

04

For this edition of Ludum Dare I thought produce a platform game. I felt difficulty to translate the theme. I understanded as “an unusual weapon.” But playing the other games I saw that it was not like this. :p
It’s all right, I was happy with the work and “racked my brains” to create the puzzles made my weekend very good.

At first, the hero walked … but to increase the difficulty decided to put the ability to “walk” like puzzle to the game.
Now, you can only shoot.
The skills that can be imitated are ‘walk’, ‘fly’, ‘ilumine’ and ‘teleport’. You can use 2 abilities at a time, except walk and fly dont work together… ilumine and teleport so too.
You can use walk and ilumie, or walk and teleport; fly and ilumine or fly and teleport.

video2GIF

Shoot your enemies to imitate them abilities and Solve the puzzles! – Click here.

It was a journey, – Swatch

GameOver

Swatch was hardly an ambitious project, but even so, there was much I had to leave out due to focus issues and lack of motivation towards work.  I’m still pretty new to this, and i have spent four months not having to rush anything i’m working on.  Its such a great learning experience this LD stuff, but more on that later.

So whats missing from swatch? 

  • [Damage over time]  I wanted to include a dynamic where colours and the relationship they had with one another impacted the player,  Complimentary colours would be considered safe, everything else would damage the player,  This would mean you had to keep moving to stay alive and in design would have added a nice urgency to the game.
  • The blocks in Swatch are colour coded, and standing atop of one and changing the background to the same colour makes the block vanish for good.  I wanted to include a block which would vanish & re-appear when the background colour was different.  I had major issues figuring out a collision system which wasn’t hit or miss so scrapped it.
  • MORE LEVELS, I am seriously disappointed in my level design skills, whilst I think the levels I have are fun, I would have hoped for more (so please consider this a Concept, if it gets interest I would more than happily continue to work on it).
  • Multiple ways to finish levels, This kinda exists, but also doesn’t but i wanted it.

What Does swatch have? 

  • a total of 4 levels,  These come in Easy and hard forms (can pick this from the title screen).
  • Alter and remove blocks via changing the backgrounds colour (this is your weapon)
  • difficult levels, well, I like to think they are.  I wanted to make something challenging and fun, something people will want to finish.
  • Some funny little animations.

I learned a lot this time round, as my mouse broke down and my tablet refused to work, i had to draw little swatch by hand and edit a photograph of him since my scanner was broken too, is it any wonder i lacked motivation.

In comparison to my first LD (31) my approach was better, my time management almost was, but with a day spent with family issues I decided to enter the jam instead.  Getting this game in was a huge achievement for me, i didn’t give in, and i worked hopelessly at it carving out a direction from what was left.  I love the concept, and i really do hope other people do too.

if you would like to check it out?(click me)

Please comment and feedback, and if you would like me to keep working on it, Do say.

Congrats to everyone who submitted something, and if this is your first LD, i hope you enjoyed it :)

Tags: ld32, submitted

Final game play video

Tried for Compo but finished with jam only.. here is the final video of my game “e=i formuale”

But planned to upgrade the game with  a good artist and release maybe after a month of work… follow @paruthidotexe & BLOG

 

 

 

 

Tags: paruthidotexe

Postmortem for Vocal Power

Vocal Power is created in Ludum Dare 32 Compo in 48 hours. The theme is “An unconventional weapon”. The game is based on an innovative concept of speech simulation. The art of speech is the powerful weapon in daily life. Vocal Power enjoys minimized control. Gameplay uses one button. By holding and releasing SPACE at certain times, the character makes a speech with different pace and interacts with audience occasionally.

Welcome to play and rate it here.

Brainstorming

Based on the theme, “An unconventional weapon”, I propose three weapons: money, grid-based card, passion. Since I want to try some emotional ideas. I focused more on “Passion”. Gradually, I develop an idea of using passion for handling different situations. After reviewing the proposal, I thought passion might be too board, so I change it to speech and propose different situations which require speech skills. And the core gameplay is spread your voice to public by a hold/release mechanic.

I open my first bag of lenses… The concept is good because:

  1. Speech simulation is new, rare games dabble in this.
  2. Players will curious about how to do a speech and what are the new elements in the later games.
  3. The core gameplay control is simple and engaging. With only a button, players have bunch of interactions.
  4. Situations/difficulties are in daily life. These evoke emotions when playing.
  5. Audio and visual FX to make situations realistic will be important.

Bags of Lens

I decide to try using Jesse’s Lens card (The Art of Game Design, A Deck of Lenses) during creating. Kind of randomly and intentionally, I pick 9 cards into 3 bags for three cards of each bag. Planning to open them and think about it at three different times, before developing, after gameplay, in postmortem. The lenses are: Emotion, Curiosity, Novelty; Meaningful choices, Emergence, Judgement; Pleasure, Flow, Unification.

9 Lenses in 3 Bags

9 Lenses in 3 Bags

Process

Tools: Unity 4, Photoshop, Illustrator, sfxr, Aduacity.

I start with coding following features:

  1. Speak UI. It is the core gameplay of Vocal Power.
  2. Wave spread model. How to display the actual influence of your voice is extremely important in the game.
  3. Different scenes. Public speech, party, classroom, home… Scenes inject emotions.

It takes my whole first day and night to finish these features. Then I open my second bag of lenses… When making the game I should be aware of:

  1. Provides meaningful choices. It is provided in two different levels. In core gameplay, when you speak (HOLD SPACE), you can decide to speak as long as possible to spread it further or to stop at certain positions to interact with audiences. In the general map, players can go different place to practice different skills in speech.
  2. Provide a map for players can provide players more behaviors for emergence.
  3. Judgement is in speech and the whole game. In the speech, interact with audience on time help a lot. In whole game, a timer measures how quick the player finish the whole game.

Based on these, I need to work on the following features to make it playable:

  1. A map connects all the situations.
  2. A skill system provide more long-term strategy and options for players to choose.
  3. UI to deliver the system.
  4. Basic SFX
  5. Textures for objects (Fail to do)
  6. Adjust difficulty of levels.
  7. Hint texts and tutorials
  8. Promotion art

It is a lot of work to do. Fortunately, with a 5 hours sleep, I am very effective and finish almost all of them in the second day. Actually, I spend very limited time on art and audio, which make the whole game more like a prototype.

Postmortem

It is time to open the third bag of lenses! Based on them, I would say the following of Vocal Power:

  1. Contents of the game is concrete and tied together. Situations, questions, like/hate, influence waves, etc… Everything makes sense. These make sure players can understand this weird concept without a heavy tutorial.
  2. Pleasure is tied with emotions. When situations evoking emotions from players real life experience, to solve the situations in the game will be fun to them.
  3. Flow. I have to admit, I forget to be aware of it when developing the levels. Even the difficulty is gradually increased in levels. The curve is too flat.

What went right?

  1. Concrete theme and SFX help a lot on players’ understanding.
  2. Scenes and map inject emotions.
  3. Cards of lenses are great reminders and checkpoints during developing.

What went wrong?

  1. The scope might be too big.
  2. I need more unity experience to learn how to use efficient tools.
  3. A more fast prototype is required to adjust the vision in a more early phase.