July 2018 Devlog
This month I wanted to ensure that JARPUGâs battle mode worked well for multiple player characters. That required work on a few different things.
Character design for a new dog! GREYPOUND / BOLTHOUND
Like JARPUG / PUGJAR, this brave dog can shift between two different stances, wielding a car battery and sturdy antenna to get violent things done in an exciting variety of ways!
These characters have variable shoulder positions and widths as theyâre created by a fairly flexible character creator. That makes two-handed weapons a complicated thing to animate! I ended up programming a weapon holding system that aligns my dogsâ noodly arm bones with bezier curves ending in the desired hand positions.
Itâs no cure-all; I still need to be careful that the meshes following those bones donât get mangled by these relatively arbitrary arm lengths and positions. But now I can share weapon animations across a wide array of dog shapes and sizes!
Battle design: Bending time, scampering dogs
In JARPUG you run around between turns before choosing the actions for your next character. It feels actiony and adds a nice layer of positioning strategy for avoiding attacks, grouping up for defensive spells, etc.
Running around in a turn-based battle is simple with a single character, but things get complicated with multiple characters. How do I ensure every character has enough time to run around between turns? How do I keep things from being too slow when every player character has move turns and performs actions in battle?
Most JRPGs with this sort of ârun around on the fieldâ battle action solve these issues by giving the player control of one character while AI teammates run around and choose their own actions in real time. That gives the games an actiony MMO feel. Thatâs not my goal for JARPUG.
In JARPUG I want players to run around between turns without giving up explicit control of their party. But I donât want it to take forever or leave characters standing around hapless and helpless while youâre controlling someone else. I implemented new battle time and movement systems get that done.
Battle time system
To ensure every character gets a good amount of time to move without freezing the action, a new battle time system figures out turn order based on character stats and then adds gap times between turns.
So while the characters are all scampering and dodging in real time, theyâre also guaranteed a minimum amount of time between turns for moving. I think itâs a pretty simple and intuitive system for players. Hopefully they wonât notice it much at all.
It sure was a pain to update everything from the old âactive time battleâ style system, though.
A nice bonus of this is that Iâve got an easy way to calculate the turn order for the next several turns and could show that in UI somewhere. Thatâs a personal favorite strategy element of mine in turn-based battles.
Battle movement system
Thanks to the new battle time system, I always know which party member is ânext upâ in the initiative and can give the player movement control over them until itâs time to choose an action. During that time theyâre directly controlling that characterâs movement and can also command their teammates to group/scatter.
The AI for teammate movement is as simple as I can manage. I want it to feel fast and predictable for the player. Itâs not as accurate as individual joystick controls would be, but itâs simple and gives you quick ways to move teammates out of harmâs way.
Iâd like to name those commands âshoo!â and âhere doggy!â, but keeping this readable for VR necessitates things be clear without extra explanatory text. UI design is heartbreaking sometimes :(.
While itâs tempting to force âhard strategyâ on the player by adding friendly fire for area attacks or âhazard zoneâ style attacks, the team movement controls probably arenât going to be precise enough for that to be fun. Just avoiding enemy area attacks and trying to stay in âbuff zonesâ should keep folks busy enough!
New battle background
The old battle background was tiny and complicated. I simplified it while making things more circular and spacious. Iâve still got some decisions to make about camera distance and battleground size, though. The current up-close camera feels great in VR, but it could complicate strategizing.
I think next month will also be spent working on battle stuff, with a dash of character stats injection. Iâm hoping to create actual unique attacks for each player character and start doing a better job of differentiating their different stances, both in UI and gameplay.
Bye!











