If there's a collision in either X or Z, both should be rolled back to their last positions. I think there is possibly an edge case hidden in there otherwise.
Rolling back X and Z when any collision occurs would prevent you from "hugging" (i.e. sliding along) walls. The problem was that a near corner collision wasn't correctly detected when the player didn't collide in X direction in the last frame (last_x) but does collide in the current frame (t.x), allowing the player to move into the corner in Y direction.
Amazing work.. Love the lightsource following the projectile. Was the large pixels a compromize to keep the fps up? Anyway, amazing what you can do with 13k!
kkreiger was by Farbrausch who make some of the most incredible demos out there eg Quantum Mysterium from last year - https://www.youtube.com/watch?v=DAyQeX8a-Bw - that's done in 48Kb of code.
That's so awesome! Especially because it's inspired by Candide Thovex's One of those days. Link for those who aren't familiar(he also used CGI for some of the things that would be super dangerous, he skied the line, but people weren't actually there): https://www.youtube.com/watch?v=ygxufRprWpY
Could probably even increase level size manyfold and would still run quite smoothly. For large generated mazes. With this phenomenal skin-crawling sound design. Would make a very immersive "escape" labyrinth game!
Funny how "stupid" can be interpreted in multiple ways here. One entirely appropriate, the other very much not so. I certainly am not smart enough come up with a trick like that!
Great idea! I will definitely be using that trick for my next js1k attempt. I have previously defined shorter names but had to write out the original name once.
I love the idea of low resolution of "virtual screen", moreover it's reduced to 256 colors! It allows to use low-resolution textures, simple cubes and "billboard" sprites. I think this idea can be useful not only in demoscene, but in commercial indie games too. Usually indie developers avoid 3D altogether, not because of complexity of 3d engines, but because of complexity of 3d assets. With low-res "screen" you can hand-draw small textures, use sprites instead of 3d models, use rough 3d models and so on, so you can build a game without having large team of artists.
Games seeking this property of low-cost art through pixelated graphics generally choose not to have a retro virtual screen though - which frees them to have different pixel sizes between different parts of the UI, place things precisely (even sub-actual-pixel positions!). I'd prefer they didn't do those things, but I'd also rather have these games get made than not get made.
40 comments
[ 3.2 ms ] story [ 84.4 ms ] threadIf there's a collision in either X or Z, both should be rolled back to their last positions. I think there is possibly an edge case hidden in there otherwise.
P.S. Nice code by the way.
Same here.
Rolling back X and Z when any collision occurs would prevent you from "hugging" (i.e. sliding along) walls. The problem was that a near corner collision wasn't correctly detected when the player didn't collide in X direction in the last frame (last_x) but does collide in the current frame (t.x), allowing the player to move into the corner in Y direction.
Thanks!
But I kinda hate you right now, because now you inspired me to develop games in 3D again, just when I'm in the making of 2D pixel-game ;)
(Love the retro-3D feeling, very good work!)
This one is a hybrid with some predefined (tiny!) assets and some procedural generation (instruments, texture placement).
And probably there are more things it parodies.
Congrats.
[0] https://js13kgames.com/entries/wander
Fixed geometry was the first thing I noticed ;)
Could probably even increase level size manyfold and would still run quite smoothly. For large generated mazes. With this phenomenal skin-crawling sound design. Would make a very immersive "escape" labyrinth game!
[1]: http://marijnhaverbeke.nl/js1k/
Funny how "stupid" can be interpreted in multiple ways here. One entirely appropriate, the other very much not so. I certainly am not smart enough come up with a trick like that!
[0]: https://phoboslab.org/log/2018/03/about-coinhive
A fun alternative for the players model that also takes little space is to slice up the model into horizontal layers. See http://www.like100bears.com/writing/2d-3d-in-gamemaker-studi... for example.