Dungeo!
"Dungeo" is an homage to the old RPG "Bard's Tale". The lich queen is threatening the lands, and it's up to four brave souls - a soldier, a rogue, a priest, and a mage - to venture into her domain and put an end to her machinations!
Menus can be navigated with the arrow keys and the action buttons (z/x).
Move around in the maze using the arrow keys.
In the town, there are several services available:
- The blacksmith can upgrade your equipment for a price.
- You can rest at the inn to restore your health points and magic points.
- The temple can cure status ailments like being poisoned. They can also resurrect dead characters.
- At the tavern, you can reminisce and reflect on your adventures, perhaps allowing you to improve your skills. This also saves your game.
Once in the dungeon, you can wander around and fight things. You gain experience fighting creatures, and when you get enough experience you can level up at the tavern. When you gain a level, you can increase one of your attributes:
- Muscle - Do more damage in battle
- Smarts - Spells do more damage
- Agility - Better able to defend
- Grit - More hit points
Your goal is to make it down to the bottom level and kill the lich queen. If you do, you win. But be warned - she is very tough! Make sure you level up a LOT before you take her on.
Version history
1.4 - Fixed issue with displaying armor and weapon in hero stats before upgrades.
1.3 - Fixed error in title screen. New end game sequences.
1.2 - Rewritten base code to make more room for new spells. Bug fixes. New title screen with some instructions.
1.1 - Improved performance on map drawing. Can now drink from fountains. New spells. New UI features.
1.0 - Initial release
@nonymousFog - Most of the game is played by selecting options from the menus that appear on the right. Use the up/down arrows to select options and Z / X to confirm selections / cancel.
Once you get into the dungeon, use the left and right arrow keys to turn left and right, and use the up and down keys to move forwards and back.
UMMM...
OK...
I got playing...
Then tried to drink from a fountain in the dungeon...
And then it says this, and I don't know what to do:
RUNTIME ERROR LINE 797 TAB 0
IF (HERO.CLASS == 1) THEN RETURN
0 END
ATTEMPT TO INDEX LOCAL 'HERO' (A
NIL VALUE)
IN MAXMP LINE 797 (TAB 0)
IN DRINK LINE 660 (TAB 0)
IN ? LINE 615 (TAB 0)
IN UPDATE LINE 1621 (TAB 0)
IN _UPDATE LINE 82 (TAB 0)
AT LINE 0 (TAB 0)
>
Looks like you found a bug! I've uploaded a patch which will hopefully address the issue. (Also adds some new features.)
I like your game.
But when all my guys died, there was only one option, and I couldn't choose it. Is that supposed to happen?
And also on the start screen, it says "X TO CHOOSE" and "Z TO CANCEL", when in reality, it is 'X' to cancel and 'Z' to choose.
Aaaanndd I can't run away.
> But when all my guys died, there was only one option, and I couldn't choose it. Is that supposed to happen?
Yeah, that's the end game sequence. I'll fix that in the next release so it doesn't show an option.
Good catch on the X/Z mixup! Next release will fix that.
Regarding running away: Running away is not guaranteed. Some monsters are easier to run away from than others. The "FleetFoot" priest spell can help if there's a combat that's going the wrong way and you need to escape - it drastically increases your chances to escape.
Thanks for playing!
Okay, I've uploaded version 1.3 which includes some end game sequences and fixes the instructions error that nonymousFog caught. Happy crawling!
great games,
may there be a bug when looking at his states without buying equipment before.
to fix this problem, I propose to replace the following line:
ligne 233: printc( hero.weapon, 96, y, 6 )
ligne 240: printc( hero.armor, 96, y, 6 )
ligne 248: printc( hero.shieldname, 96, y, 6 )
by its:
ligne 233: printc("no weapon",96,y,6)
ligne 240: printc("no armor",96,y,6)
ligne 248: printc("no shield",96,y,6)
also, to win tokens, you can remove
the "()" of the "if" multi line or,
the "then end" of the "if" mono line.
example:
if (...) then ... else ... end --becomes if ... then ... else ... end |
and
if (...) then ... end --becomes if(...)... |
you will easily gain several hundred token
(sorry for my approximate english)
Nice tips! I could definitely use the tokens.
The idea behind the weapons and armor stuff was that these heroes already had the equipment, it's just that the blacksmith upgrades them. Not super realistic, granted, but it saves the tokens it would require to have actual inventory management and stuff, and still approximates the base activity of these games where you continually replace your old, busted stuff with new, shiny stuff.
ok, I understand better,
suddenly the bug comes from the fact that you display the lvl of the object instead of the name.
fast code correction :
--line 232: if (hero.weapon == 0) then --printc( hero.weapon, 96, y, 6 ) printc( hero.weaponNAME, 96, y, 6 ) else printc( "+" .. hero.weapon .. " " .. hero.weaponname, 96, y, 6 ) end y += 6 if (hero.armor == 0) then --printc( hero.armor, 96, y, 6 ) printc( hero.armoNAME, 96, y, 6 ) else printc( "+" .. hero.armor .. " " .. hero.armorname, 96, y, 6 ) end y += 6 if (hero.shieldname ~= "none") then --if (hero.shieldNAME == 0) then if (hero.shield == 0) then printc( hero.shieldname, 96, y, 6 ) else printc( "+" .. hero.shield .. " " .. hero.shieldname, 96, y, 6 ) end end |
I suggest you change the display "+3 shield" by "shield lvl.3", it seems more understandable and it is lighter.
same thing in compact version and use "lvl." :
--line 232: printc(hero.weaponname..(hero.weapon==0 and "" or " lvl."..hero.weapon),96,y,6) printc(hero.armorname..(hero.armor==0 and "" or " lvl."..hero.armor),96,y+6,6) if hero.shieldname~="none" then printc(hero.shieldname..(hero.shield==0 and "" or " lvl."..hero.shield),96,y+12,6) end |
the use of "(... and ... or ...)" works as a kind of "if",
example :
if y < x then x=5+y-z else x=5+10-z end --is the same as x=5+(y < x and y or 10)-z |
Ah, got it. I understand the bug now. I'll try to get that fixed soon!
For some reason, when they all die and I've never saved and I hit load game, I start with 15 gold rather than 20. Is there a reason for this?
@nonymousFog - I just tried it, and was unable to reproduce this issue.
It shouldn't offer to let you load a game if you've never saved the game, so, more likely, you have a saved game where you have $15, and you loaded it.
Probably what happened was that you started a game with $20 and went into the tavern, which costs $5. It took the $5, leaving you with $15, and saved the game, which made the "Load Game" available in the main menu.
the thing is, I had only went into the blacksmith. I'm thinking that it's something in the game's code having to do with the tavern.
(idea: try saving as soon as you start, then die, start a new game, don't save, die and load game. I have a theory that it isn't deleting the last saved game when you hit new game)
Oh, yeah, it doesn't actually go in and actively delete the last saved game you had when you select "New Game". It only overwrites your old game when you explicitly save your current game by going to the tavern.
In other words, when you select "Load Game", you get the last "snapshot" of a game you took by going into the tavern.
That way, if you accidentally select "New Game" when you have a game saved, you can still get it back as long as you don't go to the tavern and save over it. (This saved me more than once during development!)
Great game- I loved the original bard's tale so I had to give this a go- nice Pico 8 version! It took some hand mapping to figure it all out as I got stuck early, but with some mapping I managed to finish it.
I know space is super limited on Pico-8 so you probably had to make some hard sacrifices to fit the game in- the main thing I missed from Bard's tale style play was having multiple types of enemies attack in groups and spells that hit groups of monsters.
For those who don't want to map themselves, here are the maps. I've put them hidden for those who don't want spoilers! And Nephilim feel free to post these maps in your main game post if you think they make the game more accessible for those that want them (or remove them if you're a purist- ha!)
Glad you enjoy the game! Yeah, multiple enemy types might be a big ask for a Pico-8 game of this style. But some other posters did give me some ideas for reducing token count, so maybe when I get around to cleaning up the codebase I will have room!
OOooh!!! I like this game a lot!!!! Very detailed and loved the graphics!!! :)
Hey, love this game.I'm waiting for Bard's Tale 3 remastered version to drop and this whets my chops. Every time I try to go fullscreen I can't input anything. Is there a keyboard short cut that works? Thanks.
@davicide - I am able to play the game fullscreen, so it seems to work. You do have to click on the play area to give it focus, but once you do, it should work fine.
I think it's a web page problem. When I go full screen can't play or leave a comment. The keyboard just stops working. Weird.
Interesting game i liked how hard it was, but were is the ladder for floor 3?, I have not found it yet.
Be sure to nudge the walls to see if there's a secret door. (Mapping a level can help find suspicious places.)
Man ... the fountains on the second floor are like every 3/4 fountains are poisned. That is frustrating.
Good basis for a rogue game but man, do I need to sleep 10 days to do 50m in the dungeon?
(and have the same chance of random encounter even after entering 10 times the same dungeon???)
This is very frustrating (and I do like fair hard games).
I liked this game a lot. What a great grind. Beat the Lich with characters around level 15. And only cheated a little. I checked the source for map after getting to dungeon level 3. Had I known there was only one level left I might not have.
I especially liked the looping map design. It was nicely confusing and made the levels seem bigger than they were. I also liked how the maps were laid out in the source.
Some things that I noticed:
- Stun trivialized end boss, though without it the fight would be very hard.
- Didn't figure out what fleetfoot spell does before checked it in the source
- Grit seemed like a bad choice when leveling. I think it only adds one hp.
- I'm not sure poison does anything. Maybe I'm wrong, but it seemed that the effect intended for poison is applied when the character is turned to stone.
if (hero.condition == 2) then return { "stone", 7 } end
and
if (hero.condition == 2 and hero.hp > 0) then if (d(100) < 10) then hero.hp = max( 1, hero.hp - 1 )
- fountain healing effect revives dead players (actually was fine by me since...)
- temple prices (especially for reviving) were too high considering they're only needed early on in the game
I actually have this playing in the background - for days now. Good crawler worthy of dedicated playing.
My primary player is level 16, Muscle 16, one for all other attributes, +4 sword, +4 chain, +5 shield.
I'm sticking to the top level of the dungeon a bit before I go down the stairs. Don't want to jeopardize a good run. Adding my STAR for you now, nephilim, since it wasn't there before.
Really nice game! I think this low resolution really works well with a first-person dungeon crawler. Lots left to the imagination :)
Glad you all are enjoying the game!
I probably need to get in there and make some fixes and updates, but it's not going to happen before Halloween, because we're busy for that holiday at the moment.
@yeetus: There are secret doors in the game. Try nudging the walls and see if you can find hidden areas.
Great game love the gameplay reminds me of bards tale or wicked wizards 10/10 love these types of games =]
Not much. I was working on a Dungeo 2 for a while, but in Love2D to remove the low token restriction. It's not being actively worked on at the moment, however.
This captures the feeling of those old classics-- impressive within the space limitations. I ran around the dungeon for an hour or so with some trips back to town and got up to about level 10 characters, still not powerful enough to survive dungeon Lvl 3 for long... I'll come back and play more later.
I also appreciate being able to just go directly to any of the 'town' locations without having to remember and walk around the town map every time (whether that was done intentionally for more streamlined gameplay, or just to save tokens :)
Hi @icegoat:
A good portion of the "hours of gameplay" involved in early games was usually doing something mundane like walking to and from areas where there were no encounters or activities.
Random encounters alone in games can greatly add to the "gameplay" time it takes to win the game.
Look to Legend of Dragoon for the PS1 to see combat stretched out to its absolute maximum and worst length of time. Seriously count the seconds just before the screen fizzles and to when the game returns back to the mapper, all for just one random encounter !
@icegoat – Wow, high praise from the creator of PicoHaven! Glad you like the game.
I went into the tavern multiple times to save but it's not showing my saved game.
I just went in and tried it, and it seemed to be working for me. Are you perhaps blocking cookies or have other security features on to prevent data saving in the browser?
The game always crashes when I encounter enemy fights right after I use a locate / heal spell off-fight :(
[Please log in to post a comment]