CITOC - a 3D first person perspective puzzle game

Hi! I am excited to share with you BETA version of my 3D game written in Elm with a couple of JS ports help. The game prototype has been submitted to Elm Game Jam #6, however game evolved with many features and levels after the jam.

A couple of screenshots from the current version of the game:




You can play it here: CITOC by Wiktor Toporek
Source code: GitHub - vViktorPL/citoc

Enjoy! I am looking forward for your feedback and I hope that someone will manage to get to the credits screen :wink:

PS: maybe you will find a few easter eggs / secrets on some levels too :shushing_face:

11 Likes

Just tried it out! It’s cool seeing the progress you’ve made since the game jam version! I got stuck on the 2+2=5 hint.

Some suggestions I have though you might have already thought of them:

  • More variety in the wall texture. Probably will look nicer and make the levels less disorienting. Of course some of the levels are intended to be disorienting but for example the “count to 3” level could use different wall textures for each end of the hall
  • I get stuck on wall corners if I bump into them while rounding a bend
  • Maybe add some ambient occlusion? Or in other words, make the top and bottom edges of the wall texture slightly darker so that the lighting doesn’t feel so flat. Same for the floor and ceiling near the wall though that is probably harder to pull off.
  • I noticed z-fighting on signs that were far away. Notice here how the minus signs are mostly gone. I think this can be solved by just adjusting the near and far clip distance for the camera
  • When moving the character or rotating the camera, it feels jittery. I’m not sure what is causing this but maybe a small amount of motion smoothing should be added?
  • Shorten the amount of distance the player needs to walk or increase movement speed a bit. The count to 3 level especially felt too time consuming to finish.

On the positive side, I liked the music and humor. Especially the “solution” to the ToS (it took me embarrassingly long to figure it out).

Looking forward to the next version of this game!

1 Like

I remember your game from the Elm Jam! It’s awesome to see you’ve added to it!

1 Like

Wow, thanks for meticulous feedback!

  • More variety in the wall texture. Probably will look nicer and make the levels less disorienting. Of course some of the levels are intended to be disorienting but for example the “count to 3” level could use different wall textures for each end of the hall

Good point, I am working on that already, I have a couple of textures inside repo, however haven’t placed them on the levels yet.

  • I get stuck on wall corners if I bump into them while rounding a bend

Yeah this bug was annoying, I think I have finally managed to fix it today so it will be gone on the next deploy.

  • Maybe add some ambient occlusion? Or in other words, make the top and bottom edges of the wall texture slightly darker so that the lighting doesn’t feel so flat. Same for the floor and ceiling near the wall though that is probably harder to pull off.

Unfortunately the elm-3d-scene is not supporting this kind of features yet and my game bases on it. I have a fork of this wonderful library that adds fog effect, however I don’t plan to extend it more at the moment.

  • I noticed z-fighting on signs that were far away. Notice here how the minus signs are mostly gone. I think this can be solved by just adjusting the near and far clip distance for the camera

Good catch, I will fix it by using trilinear filtering for sign textures because I’ve observed that blurred text in a distance seems to be more readable.

  • When moving the character or rotating the camera, it feels jittery. I’m not sure what is causing this but maybe a small amount of motion smoothing should be added?

Hmm, haven’t noticed that but I tested the game on M1 MacBook so it might be the case that FPS is much lower on other machines (in other words performance may s**k). I will try to introduce some easing that does not update the camera looking direction to target one instantly with each animation frame.

  • Shorten the amount of distance the player needs to walk or increase movement speed a bit. The count to 3 level especially felt too time consuming to finish.

I thought about adding running feature, although there are some secrets to be discovered that for instance makes it possible to beat this level faster by replaying the game again with the knowledge gained from the further levels :wink:

Especially the “solution” to the ToS (it took me embarrassingly long to figure it out).

Haha, glad that you have figured it out :smiley:

Just tried it out! It’s cool seeing the progress you’ve made since the game jam version! I got stuck on the 2+2=5 hint.

Would you like me to give you a hint or spoiler? I am also thinking about a new mechanics with some timeouts that uncover some extra hints when player gets stuck at some levels too long.

Sure, DM me a spoiler for the 2+2=5 part.

Unfortunately the elm-3d-scene is not supporting this kind of features yet and my game bases on it. I have a fork of this wonderful library that adds fog effect, however I don’t plan to extend it more at the moment.

To be clear, I’m not saying add general purpose ambient occlusion (which I don’t think would be practical), just saying to bake a subtle gradient into your wall texture so it’s a bit darker at the ceiling and floor.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.