WIP - (Untitled) Fantasy RPG

Hi all,

I have a habit of constantly dropping and starting new projects because I seem to constantly change my mind, but so far I’ve stuck with this one that I think it might actually get somewhere. I also figured that having somewhere to post things might help to keep me motivated by giving a history to look back on.

The short is that I’m working on a JRPG / Active Turn based system. The athestic is a “tooned” low poly style, and the general idea is a sort of spiritual successor to one of my favorite SEGA RPGs, D&D Warriors of the Eternal Sun.

By a tooned low poly style, this is what I mean. The left is how I get the models back, similar to the faceted look that’s trending, and the right is after I make some changes by increasing the smoothing angle and recalculating normals, and finally, applying a toon shader.

And here is where I am at so far. The first video is a rough outline of the Active Turn Based system (currently everyone just has randomly generated speed). Note they don’t yet have weapons to match the animations, that will be next :slight_smile:

eskua

Second is a small tweak I did thanks to Makin’ Stuff Look Good’s videos, where the start of combat now does a transition. While the screen is black, we initialize all of the battle stuff and then fade back out to the new camera. This will avoid the flying across environment from the video to make things feel smoother.

5pw29

It’s been a lot of fun working on this after the day job, so I hope keeping this sort of devlog helps keep things chugging along. Thanks :slight_smile:

1 Like

This week was mostly behind the scenes system changes and some small bug fixes that were easy to handle. Additionally, added a new player character, made it so the Combat UI doesn’t show until after/below the transition, and gave everyone a newer set of animations and weapons/props to help display those better.

fytr0

This week was a big set of changes:

  1. Went back to the faceted low poly style. I do like the original, but it’s a pain to make the environment pieces match, so at least for the time being I’m just going to keep it consistent in that style.

  2. The demo world and arena are no longer just a brown plane, but populated with vegetation.

  3. You can change which character you are in the overworld by pressing Q and E. At the moment, this is just a visual thing and has no tangible benefits.

  4. Enemies will now patrol, and begin chasing you if you are in their field of vision. This can be broken by breaking line of sight, in which case they will resume patrolling, but at the moment that can only happen with the help of some boulders and the thicker pine trees. Basically, it’s not likely, but technically possible.

  5. Bunch of small bug fixes and adjustments.

wi6i9

Very cool work, and AI/screen transition is a big factor in “turn based” type games. Stay on your current course, dont let anyone slow you down :slight_smile:

1 Like

Thank you :slight_smile: Progress is going much faster than I ever anticipated, so I plan on just trucking along.

On a related note, hooked in a party creation screen before actually starting so that you can choose the party of 4 for the adventure. The UI is ugly as can be, but it’s functional for now and that’s what counts.

eiywn

Just a few more features and then I think I’ll be at a pre-alpha demo build of sorts, and can start actually testing things out. One of those features is clearly a name :wink:

1 Like

The UI can be adjusted/modded later, who cares what it looks like now, lol

1 Like

Absolutely freaking love this, please tell me you kept at it.

2 Likes

I got sick a few weeks back and that knocked me off schedule, but this past week I’ve been slowly getting back into things. Had a few tweaks to make and I’ve been playing with a new art style as well.

Fortunately not a dead project :slight_smile:

1 Like

Glad to hear your forging along with the project. :slight_smile:

If ya ever need anything, just give a shout.

1 Like

Im working on my own right now but need anything feel free to give me a hollar as well. Honestly, i’d keep the low pixel look, your environment, although basic, is honestly beautiful.

1 Like

Appreciate it :slight_smile: So far it’s smooth sailing, just need more time in the day haha.

The issue is that the artist I had making the character models isn’t able to continue on most likely, so it’s more of a “just in case”. I’m experimenting with the new style since it lets me do some other cool stuff (facial blendshapes, more detailed animations, etc.) so it’s give and take, no decisions made yet though haha

The environment stuff is from Synty Studios on the asset store though if you’re interested :slight_smile:

As mentioned above, I ran into a few outside setbacks, but I believe I’m back on track. I did end up switching to a different art style, but at least for the sake of getting an alpha build done, I’m salvaging the environments and just smoothing them over slightly.

It’s been a while, so I’ve got a wall of text.

Unrelated to tangible stuff to show, I took the time to sit down and play with some math formulas to figure out how I wanted everything to be calculated. Before, I just did a very simple Attack - Defense * a multiplier, and while it “worked”, it did not have the ability to scale well with the formula I was using for stat growth. I like my stat growth formula, so that won out and forced the redesign of the Health and Combat Damage ones.

Adding Unit Tests with ASMDEFs was not a pleasant experience at first either, but sticking through it and testing my formulas did reveal that I input them wrong, especially with regards to ends of the curve. Glad to handle that now instead of being unaware for months. :slight_smile:

With that, here is the new set of player characters that can be selected for the party:

Characters

sopla

Other than obviously not being low poly, these have some facial blend shapes (so they can blink, smile, frown, etc.) and a plethora of additional bones to help tweak clothing movement beyond having to keyframe it all into animation. Yes, the animations need to be adjusted to fit them :wink:

Lastly, this week we got the first set of enemies done, which is pretty much all that is planned for the first alpha build. The way my spawn system is set up, is that each spawner has it’s own weighted spawn list with various level thresholds. An example to explain this, is that at level 1, the spawners outside the town have a 90% chance to spawn a Goblin Rogue, and a 10% chance to spawn a Goblin Warrior. At level 5, Goblin Rogues have a 70% chance to spawn, Goblin Warriors have a 20% chance, and Goblin Shamans have a 10% chance.

Goblins

s5iff

My main issue with JRPGs is how battles end up feeling repetitive. Once you’ve fought a goblin, you’ve fought them all. The only time you see a different goblin is if it’s a recolor and then it’s renamed, but it’s still the same thing. To help fight this, each enemy will have at least 3 various color tints, and a variation in scale from small to large. This isn’t perfect, but I believe it helps things feel more “alive”. Now instead of fighting 3 green goblins, you can fight 2 yellow and 1 green goblin, 2 small green goblins and 1 large yellow goblin, etc.

Ideally, this would also include slight model tweaks (different armor pieces, etc.) but at the moment that’s outside of the scope of the project, so I’m settling with something much easier to push in, but still helps achieve what I’m after.

Anyways, I think that’s everything since the last update. I feel like I’m pretty close to having something out there. The only major checklist items I have are inventory/equipment, abilities, sounds, and most importantly, a name.

1 Like

Not a whole lot to share this week, it’s mostly been writing the underlying systems for Inventory and enemy variation as mentioned above, along with reworking the combat UI. I’ve also started to populate the alpha kingdom with some temporary villagers and guards, which will be used for implementing dialogue, but at the moment there’s nothing to show other than static meshes.

The inventory is pretty cut and dry, but rather than one “giant” inventory, each player character has their own inventory. This inventory is made of 10 items, an equipped weapon, an equipped armor, and then 8 whatever. The idea is to make item management be something that matters before you venture out. Do you stock up on consumables, which prevents gathering more loot, or do you risk it without the consumables to gather as much as you can? Granted this gameplay can be polarizing, so I made sure to construct it so that expanding won’t utterly break everything.

Enemy variations is pretty simple too, pick a random number for scale and materials. Take said material and scale and apply it to the instance. Currently the variation is hardcoded into the material + texture data, but it might be worth being adventurous to delve into a Shader to modify the texture atlas at runtime. Then I could specific a range (yellow to green for example) rather than having to predefine each possibility and store it as a texture + material.

Lastly, the previous combat UI was pretty bare bones. You had the party health/mana/turn and that’s it. I’ve changed that so now we have both the player and enemy health / mana, along with small portraits for each. Additionally, on the right of the screen is the next 10 turns coming up from top to bottom. This lets you plan further ahead by knowing who’s coming up next, including enemies. Before you could kind of guess which of your members was going to attack next, but you were absolutely blind to enemies. I’m trying to avoid needlessly frustrating mechanics, so I opted to give the player information so they can focus on what’s going to happen rather than blitzing and hoping for the best.

a31a0

Another variation I’d like to add would be semi-unique names for each enemy race, and display those rather than the generic “Rat A” “Rat B” etc, but if I were to have non-“intelligent” monsters, such as a giant rat, then names wouldn’t really work, but that’s on the back burner for now.

Good news is that I was able to get back into talks with the original artist, and I’m able to move back to the low poly look :slight_smile: People I shared the project with echoed this sentiment, and they really preferred that look over what I had moved too, so I’m glad to be able to go back.

As a teaser, here is the new Druid player character

1 Like

Lots of updates since last time, but most of it is behind the scenes stuff, so can’t really “share” it.

I did end up rewriting characters, enemies, inventory, and items to all take advantage of scriptable objects and to greatly clean up my code. Originally, I just had a bunch of switches and hard defined look ups to portraits, icons, and game objects to help get things up and running. It did work, but it was quickly ballooning. Adding a new character meant I needed to update at least 10 different spots in my code. I did at least forward think enough to throw errors when a new type wasn’t implemented for that area, but it was a pain. Couple that with having like 6 different managers for various pieces, and it was a nightmare.

Fortunately, with the scriptable object setup, the SO has a slot for that information, and various pieces of code that need it can just access that property. Now a new character is as simple as creating an object, and dropping in the pieces without having to dig around for other references. Same with inventory and items.

I was also able to get around to writing a basic music and sound controller, and some placeholder music and SFX to go with it. It’s nothing super fancy, but it does help bring things closer to feeling like it’s actually going somewhere.

Lastly, I think, is that I spruced up the environment a little and threw in a small amount of post processing as well. Still a lot to do (that tree and enemy pop in :frowning: ), but I’m really enjoying how things are going around.

Here’s a small clip with all of the above thrown in:
g3prvn

Thanks to the Spring Sale I was able to snag Bakery and Amplify Imposters and I’ve been using that to help pad performance with regards to the field/open world. All of the trees and cliff rocks are instanced, and have an LOD group which contains the regular mesh, and the imposter/billboard at a far enough distance to help prevent super noticeable pop-in, but also help with rendering times.

I’ve tweaked the lighting and Post Processing to help things be a little warmer in color tone, rather than what felt like a stark / too ‘realistic’ coloring as seen in the above ones. I think I prefer the latter, but there are also things I liked about before, so probably just needs more tweaking sometime.

Additionally, I finally got around to implementing both Abilities and Items for use in combat. I’ve been really interested in trying to make combat feel more “dynamic”, so one thing I’ve done is utilize additional camera angles for various actions, like choosing a target, abilities, etc. The current implementation is super rough, and the transitions are a little fast, but overall it seems like it’s worth continuing with. Once there are some VFX/SFX to go with the abilities, I think the extra angles will help things feel meatier and make them more enjoyable to use.

Unfortunately, it looks like by next week we might no longer be working from home, so I’m going to have to crank out a lot this next week incase I lose the extra hours. Good news is maybe I’ll be closer to a starting alpha state, but regardless this is the furthest I’ve ever taken a project, so that’s really exciting.

rsgh8s

1 Like

Love seeing the progress man.

1 Like

It’s been a while since the last update, but in that time I’ve basically rewritten everything from scratch. The original code worked, but the whole spaghetti nature of it made itself apparent as I began expanding into other systems. As I was beginning to start new systems, hooking in to them became a nightmare of references and monolithic classes.

Fortunately, it was still pretty early in the project so it didn’t take a whole lot of time to catch up, and I was able to refactor things to be much cleaner and easier for me to hook into, along with actually compartmentalizing things into proper sized components.

Additionally, the art style swapped to a more stylized hand painted look (which I’ve always wanted since day 1). Now I’m back where I was (minus some slight battle UI stuff), which was adding VFX/SFX and general pizzazz to skills/abilities, then I can really dig into fleshing out the world.

Ooooh way prettier! I totally prefer that render, makes me want to get inside the picture.
Did you model the trees, or you got them from somewhere?

1 Like

I agree, and I love the hand painted style so much, I’m glad I can finally do it. The trees, grass, and rocks are from Azure Nature.