Tunnel Runner Redux (a remake)

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.
  • This is basically a remake of an old Atari 2600 game called Tunnel Runner Please login to see this link., a first-person labyrinth game (on the atari 2600!) where you are stuck in a labyrinth and must find a key and the exit, all while avoiding the monsters of the maze, the zots.

    Please login to see this media element.

    This game was an attempt to do a "fast" raycaster engine running on vanilla CF25 actives that was fast enough to run on the android exporter at a decent speed. I get around 24fps on my phone, the target FPS is 30; of course the resolution on my phone is quite smaller than the one shown in the video, the demonstration video was captured on PC. Apologies for that ^^;
    For clarity, this is what the game looks on android by default Please login to see this attachment.
    Quality can be adjusted on the options menu.

    gameplay remains faithful to the original thing (Get the key, get to the exit, avoid the zots), plus free strafing, HD* graphics, and soft rotations and all that stuff. Also a Please login to see this link..

    Mazes are procedurally generated based on a random seed. Game 1 features always the same mazes, while Game 2 features random mazes every time you play. Game 3 is a custom game where you can set the size of the maze, the amount of doors, the length of the hallways, etc; like a sandbox mode of sorts.

    :pacdot: Google play link: Please login to see this link.


    *compared to Please login to see this link. I suppose

    Please login to see this link.

    Edited 3 times, last by elPatrixF (July 27, 2017 at 6:47 PM).

  • thanks y'all ^^

    You could make a decent amount of sales if you put the engine up for sale in some capacity on Clickstore.


    Yeah; someone suggested me that- the thing is the code is kind of messy, and commentated part of it in english, part of it in spanish, in a very not-too-serious way

    I released an earlier version (way earlier) of the source here for free; along with a lengthy explanation of how the engine sort-of works, if anyone is interested :)
    :pacdot:Please login to see this link.
    Download link is at the bottom of that post ↑↑
    It's waaaaay early, but it's part of the core and it's already out there heh.



    It's basically a raycaster-hybrid thing; not a full raycaster engine because instead of "casting a ray for each column of pixels" (for each "column" object, because basically every column of the screen is an active object whose animation is every 1px-wide vertical strip of the wall texture) what it does is "always draws 6 walls", at fixed coordinates, then punches "holes" on the walls, according to map information stored in an array. It fully takes advantage of the "not-a-number = zero" exception to further compress the functions (Like how a division by zero equals zero by MMF2/CF25 logic, please never change that haha).
    It has it's limitations but it does the job well. It's pretty much hard coded specifically for this game in a lot of aspects. For instance, doors, which are basically alternate textures, can only be seen when standing right in front of them, sorta just like in the original game; and only one wall texture can be used.

    I tried doing a Please login to see this link. some years before but... yeah, since it used loops extensively, it ran at a VERY low framerate (3-4 fps, at a similar quality) ^^;

    The reason why this engine is fast is because it uses very few loops, and pretty much everything related to the raycaster is cramped on a single "on loop" event, using short-named global variables to make it fit somehow.
    Should pretty much be as fast in all exporters, including the UWP export module.

    Anyway, this is the single "for each column" loop event: runs once for each column active:
    Please login to see this attachment. (Please login to see this link.)
    take a look at them Y scales ^^;;
    Please login to see this attachment. (Please login to see this link.)


    Here's an video of an earlier point in development. No doors, no objects, but the core of the map rendering is done. Uses an array to store all the map information, and a secondary smaller array to store the "current hallway information".
    Please login to see this media element.

    Notice at 2:06 the debug information. The cyan lines are the 6 walls i was referring to earlier. When the player walks outside the green/red area (or when the player turns to looks down a different hallway), the position is adjusted and the "local "map information is updated to reflect the changed orientation/position, giving the illusion of a smooth labyrinth. The arrow indicates the relative angle of the camera, in relation to the visible hallway.
    At 2:50 the camera is "detached" from the game logic to show the walls without updating the render and relocating the player.

    Of course the major flaw of this trick is that you cannot "peek" at a side of a hallway because, until you step on the intersection (green area) all you'll see is a solid infinite wall. This effect is demonstrated at 4:01.

    Here's Please login to see this link., if you're curious.

    The "objects" in the maze (Zots and key) are single active objects being scaled and positioned individually using simple trigonometry. Then I use the layer object to sort all objects according to a variable, which corresponds to the actual scale of the object. And the doors, oof, that's a whole nother story ^^;

    Sorry for the long post; I have written about 25 notebook pages to get this thing working haha
    Might release the source code of the game at some point in the future but it have to go through it all and add comments and definitely delete some of them haha.

    Please login to see this link.

  • Cool post. And yeah if you commented it, I think you can make some people really happy on Clickstore, The Raycaster object only is windows compatible and we no longer have the source code to improve it. So there is a need for it.

    Please login to see this link.

    Clickteam on Please login to see this link. - Clickteam on Please login to see this link.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!