Real time combat RPG: Making games is hard

Update 7/15/20: Uploaded a combat test prototype (no wg elements yet) to get feedback on the general feel of the battle system. This will help determine if any emphasis should be placed on it for progression through the game, any feedback is appreciated:

Back in March, I decided to learn some Unity programming to work on creating a simple game emulating the action combat from an MMO I used to play. After a few weeks, I was able to get the player-side skills to behave as they should, but was pretty defeated by some systems like better enemy AI, inventory, and an NPC ally I wanted to include. I created the elements with the default UI elements as a placeholder in order to focus on the internal logic, but it looked so terrible that it made me stop working on the project.

I’ve gotten back into it this week with some more motivation and figured this would be an ok place to jot down the ideas for the game since combat should be functional for now. I’m working on adding some better player feedback so that it doesn’t feel like as much of a mess, hopefully it’s something I learn how to improve later. The focus currently is to go through an inventory tutorial and then code in a proper ending to the battles.

Here’s a video showing the WIP of combat (you can see why I abandoned it lol): GameCombatWIP1
6/18/20 edit: Still a lot of placeholder UI to replace, but the main HUD area is looking better:
https://streamable.com/vz5j2z

The static “New Text” stuff on the left will be for the NPC companion described below.

You can see my game plan notes here:

The gist of the gameplay loop is taking an NPC companion into dungeons to earn gold/items, then getting upgrades for your character or ranking up in town. You’d be able to contract additional members, who can either join you or do specific stuff in your home in order to grant various bonuses. The WG aspect is similar to Fetish Master’s with its task-oriented management, but the companion joining you in battle will operate a bit differently, similar to how Emmie works in Some Bullshit Stuffing RPG. A design objective is to not need to focus on the dungeon aspect too much, since grinding isn’t too fun.

The positive side to not having real graphics or animations is that I’ve got a quick way to set up for adding new enemy types and bosses. However, I think I’ll struggle mightily with written descriptions for appearance and WG. Luckily there’s plenty of inspiration out there, so we’ll see how it goes once the framework is actually in place.

Feel free to leave feedback on anything. Obviously, this isn’t even off the ground yet, so anything can change.

4 Likes

You have an idea, and a plan, looks good! Kudos to you for preparation.

1 Like

Back again with some more text, I find writing down notes helps solidify the ideas I’m working through. The inventory tutorial I’m going through had a short lecture on how to build out GUIs that can resize to different resolutions, so I was able to put together a mockup of the non-combat UI using that lesson.

Summary

https://i.imgur.com/e6mePlL.png

I had sketched out the inventory being on the left, but it turned out a little small. Taking up the entire right side is way too large, so I think I’ll shrink it to 2/3 height and add a panel above for showing character status, similar to this concept sketch:

Summary

I ended up getting like 7000 icons in a humblebundle sale a while ago, so at least the equipment, skill, and item icons are all going to be high quality and varied. It didn’t come with any GUI art and I haven’t found something specific I want to get yet, so those windows will probably be placeholder for a while.

Not sure where the skill page will go. I’m planning on the companion/home system to have a glyph point system to augment your skills like in TERA. Since there’s one universal glyph set each class would use, it’ll be less about selection and more about having your companions big enough to grant the required points.

For weight effects, the main interplay is going to be between fullness, metabolism, and fat/weight. Food will have different calorie amounts that convert into mana, but too many calories in a day will lead to weight gain (the horror). Higher metabolism is rewarded with a faster GCD/ATB meter, which will count as a tick of digestion to convert food into mana. I had the idea of it also granting higher mana, but then there wasn’t a benefit to weight, so I think higher weight = higher mana. One of the setting ideas I had was like, this female support role is common with the upper rank/noble hunters and are basically seen as an indicator of status. The women are often plied with lots of food in order to support the adventurer, but if they start to gain weight, they’re “retired” into a position at home where high magic power is all that matters.

Ideally, there’d be reaction dialogue and whatnot as you climb up the ranks and bring along your overfed companions, eventually leading to a change in social trends, but we’ll see what I’m able to get in place.

Making some more progress, the skeleton of the inventory system is coming along nicely. I’ll have to figure out how I want enemy drops to work. I had initially planned on having only “Drop Tiers”, but I think I’ll separate that out into broad enemy types and tiers, with bosses inheriting a type and having unique stuff on top.

The saving system is in place now, so swapping between scenes works and carries over health/buffs. Next step for that is to add a designation to effects to determine whether they are carried between battles or not. Skill and most companion-given buffs would clear out, but item buffs will last longer, probably determined by the time system once I add that.

I was able to add skill icons to players and enemies to see how they’d fit, and it almost makes it look like a legitimate game attempt! I’ll have to figure out some better readability on the enemy attack indicators, the plan is to put yellow/red borders around the attacks and perhaps those would also fill along with the status bar to show when the attack will begin. Here’s a short video showing the save/scene transition with some placeholder buttons:
https://streamable.com/eo291v

I finally found a GUI that I like, but it’s all on one giant .PSD file, so those free assets might be there for a while, it’s quite a lot of work to get each piece from the .psd, slice it, and use the pixel scaling to get it to look how it should. On the plus side, the source file is laid out really nicely, so it’s been easy to make some edits of the pieces I’ve pulled to do things like the white flash when a skill is off cooldown. The main issue is the giant, ugly status bar for the player and enemy to show what state they’re in. It’s important info since there are no animations, but I can’t for the life of me think of how to make it look acceptable.

Anyway, things are going smoothly, especially since there’s really good documentation for Unity. Once the inventory is done, the next goal is getting the follower stuff up and running, since that’s what the game is all about. I think the early iterations will lean pretty heavily on the systems Fetish Master used, since I have some experience delving in and modding those.

Progress update since I don’t want to code anymore today: I’ve mostly completed the inventory tutorial and have the system working for equipment. Next step is to integrate it into an excel workbook I have so that I can generate the items and related stats easily. I’ll have to refactor a bunch of stuff to work with adding in the Follower, but I think that’s the next big addition to work out. I’m not sure how I want to handle the equipment and their stats, since it’s largely a support role.

Here’s a video with the general layout/equip system. The big tooltip window in the center seemed like a good idea at first, but I think having hovering tooltips in order to compare equipment might be the better way to go.

Video of town/combat views

But yeah, the foundations are starting to come together how I wanted, so soon it’ll be time to add content. I definitely made this thread prematurely, it’s a much longer road ahead than I thought.

Man, progress is really slow when you’re not just adapting stuff from a tutorial into your game. This one also required rewriting some Excel stuff to fit a different structure for the follower attacks in Unity, which ended up being less flexible than the original approach. After quite a lot of testing and thinking, I was able to get the basic framework for all the pieces of the companion AI working and some early glyph effects. I still haven’t settled how I want to approach food and calories and such. So, like before, I’m just going to type a bunch of stuff out to help me think through them.

Initial follower combat concept

Explanation of a couple things in the video

The second box in the top left is going to be where the status messages from the NPC come from, at least what the current action is going to be, but possibly what’s getting added to the queue (or “is loafing around”).
The buff section is going to get really crowded on the player, so I’m gonna try to figure out a way to spawn the buffs that last multiple battles in another section of the screen to reduce the clutter there.
It’s not obvious, but I added some skill specific effects, which are the 4th skill having a 60% chance to reset the cooldown of the 1st skill and the 3rd skill having a 4s cd reduction on crit. Most skills will use this polymorphism to add extra bonuses to their attacks, which will be one of the main incentives for raising additional followers.

Currently, the AI is basically on a Grandia-style system where an “Action bar” fills up, then it chooses and casts an attack and repeats. On each cycle, I have it set to digest some food and convert those calories into mana. These would go toward a rolling total for the day and anything above the character metabolism would go toward the fat total. As far as time dilation goes, I often feel like these games make it difficult to advance through a given day, so I think I might go with a 1:20 ratio, where a 1 minute fight would be 20 minutes of game time. I would like for the common battles to last around 30 seconds and boss fights to be 3-5 minutes, so that ratio might benefit from going higher, even.

It’s different in the video, but I think the base stomach capacity will be around 1000 units, which I’ll make into metric as 1kg or 1L to make everything easier. Then the calorie amounts for food will basically be whatever google turns up for the common stuff and estimates otherwise. Every aspect outside of the cal/g will be influenced by stats on the NPC, so hopefully I this will help make a sense of progression that feels rewarding as far as the results go.

The follower AI is going to be pretty simple, there’s basically a queue of attacks it needs to use off-cd to keep buffs and debuffs active, but triggers for low hp/mana, cleansing the boss or player, or whatever else can override those. It’s currently set to have 100% uptime on everything, but I’m kind of wanting to implement a “proficiency” stat that would basically roll the dice on the % that the follower queues up the skill, rerolling once every few seconds if not. This would then be tied to either training the follower (maybe battle experience) or getting a higher guild rank. I’m loathe to make even worse AI, but the naive goal is again that it might help with a sense of progression.

Speaking of the main point of progression: I’m not sure how I want to handle the greed and associated stats. More specifically, at what point does the AI want to refill the hunger gauge and how far over max, if any, can it go? For anyone that’s played something like noone’s fattytextadventure, that let you go 30% over the max capacity, but would lower your HP by whatever % you exceeded it. I think I might break things up into 3 stats which greed would augment: soft and hard minimums and a hard maximum fullness. At soft minimum, the AI would try to eat if there are no actions in the queue, hard would override the queue (except boss mechanic stuff). For what to eat, I think it would look through the inventory and choose whatever the largest item is that wouldn’t bring it over the max fullness. This would probably start around 5% over the actual maximum and reduce the action speed by that %, but greed would increase the maximum (with a FatDesire stat to reduce the effect?).

I guess capacity increases by remaining over X% capacity for Y amount of time. The other idea would be to increase by a small amount by hitting the max amount, similar to how yaffaif does it, but I think that leads to a less fun version of grinding. I’d hope to make greed/fat desire raise outside of battle through events, that way there’d be a way to increase everything without needing to interact with the combat portion of the game once your character is well off or you’re raising alts.

2 Likes

This update comes with a playable prototype for the combat system. Since it’s pretty different from most of the RPG games with turn-based battles, I wanted to get some feedback on the general feel of the game before starting on the weight gain systems and general quest/story. Broadly speaking, the two paths I’m considering would be an isekai-type setup where the content poses no challenge or going for a reasonable challenge/progression. Both would end up with the harem trope to collect NPCs and fatten them up, but the pacing and setting will be determined by which of the two approaches I take.

This demo is strictly a test for the combat mechanics, so there aren’t any WG elements yet. I’m also posting it for feedback in a Unity Tutorial discord, so the Stomach Capacity and Metabolism stats are renamed to Stamina/Action Speed for now. I still have to think through how I’ll be calculating gaining and distributing it to different body types, but the basic calorie/food system is in place.

Feedback is appreciated, especially if the fights feel too long/short. For bosses, I’m planning on them being 3-5 times the length of normal enemies, which will give enough time for scripted attacks and mechanics. Here is the link to the prototype test:

1 Like

After playing the demo I do want to say that it works really well on my end, and I feel that the fights are an appropriate length since they can each take a beating for some time. The only fight that seemed really one-sided was the slime but I think that’s pretty normal for a slime, and the difficulty is fine from what I could see since you can’t just spam buttons and expect to win. Blocking and dodging worked fluidly with the cast times. I’d like to say it was enjoyable and more power to your efforts.

1 Like

So, I gave the demo a try and died within seconds to the very first enemy I encountered. I admit that I didn’t thoroughly read the above posts, but I feel like doing so wouldn’t have helped me much. The demo does nothing to ease the player into the experience or let them learn as they go. It’s like the tutorial level from the original Driver; it seemingly assumes that the player is already proficient at the game. There’s no room to safely learn from mistakes with minimal punishment.

For your next demo, it’s very important that you have some means of properly teaching the player how the game works. I can’t imagine many new players having the patience to repeatedly catapult themselves at a seemingly insurmountable challenge.

Yeah, next demo will have a prologue quest that replaces the tutorial slides that are in place from the main menu now, which make it easy to run into this sort of issue. If you died within a couple of seconds, it was from missing the starting equipment available from the main area. If you ever bother trying the game again, they should be available from the first of the debug buttons along the top row. Either way, definitely reinforces that I’ll need a good tutorial to introduce players to gear and combat, so thanks for the feedback.

For this test, I didn’t auto-equip the starting gear because I was posting this demo to a Unity tutorial discord for the inventory system the game has in place.

3 Likes

Never really played a game anything like this before, but once I started to figure out the timing for dodges it was actually pretty fun for a barebones demo! If you could do timed attacks too that would be cool too. Also I thought the fists were kind of pointless because I would never use it when I had the powerful equipment but maybe its supposed to be a weak item? I wasnt sure.