Living Light by zubspace
About
Living Light is a difficult 2D game. It's easy to play, but hard to master. Try to make it to the global highscore and compete with other players!
Your are the light in the darkness. Shine bright, but do not wake up dangers hidden in the darkness... Good luck!
I hope you like the game!

How to play
Simply move your mouse to steer the light. Pick up all white orbs in the level to proceed.
Hints
- Enemies only move inside a circular area around the player, which corresponds with the light radius. They get faster the closer they are.
- The more orbs you eat, the larger the light radius gets. So it gets progressively harder.
- Take it slow at the beginning of a level. Figure out where the enemies are first and look for escape routes.
- Also listen to the distinct sounds of the enemies. You can hear them through the walls.
- The triangular monster can pass through walls. Watch out!
Development
This is my third Ludum Dare entry. This time I tried to make a real game with Godot for the first time after using Unity over the last few years.
I actually wanted to finish it for the compo, but life had other plans and so it went to the jam instead.
Used Tools
- Godot 3.2.1 with GDScript with OpenGL ES 2. It's awesome.
- Aseprite, Krita, Paint.NET
- SFRX, Audacity, FL Studio with Massive Plugin.
Fun facts
- Music is mainly done with Massive presets. They sound awesome and I'd have no idea how to do it myself.
- Implementing and showing highscores server- and client-side probably took me longer than writing the whole game. The backend was written in Go.
- The enemy sounds are recordings of my voice and looped in Audacity.
- Godot does not seem to have positional 2D Audio, yet? Or maybe I'm to dumb. That's why I change the enemy volume through code according to the distance from the player.
Post Jam changes
You can download the original version for windows or linux if you desire. But I recommend the current version with some changes made after the jam for following reasons:
- Levels must now be started with a mouse click, because setting mouse positions did not work in the browser when starting a level. The html version was nearly unplayable that way.
- Difficulty is now more balanced.
- Added an online highscore.
- Added an intro animation with images drawn during the jam.
- Added some hints when starting the game.
- Added King Sharpie.
Ratings
| Overall | 701th | 3.71⭐ | 71🧑⚖️ |
| Fun | 426th | 3.746⭐ | 71🧑⚖️ |
| Innovation | 1457th | 3.167⭐ | 71🧑⚖️ |
| Theme | 1837th | 3.348⭐ | 71🧑⚖️ |
| Graphics | 1416th | 3.478⭐ | 71🧑⚖️ |
| Audio | 800th | 3.425⭐ | 69🧑⚖️ |
| Humor | 1464th | 2.625⭐ | 62🧑⚖️ |
| Mood | 800th | 3.625⭐ | 70🧑⚖️ |
| Given | 89🗳️ | 118🗨️ |
It's pretty fun to play, but one issue I've had is that next level starts automatically, and the light flies towards the mouse position, and often towards an enemy :/
But great job nonetheless! I especially enjoyed the simplicity and atmosphere
I'm glad you enjoyed the rest of the game!
Cute and awesome graphics !
And well done for made it alone ! (even if it was for the Compo at first...)
Really cool work. And I like that you've written down some fun facts :p
Hope I see more of your games later !
Never used anything else than Unity. But I heard a lot about Godot... I don't really like to code (more GameDesign and Pixel art for me ! ) so Unity fit, so far, well my needs. Is Godot more coding framework or a build tool like Unity (Even if we have to get into code in Unity too) ?
@zlabya Yeah, some parts and the later leves are hard. Maybe too hard? I actually like the challenge of fighting through hard levels (I like Nuclear Throne for example, that's why i guess).
@mrhassansan Thank you! I first made some sketches on paper and than brought it to life with Aseprite. The simple palette helped a lot in the process.
@wegpast Nice Score! Godot is in a lot of aspects very similar to Unity. I know Unity quite well, but through the years it gained a lot of weight and there are many features in Unity which are hard to use. Godot is simpler in this regard. Maybe some features don't have AAA-Game quality, but most of them are well documented and easy to use. The scene/node tree for example is top-notch compared to the prefab mess in Unity. You still need a lot of code, but if you use GDScript (which is really nice) you can do everything inside of the Editor. And the biggest plus: I can make a HTML, Windows and Linux build in less than half a minute and the HTML Build works on all platforms (desktop and mobile). Unity completely fails in this regard.
Godot seems nice, I'll may try it out some day...
And yeah, half a minute to build... Unity need that ! We were 3 to code, but only one of us could webgl-build... Something to to with IL2CPP I think... A pain in the ass...
Keep going !
@jasonsumm1 Hey nice one. Sorry about the score. If you got the score the first time you played and then enter your name, your name will only reach the leaderboard on the next run... But when I think about this, it really is not what you would expect. I'll fix it. Thanks for the report!
I got to 294 :)
@stefan-laimer Thanks you! The music turned out really well I think, yes. But I also have to say, that it consists mostly of presets contained in the fabulous "NI Massive" sound synth, so I can't take all the credit. Nice highscore by the way!
@pandanym Thank you so much. It really means a lot to me. Well, I'd love to get into sound synth more and take my music to the next level, but well... Someday... :)
@jelch Thanks! I love highscore leaderboards. There was a card game last year in LD45 with an online leaderboard and I immediately fell in love. My backend is a simple Go-Service talking to an SQLite database. Really simple conceptually, but it still took a lot of time and fiddling around... So thanks, I appreciate it!
@amazura It gets easier with some practice. But its enlightening if not even me can beat the top scores. I played so many times and still fail miserably in early levels sometimes...:D Thanks for playing!
@thebreakfast Welcome to the highscore! Thank you for your feedback. I'm also happy, how everything turned out. Takes a bit of time to play well. I also sometimes do stupid errors on the first few levels and think it's easier when you slow down than speed through the levels.
That said, I really like the lighting effects. They're really cool. It's fun to navigate the levels and I like the controls and feel of the game. Great job!
@cobear25 Thank you! Glad you enjoyed it! Putting the cursor at the right spot by pressing a button was actually a workaround, because I realized very late, that I could not set the mouse cursor position through code in the html5 build (Only worked on the desktop...) But I'm happy, how it turned out.
Good job!
About spawning: I decided, how many orbs and enemies should spawn on each level. The player, orbs and enemies are spawned randomly on spawn points distributed evenly throughout the level. That's why sometimes you can be lucky and are able to finish a level quite fast. But I think, difficulty evens out over a few levels. One thing I did was preventing the triangular enemy to spawn near to the player, because that usually resulted in a quick death.
Thanks for playing the game and your feedback. Really appreciate it!
@pfeyffer Thanks! Great idea with the enemies dimming the players light! Could be useful for a simple mode, where the player has some health.
@slotha Thank you and you reached 3rd place an the alltime highscore! Congratulations! About the lighting: It also gets more difficult, the larger your light radius is, because the player starts attracting enemies farther away. But I guess you figured that one out already :)
About the leaderboard: Last year I played another game with online highscores and then spent quite some time trying to get into the list. However, I'm not sure yet if online highscores are a good idea or not. I can imagine that some people do not enjoy comparing themselves with others. Maybe for others it's a welcoming challenge.
1 - Mecânicas, Aprendizado e Fluxo:
A mecânica é muito interessante, avançar no estágio significa ser mais capaz de se planejar, entretanto aumenta a velocidade dos inimigos.
O controle através do mouse parece ser a melhor saída, mas ainda sinto que falta alguma coisa em termos de mecânica (pois às vezes (talvez seja meu mouse) eu perco o controle e avanço mais do que eu gostaria).
Aprender a jogar realmente não demorou (ainda mais tendo apenas o mouse como forma de interação).
Adicionar o placar me pareceu algo interessante (deu realmente vontade de jogar mais e ficar em primeiro).
Clicar no botão para começar um novo estágio poderia ser substituído por apertar um botão, mas entendo que se não for dessa forma, o jogador pode começar com o mouse muito longe do ponto inicial e ser "jogado para longe". Por isso talvez seja interessante dar um segundo de imortalidade no início, mas isso pode fazer acontecerem coisas muito loucas em termos de mecânica ou level design. Teria que ser testado.
O fluxo de jogo é balanceado, o jogo desafia em movimentação, estratégia e paciência (ao meu ver).
2 - Gráficos, Áudio e Narrativa:
Os gráficos são suficientes para o tempo de Ludum Dare (creio que caiba polimento após esse tempo, para ter uma versão mais interessante).
Creio que uma coisa que me afastou a ideia de tentar mais (além dos recordes altíssimos dos primeiros) foram os efeitos sonoros (eu os achei muito repetitivos).
A música ficou interessante, mas eu gostaria de um pouco de variação entre estágios ou até mesmo um pouco mais de ação (algo que poderia ser implementado após o tempo de evento).
A narrativa não foi o forte no projeto, não há muito o que falar sobre.
3 - Cultura:
O jogo bebe da fonte de jogos no estilo puzzle. Além de usar luz-e-sombras e movimentação.
São estilos e jogabilidades muito interessantes juntas.
Creio que possam partir disso para buscar nicho para o consumo e para a publicação do projeto.
4 - Monetização:
Uma vez o jogo polido, creio que possa ser vendido para stores como itch.io ou mesmo lançado para smartphones (a custo baixo ou envolvendo algum tipo de transação, como permissão para jogar novamente, senão esperar um tempo).
Nesse sentido, pode ser interessante ter recordes por estágio, ou conjunto de estágios. Fazendo os jogadores rodearem em torno de competição.
Pode ser uma boa colocar o placar de pontuação por semana ou por dia, liberando conquista para quem ficar em primeiro em determinado dia (para a tabela de pontuações não ser algo eterno e impossível de alcançar).
Liberar novos estágios toda semana pode ser algo interessante. ^^
1 - Mechanics, Learning and Flow:
The mechanics are very interesting, advancing in the stage means being better able to plan, however it increases the speed of the enemies.
Mouse control seems to be the best way out, but I still feel that something is missing in terms of mechanics (because sometimes (maybe it's my mouse) I lose control and advance more than I would like).
Learning how to play really didn't take long (even more with just the mouse as a form of interaction).
Adding the scoreboard seemed interesting to me (I really wanted to play more and be first).
Clicking on the button to start a new stage could be replaced by pressing a button, but I understand that if not, the player can start with the mouse too far from the starting point and be "thrown away". So it might be interesting to give it a second of immortality at first, but it can make things very crazy in terms of mechanics or level design. It would have to be tested.
The game flow is balanced, the game challenges movement, strategy and patience (in my view).
2 - Graphics, Audio and Narrative:
The graphics are sufficient for Ludum Dare's time (I think it will be polished after that time, to have a more interesting version).
I think that one thing that put me off the idea of trying harder (besides the very high records of the first ones) was the sound effects (I found them very repetitive).
The music was interesting, but I would like a little variation between stages or even a little more action (something that could be implemented after the event time).
The narrative was not strong in the project, there is not much to talk about.
3 - Culture:
The game draws from the source of puzzle-style games. In addition to using light-and-shadows and movement.
They are very interesting styles and gameplay together.
I believe that they can start from this to find a niche for consumption and for the publication of the project.
4 - Monetization:
Once the game is polished, I believe it can be sold to stores like itch.io or even released for smartphones (at low cost or involving some type of transaction, such as permission to play again, unless you wait a while).
In that sense, it may be interesting to have records by stage, or set of stages. Making players surround themselves around competition.
It can be a good idea to place the scoreboard per week or per day, freeing up achievements for those who take first place on a given day (for the scorecard is not something eternal and impossible to achieve).
Releasing new internships every week can be interesting. ^^
I try to respond to the major points:
1) Mechanics: The game depends heavily on the mouse and therefore can be compared to other games doing the same (for example 3d shooters). Mouse sensitivity, mouse acceleration and unstable framerates influence the experience heavily. Unfortunately this is not something I can directly influence. Web players definitely suffer more.. :/
Before I added the level change button. I simply set the mouse position. But this only worked on desktop versions and not in the browser. I therefore introduced the button and found the idea funny to display different motivational messages.
I also like the fact, that a patient playstyle rewards the player. But it's a bit of a drawback in a game jam, because most players do not spend enough time to realize that. A tutorial of some sort would definitely help.
Fun fact: I can reach about level 19 consistently, but I know the movement patterns very well and also the level layout. Both things are important to master the game.
2) Graphics, audio, narrative: Three points I am bad at :D I'm a programmer so that probably explains why I focus on gameplay first. But getting better is the reason I'm here. Art is difficult for me. I did not think about the art style beforehand and lost a lot of precious time... What saved me was the minimal palette [Nyx8](https://lospec.com/palette-list/nyx8). Next time I need to think about palette and art style first.
Audio is still a black art to me. I know the basics of FL Studio and some sound synths, but not enough. When I'm under pressure I fallback to simple tools like [BFXR](https://www.bfxr.net/) (the pickup sound) or my voice (the monster sounds). I should have varied the frequency a bit when playing the samples.
There are 2 music pieces by the way. One uplifting piece on the first levels. After level 5 a darker, gloomy piece to set the tone for the harder levels. I used mainly Massive synth presets. But I'm happy how it turned out. Took me about 90 minutes, which is quite good for someone unexperienced I think.
About narratives: Yeah it's basic. I tried to fix it with the intro, but well, there's not much. It's a dungeon crawler, 'nough said :) In a real version I'd add a mario-like game map to travel from level to level with quests, side quests and boss fights maybe. You could also connect levels through stairs to travel through.
3) Culture: Yeah its more of a puzzle/dexterity genre. You could add more abilities or skills. Like dashing, teleport, shields, maybe even shooting, but maybe that would not fit the narrative. What would be cool would be boss fights, where you need to use different passive skill, items or dungeon features to win. I think, with a good art direction this could be a great niche indy game. It would also be possible to create a local or online multiplayer mode.
4) Monetization: I don't think about that much. Things you could add for a game sold on marketplaces like Steam: Achievements. Scoreboards. Speedrun competitions. Different difficulty levels. Secret areas. Procedurally generated levels with Daily and weekly runs. Story mode and endless dungeon mode.
I'd sell it for cheap on Steam :)
Well that's it. Thank you so much for you feedback again, @gustavo-christino. I love talking about that stuff and you gave me some good ideas. Hope to improve myself in the next LD's :)
The highscore system was a good idea to keep the motivation up. Was able to climb to second place with 409 points.
Great game, all things consideres. Nothing new or innovative, but good production value and fun game play loop. Keep it up!
Level 9 felt the hardest, as it's a quite small level crowded with enemies. Levels 11+ are too easy compared to 9-10 as the 'boss' isn't enough to add difficulty to the first levels for them to match the later levels. Corridors can be a bit narrow at times and the timing to pass through an enemy in some is too tight.
@pjnovas Thank you for playing! Glad you had some fun. :)
@vladadamm Wow, you completely owned the alltime leaderboard and reached level 16! Nice! You completely deserved it.
No worries about your name multiple times in the highscore. I would do the same :) Yeah, Level 9 is really hard, because it's smaller, you have less opportunities to avoid enemies and therefore need to be fast. Level 10 is like a maze and also quite tricky.
As soon as you loop, difficulty goes down a bit. You need to pick up more orbs and there are a bit more enemies and King Sharpie. But yeah, you get some "free" points, because you start with easy level layouts again. But I'm ok with that. (It's also a bit like Nuclear Throne, but there the difficulty spike is huge, which takes away the fun a bit). I wanted it to be possible to loop 2 or even 3 times, but I never managed to do that myself, yet...
Except, yeah, Godot is awesome! XD

About the Audio: I learned following bit from [the docs about AudioStreamPlayer2D]( https://docs.godotengine.org/en/stable/classes/class_audiostreamplayer2d.html): _Plays audio that dampens with distance from screen center._
Unfortunately I need to damp the audio according to the distance from the player, not the center. With AudioStreamPlayer3D there is a listener class. But there is no listener class for 2D, yet.
Anyway, I'm happy that I found an acceptable workaround in time :)
Congratulations for making it to the highscore! Not a simple task, because it's getting crowded on the top :) Well played!
And thanks for mentioning escape doodland. Is this the game you mean? Gonna check it out!
The mechanics and gameplay are very clear from the start. The level transitioning is very good. I liked the light mechaninc, and it is especially good in maze like levels. Great job on implementing a leaderboard.
Thanks for the game!
And the controls are insanely reactive. Being able to try to sneak way too close to an enemy, but knowing exactly that you'll be able to back out just the right way without the game feeling too snappy is just straight up impressive.
The lightning thing was well used, too, and seeing a leaderboard was a good surprise! Overall had a blast, died fairly early on due to overconfidence, but just wanna praise you for your work!