UPDATE: The dungeon generation logic has been revamped. Rooms are not always rectangular, and can often have a bit more cover (or hiding places for monsters). Also added a couple of new enemy types. Gold has been removed (I needed the extra tokens), but it didn't really do anything anyway.
Grab your magic staff and venture deep into the demon realm to defeat Bahmott and his evil servants!
Trial of the Sorcerer is a procedurally generated 3D first person shooter inspired by Wolfenstein 3D and Catacomb Abyss.
Shoot monsters, collect loot, find keys to unlock doors, and try to find the exit to the next level.
And don't forget to pickup the power crystals to level-up your magic staff along the way.
Arrows = Move
X = Shoot
Z = Hold to strafe
Or use player 2 controls (E,S,D,F) to move/strafe and player 1 controls to turn.
Mouse input can be enabled via the pause menu (once in game), but only when playing via the Pico-8 application as mouse locking doesn't currently work in the browser version.
Doors with a small black keyhole require keys.
Each door requires a specific key, so if one won't open it means you don't have the right key yet.
@extar wow! Posted a game went to bed, and by the time I wake up there's already a YouTube video about it.
Thanks very much for playing it.
Pretty much everything is randomly generated, the room layouts, which doors to lock, placement of enemies, keys, collectables, weapon pickups, entry and exit doors.
Levels are generated from a key, which is a bunch of parameters (size, difficulty, theme) plus a random seed.
The same key will always generate the same level, but there's no way to really predict they will come out like, you just have to play them and see.
The "main quest" was created by playing a whole lot of randomly generated levels and saving the keys for the ones that felt about right.
Incidentally, if you do find an interesting randomly generated level, you can go into the "editor" and note down its key (the 9 digit number) so you can play it again later. Or post it for other people to try.
There's some good feedback in there. I think giving you some or all of your health back when you start a new level is a good idea.
The flame staff is problematic. I really like the feel of it, but it's a bit of a backward step against the ranged enemies, whereas the staffs are supposed to get more powerful as you progress. I may swap it with the green staff, so that you're using it in the earlier levels before the ranged enemies appear.
It also doesn't help that level 6 is a bit of a difficulty spike. It's supposed to be a mid-game boss battle sequence (usually the dragons don't spawn until the demon realm levels), but it didn't work as well as I had hoped.
This is tremendous fun and controls really smoothly. The spiders in the mausoleum caught me by surprise the first time with the poison attack and I was toast, but I got my revenge later :).
Great job, Tom, and so fun to play it after watching all the development progress on Twitter!
Neat take on the Wolf3d style.
couple of remarks:
- monsters are too easily stuck on props, suggest to have them randomly move left/right for an easy fix
- fire wand is a bit of a let down
- what is the point of the gold? score gimmick?
- maybe some kind of cooldown would make firing a bit more engaging. atm there is no penalty just keeping button down :/
@freds72 maybe if shooting had a bit of recoil (pushes you backwards) that might be an incentive not to shoot all the time. Although I don't want to penalise the player too much in the middle of a hectic firefight.
And yeah, still working out how the flame staff fits in. I really wanted 5 unique weapons, but that's difficult to do with the limited hit-scan/projectile system.
I could tighten up the spread and remove the range limitation I guess.
Gold's not really for anything. Perhaps if it showed how much you collected (e.g. Gold: 77%) after each level it might appeal to completionists/high score seekers.
It's all about finding the tokens at this stage though :)
To balance the cooldown vs not penalizing the player, I've seen some games where there's a cooldown penalty for missing, but not for hitting. In other words, if you hit an enemy, the cooldown is reset to 0 and you can fire another shot right away, but if you miss, it takes a bit to recharge. That encourages people to shoot precisely. So if you just keep the button down, your rate of fire will be significantly less, essentially.
here I am still waiting for this absolutly godsend of a game to get on feature. The 1 singular complaint is that it's not on fauture yet! this game is amzing and I'm wondering if you wouldn't mind me trying to speed run it I've already ran the main quest a few times and loved it so I wanted permission to play it fast and maybe stream it. This game is so so so amzing, and the last stage whooo boy thoes flesh walls almost made me throw up really did, idk what it was but my stomach didn't like it and it made the experince all more enjoyable. I love this game and paly it alot just wish it got on featured already it's fantastic and I can't find any glitches or ways to go out of bounds can't even squeez through doors!! I love this game alot and have no clue how you did it I hope it gets the recognision it deserves as one of the best 3d pico-8 games ever, yeah sure POOM is great with it's tons of levels but this is 1 cart!!! 1 cart!!! can you belive that?!?! and it's got random levle generation for when your bored of the fun?! like comeon pico-8! Feature this amzing thing already!!! all said I love this magic and all really want to try speed running it because of how hard it can get. you need the right mix of killing enimes and blazing through room I love it through and through
@HouseinTheTrees wow thanks!
You don't really need my permission, but you're welcome to speed-run it and/or stream it if you want.
The only glitches I can think of to exploit would be running diagonally (40% faster) and figuring out which of the mid-level bosses on level 6 is carrying the exit door key.
Also if you find any good random levels you can grab the random seed from the "editor" and save it or post it for others to try. (Ctrl+C and Ctrl+V should work as expected). I could even put together another "episode" or champion edition if enough interesting levels can be found.
@HouseinTheTrees There are 10 levels in the main quest, if that's what you mean.
If you start the main quest, then quit back to the main menu and go to the "Editor" you can see them all.
You can click the play button next to a level to play that level. (It will ask you which staff to start with first.)
It looks like you can trigger this by shooting on the very first _update() frame. It was using the camera angle to calculate the shot direction, but because _draw() hadn't been called the camera wasn't setup.
I'm quite impressed you managed to do this as I couldn't pull it off - it requires very precise timing.
Anyway, I've uploaded a fix for this (uses player angle instead of camera angle).
@Mot Blown away, another cart pushing pico8 to its limit. Outstanding. Very fun to play. My only critique is that the tank controls are a little awkward, and take a few levels to get used to. The strafing helps with this somewhat, but it might need some polishing. That's it tho!
If you play it in Pico-8 itself, you can switch on mouse mode and use classic WASD+mouse input (except in Pico-8 it's ESDF). That's probably the best input scheme.
Unfortunately it doesn't work in browser on the Lexaloffle website - although you can play it in browser with mouse input on itch.io.
But if you're not using the mouse, yeah, it's hard to implement decent FPS controls using just D-pad and two buttons.
Thanks @D0S81. I'm really pleased how the music came out, although I really wanted to add a drum track (it's limited to 2 channels, because the game sounds take up the other 2).
I had Matt Gray's legendary Last Ninja 2 music in mind at the time :-)
@thecursedkatana it depends how you're playing it.
If you're on a PC using the web browser you can turn with the mouse, but you have to play it on itch.io because carts running on the Lexaloffle website don't currently support that kind of mouse input.
Alternatively you can run it in Pico-8 itself to get proper mouse turning, if you have it.
Otherwise use the player 1 controls to turn (arrows on keyboard or d-pad on controller).
[Please log in to post a comment]