No announcement yet.

Dreamwalkers: Sleep Descent - open world JRPG style game

  • Filter
  • Time
  • Show
Clear All
new posts

    [GAME] Dreamwalkers: Sleep Descent - open world JRPG style game

    Hi! Just wanted to let you guys know I've resurrected this project from the grave. I'm completely redoing it from the ground up with new assets. I'll post more later! In the meantime, Droplet: States of Matter still remains my primary project. This is just something I've been toying around with on the side.


    Preview of new battle mode

    Work in progress of Amie Garland - the main character


    (Leaving this up here until I'm ready to replace it all.)

    Hello everyone!

    I've got a game to share that I've been working on for some time. It's called Dreamwalkers: Sleep Descent. It's an open world JRPG style game in the likes of Final Fantasy. You play as a girl named Amie who mysteriously wakes up in a dream world under attack by monsters fueled by negative emotions. She meets new companions along the way as she travels the myriad of different dream worlds.

    The game features a 3 vs. 3 semi-real time combat system where you can choose to cast abilities with charge up and cool down periods. As you defeat monsters, you get to choose how you want to level your character up in a non-linear skill tree.

    I'm currently the sole programmer on this project. I did all the models in Blender and composed the majority of the game's soundtrack. I do have some volunteers helping me out with things such as 2D artwork as well as story consultation. The game still has a long way to go before it's finished, but if you want to try out the game's prototype, check it out in the link below. I estimate it represents about 15% of what I imagine the completed game to be.

    In the meantime, I've been hard at work with the game's storyline and world. I'm going through a new draft of the script to improve the character development. Gameplaywise, I have much more of the world complete in my offline build. These updates include expansions to Sandaria Desert, Snowbound Vale and Harvest Meadow and some new locations such as the spooky Mystic Mires home to a giant who lives in an equally giant house, a saccharine world of unicorns and rainbows known as Cloud Cuckooland, and the malevolent, corrupted world of Golgotha.

    Before I release this version containing these changes, I'm looking to improve the battle system further, balance the level up pace and improve the game's story. For now, you can check out the November build of the game which contains a test campaign from an earlier draft.

    Download 2017 prototype:


    Full walkthrough of the prototype:

    Test footage of first boss encounter

    Test footage of being chased by a dragon (not yet in-game, coming soon!)

    Footage of a dungeon involving ball rolling physics:

    Test footage of a different type of encounter where you are being chased by an impossible boss

    Last edited by Krayfishkarl; 09-20-2019, 06:10 PM.

    A quick update video showing some new progress. Made a new area called "Fire Mountain"



      How did you do the battle system and the menu?


        Originally posted by CloudStrife321 View Post
        How did you do the battle system and the menu?
        I will admit that because I first designed this system a year and a half ago, the Blueprints are quite convoluted and could definitely use improvement. I'll try to break down all the major pointers as best I can:

        The menu is just a large combination of smaller UMG widgets, and I switch between them via the Widget Switcher. The items and equipment lists are a series of custom structures stored on an array. The menus themselves are just scrollboxes containing smaller widgets and every time the menu is displayed, it gets "refreshed". It pulls from the array containing the player's data to display them via a ForEachLoop. Similar practices are employed with the party and skill menus. I keep the player data on the game's GameInstance class.

        So the player's data essentially is just one structure containing things like the following:
        -Character Stats

        For navigating the menu, on the game's PlayerController class, I just put a branch next to each input action to check whether the game is in the menu or not. If it it's not, these actions will move the character. If it is, it will move the cursor on the menu (which I use as an integer whose maximum value allowed is the length of the array of items/equipment).

        The battle system is not perfect and I'm planning to redo a lot of the blueprints behind it, but as a principle, it works something like this:

        All of the enemy's stats are stored on a Data Table while I have another data table that determines what enemies are possible in a specific area. The game has actors which I called "Trigger Battles" scattered throughout the overworld that are designated locations for battles to take place. These Trigger Battle actors spawn an overworld monster that will just execute "Simple Move to Actor" when you get close enough to it. The "Trigger Battle" actor also contains an array of three Name variables that you can fill in while editing. If you type "random", it will pull from the list of possible enemies, then pull from the enemy's stats to spawn it on the screen. You can also just type the monster's name directly which I use for situations where I want the same enemy to appear all the time. (i.e. Bosses, unique enemies). In battle, the player characters and the enemies both use the same actor, but just swap out their mesh and animations. I opted for using the same object for all of them so that the same Blueprints could work with them uniformly, although there's probably better ways to handle it.

        The battle menu uses an integer to determine how deep into the menus you are. They work similarly to the list of items and equipment in that its a scrollbox that refreshes depending on what menu you are in. When you select an action, it then triggers an event to put the character in a casting stance. The the current time the character has been in a casting stance is measured with a float value while I have a timer function in the background that increments it.

        And then when the timer expires, I have an event which I put in the GameMode class that executes the attack. The inputs for this event are the one who is casting, an array containing the targets, and a Name variable containing the move being cast. So the next set of blueprints is a delay node to show the attack's name on screen, then it takes the stats of the player, the enemies and move to determine how much damage to do. In the case of multiple enemies being targeted, I just have a ForEachLoop for through each enemy to do the damage.

        Hope I explained well enough, but those are just the essentials of how it works. There's a lot I want to redo such as moving the Blueprints around in more convenient places and changing the system

        Also, just came out with some new footage too. This time, it's an impossible boss that chases you. On principle, it works the same as any other enemy in the game. Only this time, I set the wander radius very high so that it can find you anywhere. And the Griefeater's stats are raised so high that you have no chance of defeating it. The result is some kind of quasi-horror segment where your only option is to run.

        Last edited by Krayfishkarl; 01-14-2018, 12:13 PM.


          Woooooooowwww nice game i like it, keep up the great works !!!!


            Thanks! It's always nice to get a bit of encouragement. The next thing on my to-do list is going to be particularly challenging. To improve the blueprints on the game's battle system, I'll have to sort through stuff I created more than a year and a half ago, but hopefully, the end result will make things much more polished and smoothly running.
            Last edited by Krayfishkarl; 02-02-2018, 12:27 PM.


              Click image for larger version

Name:	BattleScene1.png
Views:	180
Size:	339.3 KB
ID:	1667169
              Work in progress of the new version
              CURRENT PROJECTS: