Ludum Dare 45 October 4–7, 2019

Just 10 ratings to go!

Hey guys, my game Unfold only needs 10 more ratings to score, so go check it out! https://luc-dercourt.itch.io/unfold

An interactive story that started with nothing , and will be imagined by you !

Play : http://ciriak.itch.io/missing-entry

ezgif-2-594d5c8cd767.gif

I wanted to try something with a backend this time.

You can add the choices you want (up to 3 per event) and you decide the consequences.

You can even add an image to illustrate (url) !

The entry : https://ldjam.com/events/ludum-dare/45/missing-entry

The sources : https://github.com/Ciriak/ld45

Legend of Skystones - to be continued?

As I was writing the story for my entry, I kinda had an idea of a larger world than just these three locations. So I wonder what others think and whether it would be interesting to have some sequel/prequel story.

I will be happy for any feedback given. Thanks.

LD entry: https://ldjam.com/events/ludum-dare/45/the-legends-of-sky-stones

25f3a.gif

Remember to link to your jam page on itch.io!!!

Just a reminder to link your jam page on itch.io! If you do then people can get back to your game's page to rate!

1) Go to the tag section in edit game

Here you will see the option to select "Add Ludum Dare Tag"

(Yes there's a typo it says 44 but it adds the 45 tag!) TagSection.jpg

2) Link your game!

Adding the tag opens a new field! Get the game's page from the LD site and put it here. Add a link.jpg

3) Save and view page

Go back to the itch.io page and you'll now see a banner at the top that takes you back to the ldjam site! Banner.jpg

This makes it easier for everyone! Especially those who don't open the itch links in a new tab!

While your here.... Check out our game? https://ldjam.com/events/ludum-dare/45/zambies

Come play The Persistent Thief!

Still thinking up the next poster.

Not many ideas left

Logo.png

Poster 1.png

Hope you enjoy! https://ldjam.com/events/ludum-dare/45/the-persistent-thief

Some of our Favorites games

We are having a blast playing all of the games submitted to the game jam. Here are a few of our favourite ones!

game1.png

https://ldjam.com/events/ludum-dare/45/pandorama

game2.png https://ldjam.com/events/ludum-dare/45/keep-dreaming-joshua

Shameless self promotion :) Hellion The Legend Of Jeff 10em10/em2019 11em45/em03 AM.png

https://ldjam.com/events/ludum-dare/45/hellion-is-now-finally-published

Update #1 for Prison Escape

Hey! We recently updated our game Prison Escape!

What’s new:

-Now whenever you die, the game restarts on its own.

-Added a timer, to let you know, how you performed.

-Some minor bug fixes.

If you haven't checked it out yet, go here - https://ldjam.com/events/ludum-dare/45/prison-escape

BlogPost.png

There are such amazing games over here!

So this is my first LD participation and its so much fun! Comment below your links to your respective games so i can test your games! You can leave your social handles too along with it too if you are into social media too, especially if you have also done a BTS or a Post mortem type of thing. :)

You feel like painting ?

72786960em416070952440743/em4830440505382797312_n.png In Dreamiverse, you paint the world around you to discover it and evolve in it !

Use your brush to paint the walls, objects, doors and flowers to find your way, find hidden fairies and change your color !

Let's color this world ! 🖌️

I'll just let the comments speak.

"I didn’t know I needed plains of will smith and wolves and roaming houses. 6/5 stars for humor." -@adam-konig

"10/10 mountains of will smith" - @josh-aaron-miller

"A forest of Ice golems with Will Smith mushrooms is all we need." -@tommyflower

"Apparently, I am a meth god." -@kr0s

@kr0s creation: UserScreenshot.jpg

"If somebody told me this morning that I would end up giggling because “my Will Smith’s were blowing in the wind”… I would never have believed them…. until Genesis 1.

How you ever seen a House roam free? I have. Have you ever seen Jaguar beach? I have.

This was a cool little concept that really took me by surprise when I was able to click “Explore” and go venturing around my creation (read: abomination)." -@ashashza

"Will Smith will give me nightmares thanks to you lol :D" -@addnone

"I have never though I was going to be able to rule a leopard print land with lakes and beaches of Will Smith, but this helped fulfill a dream I didn’t know I had. I plan to rule it in piece for there is no war."-@bionicsonic

"Needs more Will Smith." -@mikeality

"Will Smith" -@jake-marks

"Is that will smith?" -@huskitch

Now it's your turn. Create your own world and share your screenshots: https://ldjam.com/events/ludum-dare/45/genesis-1-god-simulator

Life Starts With Nothing

Banner.png

life Starts With Nothing is an end-less 2D Shooter.

I started making this game as a platformer. I made all the necessary art and code but at the end of day 1....... The game felt boring and I went to sleep felling demotivated, But the next day with a cup of coffee I got my combo meter full, and scrapped all of that and turned it into an endless shooter, but I was not able to finish it on day 2 so I couldn't submit it for the Compo :cry: but jam was still open and I went for jam. This was my first Ludum Dare and I enjoyed it more than i expected, I had a blast and Hopefully all of you had a great jam (or Compo :smile: ) cant wait for the next one. GOOD LUCK WITH ALL OF YOUR GAMES!!!!

you can check out my game over here: https://noob-dev.itch.io/life-starts-with-nothing

ScreenShotem5.png ScreenShot/em6.png

What about some undead eggs and bacon for breakfast?

Hi! Wanna try some chicken/pigs army of doom?

Yes? Then play https://ldjam.com/events/ludum-dare/45/necrofenser-hero and let us know how far can you survive!

Please play, rate and comment, any feedback is welcome

PROMO.png

AGameWhereTheGameStartsWithNothing Update 1.1!

It wouldn't be a jam if you didn't have to fix your crappy hacks.

Turns out on unity in HTML5 you cant change the playback position of an audioclip after its playing so I had to swap the order of two lines of code.

Also apparently saying 'push the anykey' while requiring it to be held for two seconds not just pushed was a bad idea.

Always good to learn from mistakes, next LD: more user testing.

==CHANGE LOG== v1.1 - Fixed music resetting on HTML5. - Fixed level not resting on Levels 3-5 - Changed 'USE THE ANY KEY' to 'HOLD THE ANYKEY' to avoid confusion.

Nothing In The Way

Help this little creature to reach the stars in my first ever compo submission!

262e4.png

https://ldjam.com/events/ludum-dare/45/nothing-in-the-way

The Greatest Game in the World is now Even Greater

screenem1920x1080/em2019-10-08_04-19-13.png

https://ldjam.com/events/ludum-dare/45/the-greatest-game-in-the-world

Hey there jammers!

After you enthusiastic feedback and extremely positive comments, we managed to corner Dave into fixing some of the bugs you noticed. The game is now more stable than ever!

Go on check it out and let us know what else is broken!

Tactical amphibian combat simulator v1.1

Do you like frogs? How about frog warriors? How about frog warriors fighting foxes in a unique turn based combat system. Well we just fixed most of the bugs in Amphibian Aura so go ahead and give it a try! https://ldjam.com/events/ludum-dare/45/amphibian-aura/ giphy (1).gif

Almeowst there!

Hi beautiful people!

Our game "Meowmories" is a narrative-platform adventure with a moral at the end. It’s a short one since we are beginners (it’s our second jam) and sadly we didn’t have much time to invest during the jam. We only need a few more RATings to reach that 20 mark so if you could give it a try it would be awesome!

https://ldjam.com/events/ludum-dare/45/meowmories-1

GatoCajaPeque.gif

Also, we are looking for games to play when we have a bit of time (in a few hours we will start with the list from yesterday! We are not forgetting about you!). If you want us to play yours, specially if you also need ratings and/or want feedback, leave us the link in a comment!

Have YOU played Vicious Cycle yet?

Our friend needs your help in achieving his goal!

https://ldjam.com/events/ludum-dare/45/vicious-cycle

viciousemcycle/embanner.png

My Battle: a game for my son

My Battle: A game for my son

I'm going to get a little personal, so feel free to skip this :smile:

It took a long time to come up with an idea for the theme. Like I didn't start working for over 36 hours after the theme was announced. I decided to make a standard platformer where your runs through the world was timed and after the set amount of time you fought the boss. If you lost you would start again with your collected powerups and try to go farther and collect more. Pretty standard stuff so far.

Then I needed a reason for this loop. I decided that the character would fall asleep and he was always attacked in the night. When I wrote the line "I hate going to bed" I realized I'd heard that before. From my son.

sleeping.gif

He was adopted at a young age but he remembers his birth parents. He is only 10 now but has to deal with emotions and difficulties that I can't even imagine. Feelings of anger at being abandoned, feelings of inadequacy, guilt over loving his family but still longing for the one that he lost. He does a great job with all this, but at night when it is just him and his mind these things come back strong. Some days he gets overwhelmed. He is still learning how to deal with these emotions and feelings.

boss.gif

I realized that the stupid game I was making could be changed to be reflect his journey. In the game you start with no abilities. You can't jump. You're slow. You are beaten in one hit. But then during the day you explore the world and you get stronger. Your health increases. Can avoid some of the attacks at night and you eventually get the ability to fight back.

There are no enemies while you are awake. The world is bright and happy, nothing can hurt you, but the music is melancholy (@JamesOliverMusic made the music and he nailed this). An the timer is always dropping, which signals another boss fight. The more times you fight the boss the better prepared you are to deal with his attacks. After a couple days (hopefully) you win.

outside.gif

After you win you have a conversation with the boss. He says he isn't really defeated an he will be back again tomrorow. You will have to fight again.

finish.gif

My son saw the game. And what was awesome is that he really gets it. We got to have a great conversation about how the feelings and anger may never go away. He might not beat them. They might keep coming back every night. But every day he gets stronger and learns how to fight back. I think he understand it better now. Codifying the experience into a game lets him see himself getting stronger and better at fighting the boss every day he plays. I left him to play it for awhile and I cam back and he had amassed over 200 hp. He just kept playing over and over until he could just stand in front of the boss and tank him until he won. I was really proud of him. That night, he said "I'm getting stronger every day too, right dad?" I choked up a little.

Games can be used to explore thoughts and feelings in a way that makes them real. I really love that. And it turns out it is a great medium to make help my son understand some of the things he is going through.

I'm not linking to my game. I've only rated a few others so far so I'll keep at that and am sure I'll get the ratings I need to be ranked. And, if you actually read all this, you don't need to play it anyway

The link to the game is in the comments if you want to play it.

Little update : Car pieces indicators !

New update for "Nothing is my car" 😉

I added indicators for the visibility of car pieces !

Sans titre 5.png

You can find my game here : https://ldjam.com/events/ludum-dare/45/nothing-is-my-car

Woodland Zero

bannerup.png

INTENSE ARCADE ACTION

* Tetris meets action platformer as you dodge enemies and crush them with your bricks. Play as a rabid squirrel as you collect acorns by smashing forest fiends and clear rows to increase your high score! *

See where you land on the leaderboard :)

We had a ton of fun creating this project, and hope you enjoy it <3

Play Now!

https://ldjam.com/events/ludum-dare/45/woodland-zero

My classic 'developer wannabe-artist tips' :)

LudumDares have been to me a journey to learn graphics. I’m a developer but the challenge I chose here is getting good at graphics. I started with the simplest character ever on LudumDare38: Spermicorn: it was all wobbly lines. Then it came Zoltan with that zillion of cats animations that kept me very busy.

Now I wanted to move past black outines and try something different. Most of all, I wanted to acheive a more uniform look in my graphics.

It's basically this:

I ditched the outlines and try a different style: ‘trace it freehand with the lasso tool and fill it ’

Need some shadow? Select again the area with the freehand tool and change lightness, or add a black layer in multiply. This is of course the quick dirty way to acheive it, we are talking of producing a lot of graphics in a short time.

you and the pen

Give it a try if you didn’t before. All you need is a good relationship with your pen. (That is acheivable with some boring exercises like tracing a lot of horizontal and vertical lines, or simply by drawing more with it) I say it every time: even a cheap tool will do the job, it’s just a matter of practice.

So here is how to draw Mr Raccoon from scratch:

I took a reference, because I don’t know by heart how raccoons look. I started with the face shape (I made it large and cartoonish) Then I outlined the dark parts And then the white ones. graficaintera.png

Keep everything on separate layers and you’ll have no problems if you make mistakes here.

Then I added the main features. These will stay always on different layers because they need to be changed in order to get the different expressions.

shadows

Now, to give everything some more depth, let’s add the shadows. I usually draw them with black on a different layer and I switch the blending mode to multiply. Then you can adjust the opacity to get the colour you need. But if you need to go faster and are not afraid to make mistakes, you can just select the area you want and change it’s lightness or fill it with a darker colour.

done!

Here we are. That might not be perfect but it was quick. This counts during a jam but also when you are making the game of your life but it needs so many assets that it will take you a year making them all alone. I’ve been there:)

Hope this will help you to improve your games look.

I'd love to hear your tricks and the graphic solutions you found to improve your art in spite of the short time available!

Let me indoctrinate you into the world of Star Fall.

It s not much but it s our first game jam and we did our best to create this 2D Metroidvania style game. We used the theme by making you start with nothing. You cannot jump, dash not even move left or right. But a sudden star falls on top of you and let s call it a miracle because it makes you able to start moving. To the right. Just to the right for now at least.

Come and try our game and explore with Tim, that s the name we gave him, the wonderful world he woke up into. For more details please come and try it.

https://ldjam.com/events/ludum-dare/45/star-fall

cover.png

Our new game "Lucifer's Rise"

Hi everyone I'm RabiChora, and I was engaged in the making of the game "Lucifer's Rise". I made all the art during the 72 hours for the game and i hope you guys like our little Lucifer!! here's the address: https://ldjam.com/events/ludum-dare/45/lucifars-raise please enjoy!!! :)))) front page2.png

The adventure of a slime with nothing

You are a slime with nothing, which means you can’t attack or jump, or even hear and see things.

Yeah, that means the game will start from a black screen with no audio

however, you can steal abilities from other creatures by ABSORBING them.

Become the slime and grow from zero to…maybe you should figure it out yourself:)

https://ldjam.com/events/ludum-dare/45/absorb

slime.png

ld45demo5.gif

233.gif

BadMouThing

Rate our fun game. We put our soul into it )))

(web) - https://novikovantonbox.itch.io/badmouthing

https://ldjam.com/events/ludum-dare/45/badmouthing

Новый проект-min.gif

In the begining there nothing was. When start with nothing, run. Because Bad tongue is coming, letters near. You run, they’re hunt you. They are here

Some more post work on Homie the Homeless

10/10 /2019 Update

another day has passed and some more work has been done, i pushed the latest build together with the source to itch.io today!

Check it out here: https://kekkodude.itch.io/homie-the-homeless

Not much has been done to the textures so it still looks the same, but i finally worked out the movement! and it's working somewhat better i feel, still need some polish but it's getting there.

i was working on the code and i could not figure out how i was going to check what i was clicking, or not, and i was overcomplicating the process way to much... after embarrassing amount of head scratching and finger tapping i realized...

i could just do this

Humble mistakes.png

And it's working fine! haha

The.. i dont quite know what to call it yet, but the mini-game has gotten some polish and the arrows now light up when they are close enough to be hit.

I have never done a mini-game like this before so if anyone has some insight to how i can improve it, give me a shout!

Also there's another surprise in the game, see if you can make it past the third day and you should be able to find it laying around on the map

Grimoire

GrimoireBanner.png

Incarnate an apprentice magician, last survivor of a battle that killed all of your counterparts. Alone, you have no more chance to defeat the enemy, your only hope is to run off, but your implacable opponents have sworn to destroy you until the very last one. You’ll have to learn rapidly to cast powerful spells, in order to get rid of the monsters chasing you. Fight until your last breath !

GrmoirePres.png

You’ll start with no input, and will have to write correctly the different spells at your disposal in your Spellbook to defend yourself and move beween lanes.

Grimoire

GrimoireBanner.png

Incarnate an apprentice magician, last survivor of a battle that killed all of your counterparts. Alone, you have no more chance to defeat the enemy, your only hope is to run off, but your implacable opponents have sworn to destroy you until the very last one. You’ll have to learn rapidly to cast powerful spells, in order to get rid of the monsters chasing you. Fight until your last breath !

GrmoirePres.png

You’ll start with no input, and will have to write correctly the different spells at your disposal in your Spellbook to defend yourself and move between lanes.

What are your five favourite games in the jam you've played so far?

For me personally its:

1)World Collector https://ldjam.com/events/ludum-dare/45/world-collector

2)Oracle Pine https://ldjam.com/events/ludum-dare/45/redwood-oracle-1

3)The Persistent Thief https://ldjam.com/events/ludum-dare/45/the-persistent-thief

4)Dead Again https://ldjam.com/events/ludum-dare/45/dead-again

5)The Carpenter https://ldjam.com/events/ludum-dare/45/the-carpenter

Dont forget to leave links for each game you list

Also check out our game about an invisible ghost here: https://ldjam.com/events/ludum-dare/45/just-a-ghost-looking-for-its-body

Looking to play and rate some games later today!

Hello, everyone! If you need a few more ratings on your game to get your 20, comment on this post. Disclaimer: I work until around 7pm CST today at my IRL job, but afterwards I'm looking to relax and check out some of your games, give some ratings and some feedback. So again, leave me a comment with a link to your games and I'll be checking them out later today(tonight?) :stuckouttongue:

Thank you all for playing!

PromoLarge.gif

Thank you all for playing our game. We got amazing feedback! We had so much fun working on this. We play with the idea to port this game to mobile and add new stuff. Let us know what you think would be great additions :smiley:

Keep Me Burning - Making Of

Hi guys, we've made a short "Making Of" video about our project "Keep Me Burning".

Hope you like it. :)

Play: https://ldjam.com/events/ludum-dare/45/keep-me-burning

https://youtu.be/MwXN3yfNIno

Honest Feedback on your LD45 Games!

Greetings all! I'll be doing a second and final Ludum Dare 45 stream tonight (18:00 BST) where you are able to submit your games to get played on stream. I do play games in order of submission, so it's worth getting along at the start of stream to get in the queue. However, I will only play the games of those who are in chat when it's their turn - so this means the queue can move fast at times.

gamejolt-banner.png

I enjoy seeing all the great ideas and meeting fellow game devs. I was unable to take part making a game for the first time since LD40 which was a huge shame to me - but I'm glad I can still feel part of the event through playing a bunch of awesome entries!

Just a quick note: these streams need some strict rules in order to run smoothly. So please read the rules when submitting your game, but TLDR: - I will play games in order - Submitting dev must be in chat otherwise I skip the game - Anyone I skip will need to resubmit their game to the queue - I stream regularly (outside of LD) on Twitch, so regulars and subbers will get priority

It'll be great to see you, I'll be streaming for 4 hours from 18:00 GMT (13:00 EST) onwards, my channel can be found here:

https://www.twitch.tv/honestdangames

Nothing In The Way

Help this little creature to reach the stars in my first ever compo submission!

Chara.png

https://ldjam.com/events/ludum-dare/45/nothing-in-the-way

Check out my Platformer game - Prison Escape!

https://youtu.be/tOtP-D68-cE

This is my first ever game jam, so please play and rate my game! Also dont forget to leave a feedback on my game!

https://ldjam.com/events/ludum-dare/45/prison-escape

I messed up :/

Seems I forgot to add the link to my game on the game page. Have added it know, if anyone wants to try it out. https://ldjam.com/events/ludum-dare/45/a-platfomer

If anyone tried to play the game this week and could not find the link am very sorry. Real life keep me busy after the jam, so didn't think of check in before now.

Small post-jam update

Now you can download a post-jam version of HONK.

There aren't many changes: 1. You can see your time and score on the End screen. 2. Blood now is less vivid. 3. Some sounds are less loud.

Here is my personal record!

2019-10-10_20-16-52.png

A new best score !

A new challenge on "Nothing is my car" :

BestScore.png

Who can beat this score ? :v:

Make a try here : https://ldjam.com/events/ludum-dare/45/nothing-is-my-car

Delta Test Site has 20 ratings!

Unit QWERTY 123456 started with nothing, but thanks to you now it has 20 ratings in every category!

victor.gif

Thanks for everybody that took the time to play and rate my game. Your feedback is very important for me to improve as game developer. I'm trying to play and rate as many games as possible but just as the jam, i got time constraints in real life as well.

Ludum Dare Games Streaming Right now!

You can view it here: https://twitch.tv/preetkam

you can submit your games here: https://forms.gle/Y8YFP9xQqTeXmCYQA

New bug fixes on Spoooooooooky

Spooky.png

Thanks for everyone that play and rate Spooky! We release some fixes in gameplay and UI to help players to get it.

And here is the challange: BEAT THE LAST LEVEL!!! WHO CAN BEAT IT????

https://ldjam.com/events/ludum-dare/45/spooky-the-one-who-lost-everything

Audio in games: tying aesthetic with sound

As you may have seen if you played some games in this jam, sound is an often overlooked aspect in game design (specially in game jams, where you have little time). Even when not completely ignored it sometimes feels like it doesn't fit into the game, like it was an extra piece put at the end just “because you have to”. But sound is actually a fundamental part to making a great game because it contributes to the overall game feel and can serve a wide variety of purposes! Some of them are feedback (giving the player information on their actions), helping the narrative (music can tell A LOT just by itself, just imagine it being paired up with good characters like in Undertale), or it can simply reinforce the character of a game.

In Robbie I tried to create audio that would fit into the dystopian world and make the experience more fun.

capture2901.png

I had very clear from the beginning that for the music I would use synths, the protagonist of the story is a robot so I felt like synthetic sounding music would be the correct choice. I used massive since it gives so much control over the feel of the final sound and I simply love it.

Audio3.PNG

For the effects I used A LOT of bitcrushing, which basically distorts the sound to get a bit of a lo-fi, weird sounding, distorted sound. The game also uses dynamic music so when you do one of the two important advancements a new instrument kicks in. This also gives the player a message that they are going in the right direction.

Sound2.PNG

Sound design was a similar process, lots of bitcrushing and layering, which is one of the most important technique used in sound design. Layering consists of playing several sounds together to get a result with character and personality.

For example, the “jump” sound was created using four different layers: a pneumatic bomb flushing out some air, the same sound again but pitched down an octave to fill the lower frequencies, a weird match-like sound to give it more impact and finally the sound of a motor faded in and out.

Audio.PNG

I couldn’t spend as much time as I wanted on sound design because I also had to code but I hope this post had useful information in it :D

Feel free to check out and rate our game and happy game-making! <3

People, lets make some good things!!!

Some games on this game jam have no score, these games not even played!!!!

So please, go to tab "Games" , and choose category to "Zero", there will be a LOT of games that don't have points or score, so please, play they're games , and you will make they're day :D

There is a little list of game that don't have score :

(https://ldjam.com/events/ludum-dare/45/a-new-life) (https://ldjam.com/events/ludum-dare/45/stealth-run) (https://ldjam.com/events/ludum-dare/45/zombie-madness) (https://ldjam.com/events/ludum-dare/45/ghost-game) (https://ldjam.com/events/ludum-dare/45/inkblot-shade) (https://ldjam.com/events/ludum-dare/45/hettinger)

The Firebrand - A Mystery Story

thefirebrandbanner.png

firebrand.gif

"The pain’s always the same.”

An interrogation room. Sitting on one end of a table is a woman. On the other is you - a detective tired of asking questions, but desperate for answers.

Who is the woman? Why is she here? What has she done?

The only way to find out is to talk. Every conversation topic giving new leads to chase down. Some worthwhile. Others not so much.

Follow the rabbit hole until you reach the truth.

It's time to investigate.

(Play in browser!)

Êtes-vous un amant perdu?

Then play The Blue Girl:

https://ldjam.com/events/ludum-dare/45/the-blue-girl

Featuring eerie music by Brian Cavanaugh and original artwork by Dr. Chung.

ghost-blue-girl-over-hole.png

We have made a game development video

For my teams game, Protector ( https://ldjam.com/events/ludum-dare/45/protector ) we made bits of videos for the development, and gameplay. This is the video we made! https://www.youtube.com/watch?v=4OAYWLffGX0

Im so close!!

Im very close to 20 ratings, I need 3 more. Thanks to everyone who has played my game and rated it, if you havent, please play? It would mean a lot to me <3 scr1.PNG

game : https://ldjam.com/events/ludum-dare/45/youre-being-chased-by-nothing

sct5.PNG scy6.PNG

Excuse-me, got a second to ressurrect the dead?

Yes! Play as a necromancer fighting to defend his new discovery, the philosopher's Stone!

https://ldjam.com/events/ludum-dare/45/necrofenser-hero

Please play, rate and leave a feedback!

Cajado_SE.png

Retrospective - Broke'n'Bad

Screenshot 2019-10-10 at 19.46.45.png

The week-end didn't start as I would have hoped for. I was hoping to have a team. I ended up alone. I would have liked to be able to commit the whole 2 days to the game development. I ended up having commitments on Saturday and Monday evening. The conditions were therefore not ideal. Nevertheless, I had one clear goal in mind: submitting a game that feels complete. It should contain:

  • proper graphics,
  • an usable user interface,
  • sound and music, and
  • in-game explanations on how to play.

As far as I am concerned, I achieved everything I could hope for. All sprites shown in Broke'n'Bad are self-made. I enjoyed drawing them more that I think I would have, even though I am absolutely terrible at art. The UI is acceptable as long as you don't play on a too large of a screen. I couldn't figure out a way to make it scale properly ... Next time maybe. At least, the game comes with a proper main and pause menu.

While I didn't make any of the audio myself, I am happy to have sound-effects and a background music. Based on the first feedback, the UI explanation within the game are not clear enough to easily explain how to play my game. Next time, I will make sure to include a step-by-step explanation if the gameplay requires it ... in other words a proper tutorial.

Please help me improv on my gamedev journey by playing and rating Broke'n'Bad. Any feedback is more than welcome!

Nothing's lighting effect explained and tutorial

ludum dare - 6.gif

I've had a few people ask me about how I handle the lighting in my entry Nothing. I get asked wether it's a shader or some other coding magic. So I thought I'd take the time to explain it and procvide the code and explain it the best I can.

This lighting effect is inspired by the one used in Minit and I honestly wanted to just see if I could recreate it. From this is where my visuals in my own entry came from.

minit example.PNG

I'm using GameMaker studio 2 in this tutorial - so for any none gamemaker users I'm not sure how useful this will be for you but maybe you'll find it interesting regardless.

* Lets start things up by first creating a new object*

create event

//we're going to be using surfaces to recreate this effect

//step one create a surface the size of the current room and assign it a name
lighting = surface_create(room_width, room_height);

//next fill the surface with our specified color - in my game I use a slightly blueish black but this can be replaced with any color
surface_set_target(lighting);
sdraw_clear_alpha($21280D, 0);
surface_reset_target();

end step event

//normally most objects make use of a step event, but because we want to ensure the lighting effects are done last we use a step end event

if (surface_exists(lighting)) {  //surfaces can be volatile, so you should always check if they exist before drawing to one

surface_set_target(lighting);


// The next few steps set the dark overlay
draw_set_color($21180D);
draw_set_alpha(1); // here is an optional line that reduces the darkness of the room
draw_rectangle(0, 0, room_width, room_height, 0);

// Setting the blend mode to 'subtract' is what allows us to "cut holes" out the surface we made
gpu_set_blendmode(bm_subtract); 

draw_set_color(c_white); //anything drawn in white will now remove the overlay in that position



//minit lighting system

draw_circle(mouse_x, mouse_y, 100, false);  // here is where the magic happens 




// Reset all of your draw stuff back to normal again
gpu_set_blendmode(bm_normal);
draw_set_alpha(1);
surface_reset_target();


} 
else
{
   // sometimes surfaces can fall apart randomly so here we
   // Create a new one if there were any issues
    lighting = surface_create(room_width, room_height);
    surface_set_target(lighting);
    draw_clear_alpha(c_black, 0);
    surface_reset_target();
}

draw event

// Draw the surface or create a new one if the old one borked out


if (!surface_exists(lighting)) 
{
    lighting = surface_create(room_width, room_height);
}
else 
{
    if (view_current == 0) 
    {
        gpu_set_colorwriteenable(true,true,true,false);
        draw_surface(lighting, 0, 0);
        gpu_set_colorwriteenable(true,true,true,true);
    }
}

ok so what's this do?

Well if you were to take this code and run it right now you wouldn't get that sweet dithering effect you'd see in Minit and instead see this:

ludum dare - t1.gif

Currently its a simple circle - it's a neat effect and I even use it my game to create the pinhole transition used at the beginning, but thats not why we're here. To get the dithering effect we need to be drawing some sprites with the dithering built in. specificially something like these:

lighting sprites example.png These are just 4 simple sprites with varying levels of dithering - with the first sprite being entirely white and the rest getting progressively more transparrent (note: to show this better the transparent pixels in the above are represented with black pixels)

so now we have the sprites, how do we use them?

simply replace the line: drawcircle(mousex, mouse_y, 100, false); // here is where the magic happens with a nested for loop: for(var my = -5; my <= 5; my++) //now the magic really happens { for(var mx = -5; mx <= 5; mx++) {

        var dist = point_distance(mouse_x, mouse_y, mouse_x + mx*16, mouse_y+ my*16);
        {
            if(abs(dist) <= 2*16) draw_sprite(s_lighting, 0, (floor(mouse_x/16) + mx)*16, (floor((mouse_y-24)/16) + my)*16);
            else if(abs(dist) <= 3*16) draw_sprite(s_lighting, 1, (floor(mouse_x/16) + mx)*16, (floor((mouse_y-24)/16) + my)*16);
            else if(abs(dist) <= 4*16) draw_sprite(s_lighting, 2, (floor(mouse_x/16) + mx)*16, (floor((mouse_y-24)/16) + my)*16);
            else if(abs(dist) <= 5*16) draw_sprite(s_lighting, 3, (floor(mouse_x/16) + mx)*16, (floor((mouse_y-24)/16) + my)*16);
            else
            {
            }
        }

    }
    mx = 0;
}

The aboe simply checks if the current position is x amount of tiles away from whatever origin point - in this case the mouse pointer. my tiles are 16 * 16 in size which is why everything is done with a check of 16.

now what we get is: ludum dare - t2.gif

And there we have it a simple effect done simply.

You can add some other things too like having a sinWave effecting the distance to give off a pulsing / flickering effect.

Personally I find this effect only really looks good with a limited color pallet but feel free to try it out in whatever you're working on, try it out and send me some screenshots with with different colors and sprites and if you use it show me on twitter @JoelLikesPigs

Hope that explains that - hit me up with any questions if you're lost on anything.

Save the mice of Muridae!

Play as a mouse trying to save his homeland from the dust bowl! Run, jump, talk, and climb on your journey to save the Kingdom of Muridae!

https://insomniacs.itch.io/osage
https://ldjam.com/events/ludum-dare/45/osage

ezgif.com-optimize.gif

OSAGE1920x1080.png

Another inspirational update!

I've pushed another small update for Inspiration. to fix a glitch where the bar's exit didn't work properly, and you could glitch out of bounds or get stuck inside a house. The actual collision detection still doesn't work properly but I'm probably gonna just give up on that. This happens every jam and I'm honestly sick and tired of it.

Anyway, check out Inspiration. here if you haven't already: https://ldjam.com/events/ludum-dare/45/inspiration

ld45_006.png

Tools and tech for my game written in Rust

I took this Ludum Dare as an opportunity to practice some Rust programming. I used the Ggez engine, which provides APIs for graphics and sounds and an event loop - just what I needed. The project ended up with 667 lines of Rust for the actual game (including the hardcoded story messages), 76 lines of Python (for asset conversion), and 105 lines of Makefile.

code.png

I use VS Code as an editor, which with the Rust plugin becomes a pretty good IDE. It's amazing that I can get all of this as open source software. I developed the game on Windows, because the most powerful computer I have is my Windows desktop at work.

travis.png

For automatic builds, especially for Mac and Linux builds, I used Travis CI that amazingly can build for Mac even on their free tier. Creating software for Mac otherwise requires Apple hardware. I had set up Travis before the contest started, but since building the assets didn't work on the build machines, all builds failed so I didn't have much help from it as a Continuous Integration system. I released the Mac and Linux builds a couple of days after the deadline.

blender.png

I made the levels in Blender and wrote a script using Blender's Python API to export the meshes and trigger areas as raw binary data to be read by the game. I would have saved time if I had done this before the competition, as that's something I always need. I have scripted Blender before, but this is the first time I ran it from the command-line during the build process, which was very convenient.

Of course, Blender is not installed on the machines Travis uses for building, so for the releases I had to check in the result, something I'd rather not do. (Rule: If a file can be created from what's already checked into the repository, then it shouldn't be checked in.) I later realized that I may be able to make the build scripts download Blender if it's not installed. It's very lightweight for being a powerful piece of 3D software.

music.png

I made the "music" in FL Studio. First I started with some bassline, but that sounded a funky and didn't fit the mood I wanted at all. So I slowed that down by about 90% and switched to some FM synthesis sounds, which made me think of some 1960's experimental art music. Perfect!

The rest of the sounds are noise and tone generators in Audacity.

cover.png

I came up with a story about someone who not only can't control the spacecraft, but also has no recollection of what he/she is even doing there. You start with nothing, not even the possibility to steer.

I usually do level design last, and as this Ludum Dare ended three hours earlier than I'm used to, I had almost no time for that, so the game is short and ends abruptly. But I consider it a success anyway, because I did what I set out to do, which was to learn more about game development in Rust.

Play and vote for Legally Dead here!

Post Mortem for Soundmarine

Soundmarine came out as the short (actually, very short) music-driven game-experience. We decided to try to make a game in a distinct visual style reminiscent of the works of Jean Giraud aka Moebius.

THE IDEA ON PAPER. The player starts steering the submarine on a barely filled screen (the objects are in outlines only), in complete silence and collects sound-emitting objects resulting in a semi-random musical piece. The sounds are fading and you have to keep picking them to stay afloat. The world around gradually becomes more dense. Then there is a board with all the sounds in the end menu that you can switch on/off.

Screen Shot 2019-10-10 at 11.20.14 PM.png

THE PROCESS. The biggest chunk of process was the work on shaders, particularly outlines. Also the controls and camera movement took a lot of time too. Models had to be created with this shading in mind as lots of outlines depended on vertex colors and normals of the meshes. The sound layers and sfx were done in the last day in under three hours.

Screen Shot 2019-10-10 at 11.29.00 PM.png

THE RESULTS.

The visual look came out mostly nice. The outlines were unfinished, however. We wanted to make them a bit more 'chewed', as in art of Moebius. The rendering of outlines was not equal on different platforms. In fact, we tested the game on Windows only two days later, just to discover that there is no lines at all! We managed to fix that now.

01_4K.4000x2250.20191008180504378.png

Performance was lagging a bit. It was due to literally millions of vertices on the scene. Luckily there are such things as dynamic occlusion and LOD (Level of Details) in Unity, which saved us a few FPS.

The music layers are ~40 sec long stems synced at the start. Each buoy unmutes a new layer. There are 15 of them, created to sound OK together and in isolation. Looking back, stacking some of the random layers came out too subtle.

s-3.gif

The gameplay in a jam version is a bit bare. There were bugs when the submarine floats away from the view. The pick-up buoys were manually distributed in a random fashion in the last hours of the jam. We are working on a post-compo version (WebGL version too) with more obstacles, which should liven up the game a bit.

Check out the game or watch a video (which is basically a whole gameplay in less than 3 min).

https://ldjam.com/events/ludum-dare/45/soundmarine https://dustyroom.itch.io/soundmarine

https://youtu.be/om80uA44I5o

Thank you for your attention!

By the way, check out an amazing game Palely by anstabo, also crafted in Moebius style. https://anstabo.itch.io/palely

Gotta Bake 'Em All! Now with WebGL!

Finally, got some time to upload a HTML5 version of our game! perso2.gif Enjoy. Now I kind of want to make a version with a gameboy overlay and buttons, so it could work on phones and tablets! peek.gif

https://ldjam.com/events/ludum-dare/45/gotta-bake-em-all

123

123

Nothing In The Way

Help this little creature to reach the stars in my first ever compo submission!

262e4.png

https://ldjam.com/events/ludum-dare/45/nothing-in-the-way

Lets help Jeff reap some souls with some jamming tunes

image.jpg

Reap some humans while jamming to Hellion tracks found on sound cloud :)

https://soundcloud.com/mad_brokli/sets/ludum-dare-45-hellion

play it here -> https://ldjam.com/events/ludum-dare/45/hellion-is-now-finally-published

follow us here -> https://twitter.com/MadBrokli

Streaming Ludum Dare games and taking requests in the chat!

Playing with some friends, come and watch the stream!

https://www.twitch.tv/bighugejake

Here are the requests currently: https://docs.google.com/spreadsheets/d/1dQaD7-9pmwv3vIwSrmb7I2VgRXH1gZv0BSbLgX1v1sA/edit?usp=sharing

New high score on Acorn Rush!

I've finally managed to hit 3000 points on our Jam game, "Acorn Rush"!

Let me know if anybody manages to get higher :D

https://ldjam.com/events/ludum-dare/45/acorn-rush

LD45 10em10/em2019 2em50/em55 PM.png

Tactical amphibian combat simulator v1.2

For those who were interested, we finally fixed the annoying save bug in our game, so it now works 100% of the time. No more frustration in your frog combat! Also boat technology. If you find it.

My Top [DANGER] Finds So Far

Ground Zero:

https://ldjam.com/events/ludum-dare/45/ground-zero#create/166458/post
LDfavs.png

A looter/time management game * Lovely art
* moody audio
* chill pacing
* short playtime
* high grade of polish

Pocketon Peak

https://ldjam.com/events/ludum-dare/45/pocketon-peak
LDfavs1.png Lovely little zelda-like
* great soundtrack
* authentic looking gameboy graphics
* lots of content
* interesting enemies (as i understand each drops a specific use-item when killed)

Vr.Punk

https://ldjam.com/events/ludum-dare/45/vr-punk
2719f.gif

This is a weird one.
You have a "switch universe" kind of ability which puts you into a "nothing"-version of the level.
All enemies and spikes are gone and you can still move - but can't jump as far and you obviously don't know which spots are safe to switch back anymore.
I was surprised when the game also put a gun in my hands but even that had an interesting way of doing things.
Seems like the bullet grows larger and more powerful the further it travels.
For me personally the game would be great as just a cool puzzly plattformer but it pulls the rest off pretty well too.

A well timed 403!

I uploaded an updated post-dare version with some bug-fixes , and now my website is b0rked.

Anyone know what I might have done to totally muller it ?

Below is what it should look like, vs what it does...

aaaaaaaaaaaaaa.png

For the first time , I actually have something (reasonably / comparativetly ) finished too. :O

New bug fixes on Wandering Soul

Thanks everyone for playing and rating Wandering Soul!
We did some minor bugfixes.

https://ldjam.com/events/ludum-dare/45/wandering-soul

s3.jpg

Choose-Your-Own-Adventure + Scrabble = Fairytiles!

As much as I love jamming, I kinda suck at video games. I mean, if I can die in your game, I will usually do so at the first opportunity…over and over again. :face_palm: So for this jam, I wanted to make a game I could actually play myself – we made a word game! We created the storylines in Twine (really great, open-source tool for choose-your-own adventures!), then made a parser in Unity that combines everything and turns it into a playable game. This allowed for both of us to develop storylines independently (with the bonus of not having to rely on a single, gargantuan file), and also makes the game super extensible. I’m really looking forward to creating new/expanded storylines at some point!

Are there any other word or funny narrative games we should try out? Or other games where I can’t die? :wink:

Screen Shot 2019-10-10 at 23.20.21.png hint: the letters “RESTART” can make more than one word!

PS: if you’re interested in how our Unity/Twine parser works, let us know in the comments and we’ll try to do a post on it!

The Blue Girl

https://ldjam.com/events/ludum-dare/45/the-blue-girl a game for ghost lovers img.png

Making the Metronome in Higher Desire

Ever wanted to make a rhythm game, but found the task of synchronizing visuals and player input to a constant beat too daunting?

Well fear no longer! For I have suffered immensely so you hopefully don’t have to, and I’m here to share the fruits of my immense pain with you today.

1. The Basics

First, we start with the backbone of the entire game: the Metronome class.

``` using System.Collections; using UnityEngine;

public static class Metronome { public delegate void MetronomeBeat(); public static event MetronomeBeat OnBeat;

private static float beatsPerMinute = 80f;
public static float secondsBetweenBeats = 0f;

public static double currentBeatTime = 0;
public static double nextBeatTime = 0;

public static bool metronomeStarted = false;
public static bool metronomePaused = false;

public static IEnumerator StartMetronome()
{
    Metronome.secondsBetweenBeats = 60.0f / Metronome.beatsPerMinute;

    Metronome.nextBeatTime = AudioSettings.dspTime;

    Metronome.metronomeStarted = true;


    while (true)
    {
        if (Metronome.metronomePaused == false)
        {
            double curTime = AudioSettings.dspTime;
            if (curTime >= nextBeatTime)
            {
                Metronome.currentBeatTime = Metronome.nextBeatTime;
                Metronome.nextBeatTime += Metronome.secondsBetweenBeats;

                if (Metronome.OnBeat != null)
                {
                    Metronome.OnBeat();
                }
            }
        }
        else
        {
            Metronome.nextBeatTime = AudioSettings.dspTime;
        }

        yield return null;
    }
}

public static void ToggleMetronomePause()
{
    Metronome.metronomePaused = !Metronome.metronomePaused;
}

public static void UpdateMetronomeTempo(float newBeatsPerMinute)
{
    Metronome.beatsPerMinute = newBeatsPerMinute;
    Metronome.secondsBetweenBeats = 60.0f / Metronome.beatsPerMinute;
}

} ```

Surprisingly, there’s actually not much going on here in terms of complicated code. Basically we call a coroutine that runs indefinitely and fires off an event every time we hit a beat based on the Beats per Minute (bpm) we specify. We keep a reference to timestamps of the current beat and the next beat for reasons that I’ll explain later. However, there are a few tricky “gotchas” that I’d like to point out.

Gotcha 1: What the heck is dspTIme?

In case you weren’t aware, Unity has a separate Time thread specifically for audio that is sample-based, aka completely frame independent. If you were to use Unity’s main Time thread (using either Time.deltaTime or Time.fixedDeltaTime), the slightest variance in framerate would slowly shift your metronome out of sync. This was a lesson I learned the hard way with my first foray in the “music-based” genre with an earlier LD compo entry I made called Orbitunes. The last thing you want is a frame-dependent rhythm game.

Gotcha 2: Why are you handling “Pause” so weirdly?

For typical Pause functionality, setting Time.timeScale to 0 would effectively stop calls for FixedUpdate() functions, thus pausing your game. It’s quick and a little dirty, but it (mostly) works. However, the dspTime thread can’t be manipulated like that, and is always ticking. If you don’t update the nextBeatTime when you want to pause your metronome, the moment you unpause it the condition (curTime >= nextBeatTime) will fire off a bunch of times until it catches up with the current dspTime, resulting in rapid-fire beats for a few seconds, depending on how long you kept the metronome paused.

Now that we have this Metronome class, anything that subscribes to the event OnBeat() will have a call back that fires exactly in sync with the Metronome. Pretty neat! Now let’s get into some nitty-gritty inputs…

2. The Input Logic

The entirety of the code for input handling is a little overwhelming to look at all at once if you don’t understand the logic of it. You can find the full code for it here, but I’m going to break it down essentially function-by-function in a way that’s hopefully understandable.

First Up!

public void Awake() { InputManager.calibrationKeys = new List<double>(); Metronome.OnBeat += this.ProcessBeat; } Simple enough. Make sure you subscribe to the Metronome’s OnBeat event so that you can sync to the rhythm. We’ll get to calibrationKeys later. ``` public void Update() { if (Input.GetKeyDown(KeyCode.Space)) { if (InputManager.calibrationKeys.Count < 20) { this.UpdateCalibration(); }

        this.adjustedInputTimestamp = AudioSettings.dspTime;

        if (this.IsMostRecentInputOnBeat() == true)
        {
            this.HitSuccess();
        }
        else
        {
            this.HitFail();
        }
    }
}

private void HitSuccess() { this.successSound.PlayScheduled(Metronome.currentBeatTime);

    if (InputManager.OnHit != null)
    {
        InputManager.OnHit();
    }
}

private void HitFail() { this.failSound.PlayScheduled(Metronome.currentBeatTime);

    if (InputManager.OnFail != null)
    {
        InputManager.OnFail();
    }
}

``` The Update loop is a little beefier, but still fairly straightforward. For the first 20 inputs (arbitrarily picked number) we calibrate the player’s inputs so that the game “feels right” for whoever plays it, regardless of their reflexes or machine specs. We’ll go over how to do that later. After that, we process every input, determine whether or not it was a “hit” or a “fail”, and fire off the proper event for each case. And that’s all Update does! Now let’s get into the more complicated stuff for actually determining these hits/fails…

``` private bool IsMostRecentInputOnBeat() { bool undershootTest = ((Metronome.nextBeatTime - INPUTGRACEBUFFER) <= this.adjustedInputTimestamp); bool overshootTest = ((Metronome.currentBeatTime + INPUTGRACEBUFFER) >= this.adjustedInputTimestamp);

    return (undershootTest || overshootTest);
}

``` Not much code here, but the logic of it might be a bit hard to follow, so let me break it down with a poorly-made timeline graph made in Paint.

metronomeTimeline1.png

Firstly, we have to remember that human reflexes are not only really delayed, but also widely varied. As such, we need to have a “grace window” for player inputs that will evaluate to “on beat” when they are pressed.

Once we have this grace window established, we need to know what to check. When the player hits an input, they can be considered “on beat” if they hit slightly after the current beat (overshoot) or slightly before the next beat (undershoot). Since we store the currentBeat and nextBeat timestamps in the Metronome class, this is super easy. If we detect a valid overshoot or undershoot from the player input, we consider it to be “on beat.” Nice!

…But hold on now, what if we also want to detect a lack of any input on a beat, rather than just an off-beat press? That requires a bit of additional logic that will fire on every beat in-time with the Metronome (ie: it subscribes to Metronome.OnBeat()). Here’s what that logic looks like:

``` private void ProcessBeat() { this.clickSound.PlayScheduled(Metronome.currentBeatTime); StartCoroutine(this.DetectBeatMiss()); }

private IEnumerator DetectBeatMiss() { double currentDspTime = Metronome.currentBeatTime; double endOfGraceBuffer = Metronome.currentBeatTime + INPUTGRACEBUFFER;

    //First, wait grace period
    while (currentDspTime < endOfGraceBuffer)
    {
        currentDspTime = AudioSettings.dspTime;
        yield return 0;
    }

    //Then, check to see if the beat was missed.
    //It's possible the player hit the beat within the grace window before and after the beat, so checks both sides
    if (this.WasBeatMissed())
    {
        if (InputManager.OnMiss != null)
        {
            InputManager.OnMiss();
        }
    }
}

private bool WasBeatMissed() { bool withinUndershootThreshold = (this.adjustedInputTimestamp >= (Metronome.currentBeatTime - INPUTGRACEBUFFER)); bool withinOvershootThreshold = (this.adjustedInputTimestamp <= (Metronome.currentBeatTime + INPUTGRACEBUFFER));

    return (!withinUndershootThreshold || !withinOvershootThreshold);
}

``` This is a little tricky, because remember there is a short grace window after a beat that the player can hit and still be "in time." Therefore, we have to wait for that grace window to pass before we can detect a miss due to a lack of input.

After that the logic check in WasBeatMissed() looks very similar to IsMostRecentInputOnBeat(), but there’s one key difference. This time, instead of checking for an overshoot of the current beat and an undershoot of the next beat, we are exclusively checking the grace window before and after the current beat! If we don’t detect any input within this grace window, we conclude that there was no input for the current beat, and fire off an OnMiss() event for other scripts to subscribe to and execute code for.

After all of that’s done, you’re pretty much set up for detecting inputs! Hopefully I was able to make it understandable enough, because I had to draw out timelines and work through it on paper dozens of times before I was able to get the logic right.

Now that we have the Metronome and the Input Logic in place, let’s add ooooone more bit of polish to really make rhythm input feel good.

3. Calibration

As I alluded to earlier, differences in computer power and player reflexes can make a rhythm game feel perfect to some, and completely off for others. In order to combat this, we’re going to add a sneaky calibration processing into the player’s first few inputs. You can theoretically do this wherever you’d like, but my team decided to put it during the player’s first 20 inputs, as we have a short cutscene at the beginning of our game, so it’s the perfect place to seamlessly tune the rhythm to the player’s preferences. Without further ado, let’s get to the code!

First and foremost, you may have noticed in the previous snippets the variable adjustedTimeStamp. This is actually a property in the InputManager with its own special get and set functionality:

``` private double _rawInputTimestamp = 0;

private double adjustedInputTimestamp { get { return (_rawInputTimestamp - this.calibrationValue);

    }
    set { _rawInputTimestamp = value; }
}

This is a handy way of making sure we always apply our calculated calibration value with every reference to player input timestamps. But how do we calculate this calibration value exactly? Let’s find out! Remember in our Update function, we’re calling something called UpdateCalibration() for the first 20 inputs. Let’s see what that function is actually doing now. private void UpdateCalibration() { this.GetCalibrationValue(); this.SetCalibrationAverage(); }

private void GetCalibrationValue() { double calibrationTimestamp = AudioSettings.dspTime; double preBeatCalibration = Metronome.nextBeatTime - calibrationTimestamp; double postBeatCalibration = calibrationTimestamp - Metronome.currentBeatTime;

    if (preBeatCalibration < postBeatCalibration)
    {
        InputManager.calibrationKeys.Add(-preBeatCalibration);
    }
    else
    {
        InputManager.calibrationKeys.Add(postBeatCalibration);
    }
}

private void SetCalibrationAverage() { double runningTotal = 0;

    for (int i = 0; i < InputManager.calibrationKeys.Count; i++)
    {
        runningTotal += InputManager.calibrationKeys[i];
    }

    this.calibrationValue = (runningTotal / InputManager.calibrationKeys.Count);
}

``` It’s a lot of lines of code, but the logic is fairly easy to follow if you take it slow.

So first, when the player hits input at a time that they feel is “on beat,” we calculate how close they actually are by calculating their overshoot and undershoot values. Depending on which value is smaller, we add that to the list of calibration keys and take the average. The resulting calibrationValue is what we will use to adjust the player’s input timestamp to match the timestamp in dspTime that they think they’re hitting. The result is that the player's “off beat” inputs (according to the computer) are actually processed “on beat” if they feel that way to them. Sweet!

Unfortunately, I wasn’t able to finish this calibration portion in time for submission of Higher Desire, resulting in some slightly borked rhythm keeping. If you’d like to see the metronome working correctly, feel free to check out our Post-Jam version found at the same game page!

In the meantime, this should be enough to get you started making your own rhythm games with proper input support! Hopefully it was useful! :smile:

‘Til next time! :pointright: :cowboy: :pointright:

More than Half Way there!

Just wanted to say thanks to the people who have rated our game LEAPING LOUIE and see if anyone else was looking for a fun HTML5/WebGL game to play and rate. We are really proud of how LEAPING LOUIE turned out and would love to get a few more ratings and feedback. Thanks!

Leaping Louie Cover.jpg Leaping Louie.jpg

Bereshit - Video tutorial

Hopefully it will prove helpful:

https://youtu.be/MoLFlJHv4oM

And of course, here's the link to the game so you can try for yourself: https://ldjam.com/events/ludum-dare/45/bereshit

The Blue Girl

a game for ghost lovers img v2.png

https://ldjam.com/events/ludum-dare/45/the-blue-girl

How did you prototype your game???

Did you prototype it at all, or just think of an idea and jump in feet first? Did you have a way you brainstormed, etc? Have you tried different things in different jams, or found something especially effective/ineffective?

I'm really curious about how other people have been approaching jams, and especially interested in paper prototyping for jams, though I'm not sure how common that is.

(Mockup and Prototype used loosely here, since many of the jam games are still technically prototypes)

Tentacular, Available on Windows, Mac, Linux and Web

I'd appreciate anyone with a mac or linux to let me know how the game plays on those platforms. I don't have either to test on. sshot01.png

https://ldjam.com/events/ludum-dare/45/tentacular

Streaming LD45 Games over on Twitch and Mixer.

Hi friends, I'm going to be playing some Ludum Dare 45 games over on twitch and streaming it starting around 9:30 EST. If you are interested or you want me to play your game just leave the link in the chat.

mixer.com/HeartLamp

twitch.tv/heartlamp

Ludum Dare 45: Prepare To Die Edition

REKINDLINGemOF/emIRON.png

Very proud of my first ever game jam. It was worth the lack of sleep and I really hope you have fun playing it!

https://ldjam.com/events/ludum-dare/45/rekindling-of-iron

Paint a Solar System - Fixed for mobile & Android build

Paint a solar system now works full on mobile. There's also an Android build available! The game may not display properly in the web build on mobile (depending on phone resolution), but there is an android build to account for this now! Also all controls have been moved to on screen buttons. Happy painting!

Check out my game, "Color and Creativity"!

Check out my game Colors and Creativity here!: https://ldjam.com/events/ludum-dare/45/color-and-creativity Thanks, I really do appreciate it, and job luck with everyone else's games too! Thank you everyone again!

screnshot2.png

SCreenchot.png

La Dame Bleue

ld-controls-large.png

https://ldjam.com/events/ludum-dare/45/the-blue-girl

Naked in the snow

What happens if you place 30 naked dudes in the snow, the temperature drops rapidly and there is limited supply of clothing to survive?

Play&rate "Naked in the snow" and find out! :)

https://ldjam.com/events/ludum-dare/45/naked-in-the-snow

naked in the snow.gif