Tutorial levels (v1.4)
Hard levels (v1.4)
Old Version 1.3:
Old Version 1.2:
Old Version 1.1:
Guide Linton the devil as she gathers the riches of the underworld. Her goal on each level is to collect all gems, collect the gold cup, defeat all serpents and finally enter the portal. Some gems are locked inside safes that open with a key. Others are sealed inside tombs and will only be released when a wandering ghost is returned to the tomb. Beware of falling rocks - Linton can support a stationary rock, but a falling one will crush her. Use rocks to your advantage to crush serpents, or to help guide ghosts. Remember that rocks will roll off surfaces that aren't level.
- Collect a clock to reset the timer. If you run out of time, you will lose a life.
- If you become trapped, you can choose "give up" from the menu to lose a life and respawn.
- Press the X button to view the map and your progress. The game is paused.
- Your best time for each level will be shown. If you haven't beaten a level yet, your highest number of gems collected is shown instead.
- Ghosts always follow the wall to their left. Once you learn their pattern they are entirely predictable.
This is a fan remake of Repton 3, with new graphics and a new set of 8 original levels. The Repton games originally featured on the BBC Micro, and in recent years have been re-released as a PC version. If you like my version, you might also be interested in the official release. And if you don't like my version, the official one has a lot more levels with a much more reasonable difficulty curve! (I have no affiliation with Superior Interactive and they don't endorse this game.)
This version is intended to be compatible with the original, i.e. if you take a level created in the original game's level editor, it should play just the same here. There are a few differences:
- The game plays a bit faster overall.
- Various graphical changes: spirits replaced with ghosts, cages replaced with tombs, skulls replaced with mines, fungus replaced with mushrooms, crowns replaced with cups, monsters replaced with serpents, Repton (a green lizard) replaced with Linton (a red devil).
- You can play any level in any order without passwords.
- Rock behaviour is very close but there are still one or two corner cases involving rolling rocks and priority of movement that I think aren't quite the same.
- Mushroom growth probably isn't quite the same rate and is more predictable.
- Ghosts and serpents appear on the map.
I actually created these levels about ten years ago in a BBC emulator. I recently found them on an old hard drive and was inspired to create this remake. I could not remember most of the solutions. The levels "oppression" and "burial" were particularly tricky. I think "pressure" might be my favourite. I chose the name "Linton" because it is a the name of a village in Derbyshire, as is "Repton".
Be warned, these levels are hard! While I'm not sure they quite match the hardest levels from Repton 3, they are certainly all on the difficult end of the spectrum. You will die a lot trying to figure them out. (That's one reason I didn't bother with progression through the levels, as it seems unnecessarily cruel.) I may add some sort of a tutorial/guide and some training levels in the future, but I've been working on it long enough and wanted to get something out! If you complete some or all of the levels, please let me know! I'd love to see some highscores.
There's not much gameplay here at the moment - just wander around the maze. It's mostly an exploration of some procedural generation. I might yet try to build a proper game around it, but I thought it might be of some interest on its own.
- 16x16 room maze generated with Kruskal's algorithm plus some extra connections to make it more interesting.
- Basic random room generation so that each room has connections to adjacent rooms that match up.
- Automatic wall borders.
- Textures assigned by randomly combining a selection of 3-colour palettes with a number of different wall, floor and border textures.
- Basic texture transitions between rooms.
- Transition textures and borders are assembled into pre-combined and paletted tiles on entering a room, saving a lot of time in rendering each frame.
- Basic shadows under the player and walls to give a bit more depth, with some hacky code to render quickly.
- Each room has a few extra walls scattered around to make it a bit more visually interesting, but there are no constraints and it occasionally clogs up an exit.
- Sometimes there's a flash of garbage textures on entering a room, because the texture assembly works by rendering every tile combination to the screen, then it's memcpy'd back into sprite memory. This could probably be avoided by drawing straight into sprite memory in the first place, but it needs more custom code.
- Some of the colour palettes clash pretty badly, and there's no constraints to try to prevent the walls and floors being the same or clashing colours. Some rooms are utterly garish, and the transitions don't look great.
- There's only about 20% CPU free even with the optimizations. Any further decoration probably can't cover much of the screen.
- The code is pretty incomprehensible right now. I've not yet made a major effort to clean it up and try to improve the identifiers and comments. If you're curious about any part let me know and I can try to explain it.
It currently uses 4020 tokens, but I think that could probably be reduced a fair bit by stripping out redundant code.