A Boy and his Ghosts

by rolly
Overall★★★★★★★★★★3.91
Fun★★★★★★★★★★3.88
Innovation★★★★★★★★★★3.50
Theme★★★★★★★★★★3.91
Graphics★★★★★★★★★★3.55
Audio★★★★★★★★★★3.69
Humor★★★★★★★★★★3.55
Mood★★★★★★★★★★3.62
A boy is stuck in a time loop and has to start over and over every 30 seconds. Fortunately, there are escapes to the loops, and with the help of his ghosts, he should be able to overcome the 9 levels!

Controls

Controls are shown in game, but here's a summary:

- Movement : WASD / ZQSD
- Jump : Space
- End loop : Left shift
- Pick up / drop : E
- Throw : F
- Restart level : Backspace

The full-screen mode is supported.

Did you say bugs?

The game highly relies on physics, and there could be some inaccuracies resulting in devastating outcomes for your infallible plans... I did my best, but there are still some bugs once in while. Sorry about that. Place yourself at the center of buttons, place yourself correctly in front of boxes before picking them up, walk in the center of platforms... And everything should be just fine !

Tools

Everything was made in 48 hours, using
- Game engine : Unity
- Coding : Jetbrains Rider
- 3D models : Blender, texture with Photofiltre
- Music : Musescore2
- Sounds effects : Audacity

I will be happy with any kind of feedback, please let me know if you enjoyed or if you would have done things differently. Thank you in advance, and hope you have fun!



screenshot

Comments39

binroot
binroot4 Oct 2020, 23:44
Loving the "I'm ready" animation. The puzzle designs are well done. Clever idea, reminds me of Braid a little. Jumping could be improved, but that's always a tricky thing to get right.
kuro
kuro4 Oct 2020, 23:47
Very pleasant game. Cute character with cute dance, and the game itself is fun to play. Controls smoothly, and is easily understandable. Kudos
Lestat
Lestat4 Oct 2020, 23:55
Nice little game. Cool graphics. Fun to play. Good job!
Nick Barrash5 Oct 2020, 00:16
That dance gonna be the new "flossing"
JCMonkey
JCMonkey5 Oct 2020, 01:37
i really like the idea of the ghosts doing moves for you to advance, kind of dark though knowing you have to kill yourself to progress forword. this could have been great for death is not the end theme
TomekS5 Oct 2020, 03:53
Wow that's a great one, very clever mechanic and nice execution, love it. Also the audio is really catchy. Its quite polished in every aspect, well done.
bereg
bereg5 Oct 2020, 12:21
Great game, nice animation and I like the level progression. Impressive job. By the way I think it's a physics thing but in different iterations boxes flies a little bit different. But it's a part of fun.
Linus Lindberg
Linus Lindberg5 Oct 2020, 17:07
Love this little guy, the dance is just perfect!
Very impressive level design with distinct progression and introduction of mechanics.
Brilliant for a ludum dare game, the onlt dlaw is that the the physics seems unreliable as you mentioned.
oa5f5 Oct 2020, 17:14
Great game! Unfortunately, after a while I could no longer pick up boxes which made the game unplayable.
Rolly
Rollyauthor5 Oct 2020, 17:46
@oa5f ow, sorry about that, any idea what happened just before the bug? A friend of mine got the same error, but I couldn't find any way to trigger the bug on my machine. If you have any information it would be great!
Kevin Meissner
Kevin Meissner5 Oct 2020, 17:54
Good job I was really amazed by the game mechanic.
Really nice idea.
Coding4rtist
Coding4rtist5 Oct 2020, 18:28
Clever idea, catchy music. Best aspect of the game? Definitely that dance!
blobo
blobo5 Oct 2020, 21:40
Really cool idea! I also love the character and their dancing when you clear a level. Great work!
kuro
kuro6 Oct 2020, 07:47
Just so you know, I saw this wizard here, and got reminded of your game, so I came back just to watch your guys on the title screen dance for a while.
Rolly
Rollyauthor6 Oct 2020, 08:03
@kuro : Haha ! I played their game too and laughed out loud seeing a little troll dancing in the title screen :D That's a trend!
Stefania Mak6 Oct 2020, 10:48
The dancing and the sound effects were hilarious! I like how you had multiple ghosts, and not just one, even if they were your failed tries to jump over a wall or to a platform :laughing:
Amin_JK000
Amin_JK0006 Oct 2020, 17:27
this is great I liked everything about this game :v:
Wahooney
Wahooney6 Oct 2020, 20:20
Brilliant idea! (mine is very similar :wink:)
Frogman
Frogman7 Oct 2020, 10:35
Really nice game! The gameplay was intuitive and fun. I liked all the player animations - the dance, jump, waiting around etc. - and the audio was great too. The slightly unreliable box throwing was a bit annoying on the last level, but other than that, great entry!
JudgeZedd
JudgeZedd7 Oct 2020, 15:44
Neat little game, humorous and fun to play around with the physics. Great time had, really good for a weekend. Well done!
andrew-marsh
andrew-marsh8 Oct 2020, 20:55
I had the same bug as @oa5f . I had the bug on Level 8, but was still able to beat the level. Strangely, while when I pressed e I didn't pick up the box, the ghost replay did.
Picking up boxes worked again on Level 9. And I beat the game.
Even with the bugs, this is one of the most fun games in the competition, the bug even gave me a little more to think about in my strategy.
Rolly
Rollyauthor9 Oct 2020, 07:17
@andrew-marsh Thanks for your feedback, and sorry for this bug. I will try once again to find the bug and hopefully fix it! Now you got me curious how is it possible to beat level 8 without the possibility to pick up the boxes x) Thanks for your kind words!
mira
mira9 Oct 2020, 10:51
i love this type of games. nice entry
Gonzalol
Gonzalol9 Oct 2020, 10:58
It's a great interpretation of the theme. I liked the hint dialogues, also the mechanics are good.
JoeShanahan
JoeShanahan9 Oct 2020, 11:16
Loved this game! The animations and sound effects are super charming, and the level design is great too. The tutorials manage to introduce you to features without seeming too handholdy, and it was funny to watch some of my ghosts be screwed over by my new behaviour :joy:

I've done a gamejam like this before, and the way I did it was to save inputs for each frame, and then replay them back. I noticed sometimes a ghost wouldn't pick up a crate that it did before (I had that bug too) so I'm guessing you used the same approach?

Really fun game, the best of the "play with copies of yourself" game I've played this jam.
Rolly
Rollyauthor9 Oct 2020, 12:10
@joeshanahan Thanks for your feedback ! Indeed, I save the inputs (but not each frame; I'm using the Unity new input system, which uses events instead of having to listen to the inputs in an Update function - so I only save when the input changes, which is a lot more memory-friendly :D ) and yes that is indeed the problem for inaccuracies! At first, I saved the position, rotation and animation states at every frame and it worked pretty well, until I added boxes, that require physics to actually work together with the ghosts. It's not perfect that way, but I couldn't come with another solution during the jam, and I was actually expecting worse results x)

If you want to have a better idea of how I did it, my code is public ;)
JoeShanahan
JoeShanahan9 Oct 2020, 12:55
Ah! I haven't used the new input system yet. I was storing a Vector2 and bool for every frame, so only 9 or 12 bytes (can't remember bool size in C#) per frame, or 720 bytes per character per second. So even completely unoptimised, that's only 43kb for a minute of frame data per character.

The downside was as soon as the frame rate dropped to 30 (on some low end systems) then the game ran at half speed, because everything was tied to the frame rate. We should've really locked it to 30fps to prevent this, but ah well.

Would your new input system way of doing it still work even if the frame rate changed? I assume you've got to store a time/frame for each input change, so I'm thinking it'd be okay?
Rolly
Rollyauthor9 Oct 2020, 13:05
@joeshanahan Indeed, that's a really micro-optimization but anyway! x) Yes, I have to store the time too, so I guess a dropping frame rate shouldn't impact the execution of the script. Each frame (in the Update function) I check the recorded inputs to get the highest time lower than the current frame time, and apply the same input. Meaning that if the game slows down, I will also slow down the execution of the inputs.

I would definitly advise to check out the new input system. It makes a lot of things more simple. If you want to create a settings panel to let your player rebind the keys, it is a made a lot easier. Also, as I am belgian and use a belgian keyboard, I use ZQSD to move (instead of WASD). With the new input system, you don't have to care about the keyboard layout. I defined the movement to work with WASD, but Unity understands that I don't have the "default" layout and remaps automatically.
reheated9 Oct 2020, 14:38
I like this creative puzzle style. I've seen the ghost concept in games before, but not in combination with throwing boxes which adds a new element. I found the puzzles towards the end quite satisfying (especially the second last one, I think it was). I did experience some nondeterminism with thrown boxes. I really like the character animations, the music and the character's little vocalisations.
Lone_Wolf
Lone_Wolf9 Oct 2020, 22:24
Great game. The music fit perfectly and I enjoyed myself through all of the levels
APBakeWare10 Oct 2020, 14:41
Very fun take on a puzzle game. I liked the challenge of getting the timing right with the ghosts. Also, guilty pleasure, it was fun to make a bunch of ghosts all synchronized jumping of the platform. The dancing is the best part of the game.
Mog1312 Oct 2020, 13:29
lol, that success animation cracked me up every time! the sound effects were good fun and thankyou so much for including some volume sliders!!! I thought it was really well executed and nicely introduced things one at a time. Great job!
aplite15 Oct 2020, 02:25
This has been my favorite game I have played in LD47. I love these type of puzzle games. Great job with this. Your animations were great, the sound track was good for a compo game, and the levels were well though out.
Aduro15 Oct 2020, 16:03
Really fun an awesome game! I really enjoyed it, especially those "hints" XD.
gamescodedogs
gamescodedogs22 Oct 2020, 12:54
I loved the game, but it seemed to have broken for me on the level with those 2 boxes to throw (the 'E' button stopped working no matter how many times I reloaded). Otherwise, great game, a funny one, too
CG_Fred
CG_Fred22 Oct 2020, 19:13
Awesome puzzle style kind of game with a unique game mechanic that I have not seen before. Would have loved some more levels! Great work.
arron-fowler
arron-fowler25 Oct 2020, 20:11
Wow you got loads of content packed into this. It was challenging and fun. I liked the little touches. Looking at his watch etc. Lots to like here.
Tim Eriksen
Tim Eriksen27 Oct 2020, 17:03
Very nice, well balanced, sooo much content! Oh, and say "hi" to mr. Bean from me :smile:

Other games by @rolly

Found a bug?
Tell us on Discord