Dragon Express by LDJam user 120213

[raw]
made by LDJam user 120213 for Ludum Dare 53 (JAM)

DragonExpress.png

A moderately long DQ1-style game where you're not the hero. Master running away, throwing things to distract, and barely surviving monsters you can't even hope to fight.

It DOES have an ending, and is quite long and difficult, but it is possible.

Gamepad controls currently broken in jam version, arrow keys + z (interact) and x (menu)

Credits: * raptor85 - Programming/Gameplay Design/Map Design * neeki - Art/Animation

CC Assets: * RPG Battle Loop - CC Attribution 4.0 * Retro_Hit - CC 0 * slash-rpg - CC 0 * Relaxing Theme loop - CC Attribution 4.0 * Enigmatic Polyphony - CC Attribution 4.0

Gameplay Hints: * There's no point to "grinding" enemies, you're just wasting HP * There is no enemy capture/etc mechanic, it's all about escaping. * Stay on the grass as much as possible, the encounters are easier there, forests and mountains are death without armor/items. * make sure you buy some healing supplies * avoid the sand and swamp tiles until you have the correct gear * while it's possible to just gear up and rush to the end you'd have to get very good rolls, there's equipment along the way that makes things easier * some people give hints (talk with interact), but actual quest beginning/end npc's don't move and talk by just walking up to them. (they also look different) * press the interact button by chests to loot them, the radius is generous to avoid frustration * interact also allows you to "use" shops and inns, just walk up to the counter and press it * most creatures have an item that lets you get away easily, but generic items like smoke bombs can be used to increase run chance otherwise. * armor significantly reduces the enemy chance to hit you

Known Bugs: * Menu position doesn't reset sometimes, it won't allow you to make invalid selections but does work * Shop menu "done" button sometimes visually one under the actual button place * Items aren't being polled or consumed properly in battle

Other Known Issues: * Art wasn't 100% done when time was over so some programmer art is still in place (you'll 100% know which of us did which art pieces...my drawing skills are surpassed by most 2 year olds) * Music is just a few CC loops to keep it from being silent, thus why rating audio is turned off. We're BOTH musicians to some degree but simply ran out of time....

Update 2023-05-02: The version I uploaded was broken due to compiling as release at the last moment untested (apparently some of my movement input code was inside the debug block I was using to give controls for infinite hp, warping, battles/etc), I re-uploaded with the debug logic still in. I've also added the windows cross-compile

Update 2023-05-03: Fixed segfault on bridge, there was a 1/1000 chance a battle started on a bridge that was causing issues but somehow people kept hitting it, Fixed segfault on entering towns caused by npc's slightly clipped into a wall. Added additional libtiff to linux build for those that don't have it installed on system (it's generally a system lib)

Ratings

Given 33🗳️ 31🗨️

Feedback

Antsa
01. May 2023 · 20:42 UTC
In case someone else also gets the error `./LD53: error while loading shared libraries: libSDL2_mixer-2.0.so.0: cannot open shared object file: No such file or directory` or something similar when launching the game, you can fix it with the following command
```sh
ln -sr ./libSDL2_mixer.so libSDL2_mixer-2.0.so.0
```
Then run the game with
```sh
LD_LIBRARY_PATH=. ./LD53
```
If the error is about the libSDL2_image library, replace libSDL2_mixer.so files with according names in the command above


As for the game, I didn't quite understand how to play it or how to progress in it. I managed to beat some enemies by throwing random items at them and it seemed to work with some logic after enough trial and error :thinking:. Definitely has that Undertale feel to it with Zelda graphics if I had to make some comparisons :D

The movement in the game was quite sticky feeling. Its almost as if the game gets its "repeat movements" in the same way as text editors start repeating keys after you hold them down. You might want to keep track of key down and up events separate from the movement and then do the movement in your update loop outside of the input polling code. I can't really say if this would fix the issue though since I can't see the source code.
🎤 LDJam user 120213
02. May 2023 · 14:41 UTC
@antsa oh jeeze, I apologize for that, I was dead tired when I uploaded, worst part is I have an automated script I wrote to do all the dependency packing for me and I didn't even use it...The input issue was a bug I introduced last second and didn't notice until you posted this, you're mostly correct, I use mixed input which is async but also key up/down events for other discrete input and to track initial keypresses, the problem was actually just when I swapped to release part of my code was accidentally inside an #ifndef ndebug block that I'd put a bunch of my debug controls inside initially then promptly forgot about since the debug build worked....I removed the preprocessor blocks stripping it from release so input should work correctly now, though as a side effect there's also now a few hidden test keys to alter the game.
Lisek Gagatek
03. May 2023 · 10:41 UTC
I will be honest, I kinda had no idea what I should be doing in the game. I went outside of the starting house and wandered around, but the fight would start sooo frequently, that it was hard to explore and move freely. When winning the fight, it would close very fast and there wasn't not much time to read the fight panel's text and understand what just happend. The game also segfaulted for me, when trying to cross the bridge to the north of the starting castle and while entering the Inn.
Marcos Tulio Cavalcante
03. May 2023 · 11:05 UTC
I also found it confusing, need to improve the collisions. The art of the bridge was very different from the others. I believe that the purpose of the game is to capture a monster and put to fight with others, but I did not achieve this. The ideal would be to force a first battle where the player uses the item and captures the first monster.
CosmogonicFrog
03. May 2023 · 11:13 UTC
Love the idea but definitely needs a fair amount of polish. The idea of finding out what item to use to escape each enemy is neat as well as the focus on survival more than attacking. However, once I'd figured out what works (and noticed that my items didn't get used up when used,) it did feel like a bit of a slog to walk around. I feel like lowering the time between encounters but maybe increasing the amount of damage that enemies do would make it more fun. Having fewer encounters but making each one feel more perilous feels like a better way to go. Especially because it seems like you want a game where forward-thinking and planning what items to buy in each town is important. The artwork and feel of the game in general was very nice. Nice work! I'd be interested to see where this goes in the future!
snesgaard
03. May 2023 · 11:22 UTC
Hi I'm trying to get it running on Linux and am getting a new error:

```bash
LD_LIBRARY_PATH=. ./DragonExpress
./DragonExpress: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
```
zubspace
04. May 2023 · 20:05 UTC
I enjoyed my short run. Visited another city, bought some items and wandered into the unknown, fighting goblins and slime monsters. I like the map and the feeling of being a small part of a larger world with no clear direction. Feels very roguelike. The battles are a bit random for my taste. Maybe there's a deeper logic behind them, but I didn't get it. I came to a swamp which made a strange sound and died soon after, with no clear indication why.

Overall good job. I think what's missing is some kind of smoother introduction. Like a simple quest and fighting a few easy monsters with a 1 or 2 items before going all in.
LDJam user 242787
05. May 2023 · 03:22 UTC
This game has a lot of potential, with unique mechanics and a great atmosphere. The idea of survival and planning ahead with items is really interesting, and the artwork adds to the overall experience. While the battles might feel a bit random at times, the feeling of being a small part of a larger world with no clear direction adds to the overall charm of the game. With some polish and refinement, this game could be a great addition to the roguelike genre.
James Laird
07. May 2023 · 03:45 UTC
I got a crash when leaving the all-forest town, which was shame because I was having a good time!
Definitely achieved the feel of DQ-style exploration (exploring in progressively more-difficult biomes).
I was surprised that the items weren't consumed when used; once I had the right item to defeat a particular enemy, that enemy becomes trivial to defeat. Definitely liked the feel of needing to find the right items to traverse each terrain type, and feeling the map unlock for me.
Likewise, the encounter rate felt pretty high; I ended up doing a lot of "grinding" just as I traveled (which feels worse than in DQ because I'm not gaining XP from the fights, so they feel like a waste of time).
Would happily play more games like this!
🎤 LDJam user 120213
07. May 2023 · 04:24 UTC
@james-laird weirdly i never even noticed until now! I looked in the source to confirm and.... I'm not even looking at the right memory location for the items, they're not just not being consumed, apparently they'd work even if you didn't have them! :face_palm: Since I was testing playing it "as intended" I never even though to try to use items I didn't have.

Just think of it as easy mode for LD to make it more beatable, lol

Originally the encounters were going to be more Z2 style (so you could literally dodge them) which is why the movement is pixel perfect and not tile based, had to roll back to more DQ1 style last minute to get the game posted. I thought the rate was reasonably low but then again I play a lot of JRPGs with absurdly high rates so they've probably just broken my perception of such. The idea was more since you gain gold by running away to balance item use and running to conserve resources, with some creatures having a high chance to simply leave if you pay them outright or talk to them. If you've ever watched a speedrun of dragon quest, basically to use speedrun tactics, where you avoid fighting and just rely on running to progress, hopefully not getting stuck on a red dragon or armor knight, which is also kinda why i have an ingame timer in the menu.

As for the forest crash, that's a shame,I'm glad you enjoyed it up to that point though! I have no idea what could have happened, the others were obvious, as bridges and towns originally didn't have a battlefield designation so if you got in a random over a bridge or the frame before you entered town it wouldn't know what battle to load, but all other tiles did (plus that was fixed), and i clamped NPC's inside the town bounds as well as the other crash was because they were wandering too far outside the map and underflowing their positions....

never using libtmx for maps again..., used it to save time and ended up spending 3x as long fixing bugs caused by how the format works, half of the crashes have been because for time sake I had to make assumptions on how different pieces of map data relates to load properties...usually when I use tilemaps on LD i just use static binary map formats for simplicity.
commanderstitch
07. May 2023 · 05:07 UTC
I can't believe this is a game. There's so much going on here! the menus, the levels, the desert, swamp, bridge art, crazy sound effects, npc's running around. It's so crazy to think that all this was made during the jam. great stuff! :D I prefer fighting jrpg's and encounters/exploration is always a delicate balance. what do i know? xD
Graham M
07. May 2023 · 07:27 UTC
Fun game and very interesting idea. I noticed that if you win a encounter you can keep spamming the interact button to get infinite gold and because the itmes dont get used up I ened up with a load of gold.
CodeForJoyCaro
07. May 2023 · 09:09 UTC
Nice take on the Undertale fight system, but I think the fight UI was a bit to similar to the original. I would have chosen other colors or font to make it more of your own.
🎤 LDJam user 120213
07. May 2023 · 09:29 UTC
@codeforjoycaro between people commenting on this reminding them of undertale/zelda reminds me of how much younger much of the LD crowd must be than me O_x. Everything here is pretty much a direct parody of Dragon Quest 1 (which predates Undertale by 29 years), including the battle system (though granted undertale also based their system around DQ and Final Fantasy), just with the commands swapped to only ones for escaping. (since you're a package delivery boy, not a warrior)
Gatlink
07. May 2023 · 12:56 UTC
I never understood where I was supposed to go and got scolded by the first NPC when I tried to ask again :(
PraymingMantis
07. May 2023 · 18:27 UTC
Really interesting game, would make for a great rpg if fully developed :D Wasn't really a fan of the combat, although it's more of a personal preference. The map was fun to explore and the NPCs were well made. The music was fun to listen to, although would have been great to have an in game audio control option as I couldn't hear the music well even at 100% volume. Combat music was at an appropriate level. Overall good game besides my personal tases, good job :D
Nastasya
08. May 2023 · 07:20 UTC
WOW, for the fist tike looks like a some part of the cartoon. Fun game and very interesting idea, really. Good job!
Blue Pin Studio
09. May 2023 · 05:46 UTC
Not bad! Seems very ambitious for a game jam, seems like it had a lot of systems. I didn't really get a chance to play it properly because the controls and mechanics were confusing to me. Perhaps something with a little bit LESS systems next time! :D
OddballDave
10. May 2023 · 20:03 UTC
There's a lot going on here which is a good thing. I liked the idea of different items helping against different enemies, but like you say above I could use them even if I didn't have them. The encounter rate seemed a little high for me. I liked the graphics, they fitted the game well. Great entry.

Good stuff :8ball:
Paulsams
14. May 2023 · 10:01 UTC
It is clear that a lot of everything was mixed... But I didn't really feel the point in this, to be honest). Well, that is, it didn't give the game integrity or anything else, but okay.
Namely, my comments on the game will be similar to what was already wrote in the comments above.
Also, my game crashed when trying to talk to an NPC, huh.
Brigart
15. May 2023 · 22:15 UTC
Nice art
LDJam user 261242
16. May 2023 · 14:09 UTC
Haha Interesting game! Special idea to basic rpg battle. I like it!
WeirdBitGames
19. May 2023 · 08:57 UTC
The main character and similar assets look wonderful! The music was chill too. It took me a little to work out all of the controls, the status/inventory menu was a nice touch! I really like the goblin on the thumbnail!