Dragon Express by LDJam user 120213

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)
| Link | https://raptor85.itch.io/dragon-express |
| Link | https://raptor85.itch.io/dragon-express |
| Original URL | https://ldjam.com/events/ludum-dare/53/dragon-express |
Ratings
| Given | 33🗳️ | 31🗨️ |
```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.
```bash
LD_LIBRARY_PATH=. ./DragonExpress
./DragonExpress: error while loading shared libraries: libtiff.so.6: cannot open shared object file: No such file or directory
```
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.
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!
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.
Good stuff :8ball:
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.