Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411491 Posts in 69371 Topics- by 58428 Members - Latest Member: shelton786

April 25, 2024, 04:19:17 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsTacticrawl | 2018 progress report
Pages: 1 ... 5 6 [7] 8 9
Print
Author Topic: Tacticrawl | 2018 progress report  (Read 69893 times)
deab
Level 2
**



View Profile
« Reply #120 on: July 10, 2016, 06:35:54 AM »

Update #42
Corpse and body parts

Over a month since last post here, but I'm back after a few weeks of paying work.

UI improvements
From my first play test session back in June, the only major feedback was frustration when attempting to attack a character not in view of the current player character (invalid or our of range targets are darkened and can't be selected).

There was a reason for this - turning to face a different direction does have implications: combat takes the side attacked from in to account; field of view is based on each characters facing direction; and turning has a small turn time impact.

To resolve this, character now auto turn when required. Any in-range target is selectable, but with a yellow double triangle icon overlaid to indicate the turn:



It's a nice change, and removes both a complexity and a few mouse clicks.

I've also run 2 more play test sessions with new first time players, and only received minor display related niggles which I'm addressing.

Corpses and body parts
Until now a dead character left a corpse behind, but there were no further interactions. I've now fully integrated corpses as a state. A corpse blocks the tile it's on, and can be moved (if you have the strength) or destroyed.

If the killing blow does enough damage, the corpse is instantly destroyed, so if a player wants a corpse left behind (and there will be reasons to do so) you may wish to check your killing blow isn't too powerful.



When a corpse is destroyed, body parts are left behind (equipped items are dropped on death). These will be picked from a drop list (when loot pools are added), but for now are hardcoded.

What use are body parts? Planned uses include food (flesh, eye chunks), weapons (eye horn, bones) or spell reagents (an eyeball used for sight related spells etc.). Monsters will also be able to use/eat body parts.

I'm also planning to add a 'scavenge' function. This will take a couple of turns to complete, but will yield more parts from a corpse - so if you need something, best to ensure a corpse drops and isn't destroyed.

Corpses will also be useful to necromancer class (which is some way off). Both players and enemies will be able to use this class, so you may want to destroy a corpse before it's raised as an undead enemy.

Other Changes
Lots of other changes and improvements over the last couple of weeks.

  • Asset creation workflow improved (new props are now very quick to implement).
  • Map editor has received a clean up pass and a few new features.
  • UI - healing spell now auto selects character with lowest health.
  • Context menus fixed a longstanding glitch on display.
  • Enemy AI will now target any character in range if most hated is out of range (Root effect, as in Everquest).
  • Weight, strength, hitpoints and damage values all re-balanced.
  • AI characters will destroy a corpse if they can't move it.
  • Numerous bug fixes and asset clean up.
Logged
deab
Level 2
**



View Profile
« Reply #121 on: July 11, 2016, 06:46:12 AM »

Tacticrawl!

Time for a rename.

One of the biggest (if not THE biggest) challenges for an indie dev is getting your game noticed. When I finally list on Greenlight, I need to stand out to anyone with an interest in tactical games and or dungeon crawlers. I can't just rely on people who take the time to read about my game, or watch a trailer. I need the name to have the maximum impact and increase the odds of gaining the attention of potential players.

The name 'The Ever' just doesn't do that. The name means nothing in a list of games. I don't have any attachment to the name, so it's easy for me to move on. I'm not trying to tell a story, I'm building a platform for interesting, dynamic battles.

Tacticrawl does what it says. If you aren't into tactical play, and don't enjoy crawling through different maps, you aren't likely to enjoy this game. I hope you like it!

Logged
deab
Level 2
**



View Profile
« Reply #122 on: July 13, 2016, 05:43:27 AM »

Game loop is complete! The game now ends when all your characters are dead (as opposed to just locking up).

You can pan around the map and examine the world plus the combat log to see what went wrong. The grey screen is the result of no current vision, showing your memory of the world, but is quite effective as a sad 'you died' look!

Logged
deab
Level 2
**



View Profile
« Reply #123 on: August 01, 2016, 03:16:31 AM »

Update #43
Animations!

My plan has always been for a maximum of 4 player characters, as this is the minimum to split in to equal sized teams and should allow for interesting class choice (initial plan just warrior, cleric, range and wizard).

I've been holding off adding the 4th character as I knew the art/animation needed an overhaul - I've learnt a lot since the current characters were created, and they all have different rigs. So I wanted to create a better humanoid rig, then use it across all humanoid characters.

I also wanted to simplify things. I was using 3 animation layers - torso, left and right arms. Bit of a pain to manage, and really the payoff wasn't worth the extra effort.

I was also using the Macanim 'humanoid' system and this seemed to create a few glitches that I just couldn't fix. The only
advantage of this was I could mirror animations, but my Blender skills have improved enough this isn't such an issue.

Simplified!

Here's some samples of the new anims. As with everything, a work in progress and will be continued to be improved, but these are a huge improvement on the previous efforts. Note the simplified skeleton model -  previously had the finger and feet bones modelled, not really in-keeping with the style so I've simplified this model.


So I'm now using the same rig where possible which is easier to control with a better IK set up. I'm only using 'generic' animations in Mecanin - so all glitches are gone, what I create in Blender appears in game as designed.

Single layer, so I don't need to worry about complex animation graphs. I've also removed root motion. So much easier to create walking animations now, and if the character is the camera focus, I track the hip bone for smooth tracking.

Barbarian
With this work done I've added a new character - Periin the Barbarian Warrior (work in progress - no real armour detail yet.) As with many of my characters, I'm using the original Everquest as a reference, so my barbarians will be wearing furs. My reference shot is show on the right:


Would love any feedback!

I've also added support for closed eyes using shape keys - corpses will now close their eyes, and I can also add random blinking. I plan to also use shape keys for variations in the monster, similar the sliders in MMO character creators.

Whats next?

So now I have 4 player characters in I plan to work on the turn ordering and UI. Currently turns can vary in length and there's no feedback on the impact of this. I also want to ensure the character control isn't tedious with a 4th character (turns are character based, not team based).

Logged
deab
Level 2
**



View Profile
« Reply #124 on: August 03, 2016, 04:52:47 AM »

I build the wall sections dynamically from a few parts, based on the surrounding walls:



The walls are built to ensure no gaps, while using the fewest possible parts (1 sides wall, half wall, external corner and internal corner).



I added doors a while back, but currently props must remain within their tile bounds (due to the way lighting is applied) so I coulnd't include the frame. I also want to support double doors at some point. Result was ugly gaps at the edges of doors.

I've finally got round to fixing this. Once a wall tile is assembled and rotated ready for use, door frame columns are now added to any corner with door adjacent. Before and after:





Logged
deab
Level 2
**



View Profile
« Reply #125 on: August 08, 2016, 01:09:10 PM »

Upgraded to Unity 5.4 today, and apart from having to tweak animations that run backwards, seems to be issue free so far. In fact noticed 10%+ increase in framerate for my debug test scene:


Logged
deab
Level 2
**



View Profile
« Reply #126 on: August 09, 2016, 09:15:28 AM »

To celebrate finally fixing a nasty bug with a 'Visual' system I added months ago for animated effects, I've now added a 'stunned' effect:



Just a couple of cubes spinning on a bone for now, but I had to (a) add stun to the game, and (b) extend the Visual system object pool to support multiple types (I already have a 'rooted' effect).

Plans for 'stun' are a 1 turn duration, ranged wizard spell (useful for interrupting longer spell casts or stopping runners) and a longer melee action, likely requiring a shield, for the Warrior.
Logged
deab
Level 2
**



View Profile
« Reply #127 on: August 23, 2016, 10:31:40 AM »

Update #44
New UI, Spell effects

Lots of progress last few weeks!

New UI
A coupld of testers had disliked the fact you couldn't left click to select a target.

There are two ways to perform an action:
  • Choose an ability/item from the displayed icons, then pick from the available targets. Finally click a confirm button.
  • Right click a target for a context menu.

This led to some confusion (and meant there were two code paths for the same outcome).

I've now redone the main control UI. The context menu is unchanged (and still required due to the large number of options). The icon bar is now flipped over - click or tab select a character (or left click an object in the world), and your command bar highlights available options.



The command bar also includes 'Wait' (skip turn), and context button (open/close/get/light) based on the target, and a 'repeat' command for when the last action is repeatable.

This seems to work better, and makes more sense as it both control methods work in the same order - target, then action.

Spell Effects
I've also expanded my existing 'visuals' system (used to display temporary effects) to include particles. Currently two types, one parented to a hand, another that uses a circle around the character:



Spells can determine the colours used, and I'll be adding different shapes two. More work to do here, but off to a great start.


Misc Changes
Loads more since the last update, mostly behind the scenes. Here the highlights:

23/8
Visuals added 'stun' type
Turn order simplified, turn number increases when all Pawns have acted.
Effects refactored, code much simpler.
Snare added, pre-uses next turn when moving.
New debug tools, Action log and SHOW_VISION, SHOW_PATH.
IsOrganic added to Substance - non organic Pawns immune to stun.
Stun and Skip status added to turn icons.
Visual (root) scale based on target actor bounds.
FoV improved edge of vision / corners.
Race.Type added (living, undead, summoned)
Vs undead nuke added
New selection based UI - choose target then ability. Targets highlighted, and no longer require extra confirmation buttons.
HeadCam simplified, now boxed in and supports particle effects.
Particles added to Visual system - casting now shows 2 particle effects, one following each hand, and a ground based circle.


Logged
deab
Level 2
**



View Profile
« Reply #128 on: August 31, 2016, 08:22:39 AM »

Quick update before a long weekend away. I've continued to flesh out the 'Visual effect' system. Old particle torch effect has been updated to the new system, so I've added the ability to light or extinguish torches. Added a new 'firepit' prop for make the most of the effect:



No gameplay effect other than the lighting, but I have plans!

I recording gameplay footage for the first time, which highlighted a few improvements required to the camera handling. Got a few ideas so I've made a start on this.

Change list since last update:

  • HeadCam use static icon if not a Pawn
  • ToolTips added mouseover delay
  • Impact tracking added for feet/claws, dust Visual shown.
  • Effect Stun now played first idle anim only.
  • Idle animations overhaul, now code controlled, low chance to play anything of than first.
  • Removed first person view.
  • Spells added Visual effect on target.
  • Action camera now also used for player character; HeadCam on for action camera.
  • Director class added to control camera (WIP).
  • Props can now be set up with a Visual effect for 'lit' state.
  • Props (torch and new fire pit) can now 'light' or 'extinguish'.
  • Shader/material overhaul memory/fog for actors no longer use fog map, but different material (fixes doors, and allows for actors larger than single tile).
Logged
miguli
Level 1
*



View Profile
« Reply #129 on: August 31, 2016, 09:13:02 AM »


I like the model of this fellow, but human models look too 'odd' like they are stoned or something.
It looks bit yank-y when they move their heads around while idle, but there is no eye-movement.
Logged
deab
Level 2
**



View Profile
« Reply #130 on: August 31, 2016, 12:36:46 PM »

I like the model of this fellow, but human models look too 'odd' like they are stoned or something.
It looks bit yank-y when they move their heads around while idle, but there is no eye-movement.

Thanks for your comment, be interested to hear your thoughts once I get a gameplay video up - hopefully in September.
Logged
deab
Level 2
**



View Profile
« Reply #131 on: September 11, 2016, 05:11:28 AM »


Light levels now affect your vision range. Some races are able to see further than others in low light. Here's a barbarian (average vision) in a dark area:


Logged
deab
Level 2
**



View Profile
« Reply #132 on: September 17, 2016, 03:50:39 AM »

Screenshot Saturday!

New door fade effect:


New bow firing anim:


Logged
deab
Level 2
**



View Profile
« Reply #133 on: September 20, 2016, 05:52:29 AM »

First video is finally done and live! Would love any feedback Smiley



« Last Edit: October 09, 2016, 09:21:38 PM by deab » Logged
deab
Level 2
**



View Profile
« Reply #134 on: October 10, 2016, 05:21:59 AM »

Update #45
Utility AI & Influence Maps

Enemy AI work had been on hold for a fair while - I had a number of states an AI could be in, allowing enemies to patrol, engage, hunt a lost target or flee. I knew this was going to need a rethink as the code was already becoming a mess to work with, and I have a lot more I plan to add.

After going though my list of AI resources I settled on utility based AI systems, as described by Dave Mark in this GDC talk.

Utility AI is based on scoring multiple actions to find the 'best' action to take. Each action can have multiple considerations (for example my health, target health, hunger level) which are evaluated to produce a final action score. The highest scoring action then wins.

The beauty of this is you can build simple, self contained conditions, used by multiple actions. Once the framework is built, you can build complex AI without complex code based logic. As every consideration modifies the final action score, once multiple actions are included the AI much more varied.

Although my focus was on migrating the existing AI behaviour in to this new system, it was easy to also quickly expand the behaviour.

For example, previously an enemy would enter FLEE if < 25% health. Now FLEE is scored based on considering own health, number of enemies vs allies, and the ability to move. This is already leading to more interesting play - if a fleeing enemy encounters a ally, he may return to combat.

My next goal is to allow an AI caster to use root/snare effects, and to use healing ability to heal themselves or allies.

Influence Maps

To feed positional data into the new AI I also added Dijkstra or influence maps. Currently I'm using these for both 'flee to safety' and 'reposition based on threats' for ranged attackers.

Here's an example of an Eye re-positioning away from my character - basically moving to the nearest, highest scoring tile:




Tree View

Starting the Utility AI, I wanted a much easier way to test and debug. Previous AI just dumped massive amount of text to the log. A log I could show on demand, in game, that was also structured so could be expanded/collapsed would be ideal, so I spent a couple of days implementing this:



In this example you can see the Actions scored, and when expanded, the considerations that led to the final score.

It was well worth the effort, and I'll be converting all my logging to this system. It's also a lot more convenient when working on a laptop (I use 2 screens at home).
Logged
deab
Level 2
**



View Profile
« Reply #135 on: October 29, 2016, 01:02:33 AM »

ScreenShotSaturday - new Wizard ability

This week I've been working on a 'shadow step' escape ability for the Wizard class. Shadow Step places the character in an unblocked tile somewhere ahead. You can't selected the tile, but you can influence it by facing the desired direction first.

Logged
deab
Level 2
**



View Profile
« Reply #136 on: November 05, 2016, 01:29:06 AM »

ScreenShotSaturday

New Goblin warrior model with wooden armour:

« Last Edit: November 05, 2016, 05:04:33 AM by deab » Logged
deab
Level 2
**



View Profile
« Reply #137 on: November 07, 2016, 09:18:20 AM »

Update #46
Abilities & Characters

Haven't posted a full update for a while but a lot of progress made.

Class Abilities

I've added a number of new class based abilities, and my aim is to update the AI as I go so they are used.

I haven't yet add a mana resource, so existing effects (direct damage nukes) can be cast every turn, but this will be changed. All spells with a duration are currently 'maintained', so can only be cast on a single target. Recasting ends the previous effect.

With all abilities the aim is to allow multiple uses. For example, the 'Root' effect can be used on items, not just characters (preventing the item from being moved/picked up). Abilities can also be used on your own team - if one of your team is charmed or feared by the enemy, you can attempt to lock them down.

Here's the abilities so far (excluding basic damage spells here).

Warrior Charge

Move 2-5 tiles in a single turn, and if any blocking actor is encountered, knockback 1 tile. If a character is hit, stun effect applied (unless immune).

You can target a tile or actor, but the first blocked tile will end the charge. UI overlay will show the path.

Intended as a way for a melee character to close the distance to a ranged attacker, but also useful moving around or re-positioning an item or character.

5 turn cooldown. Still needs a graphical effect.

Charge in use shown below, needs an effects pass, and the timing isn't quite right:


Wizard Shadow Step

Step into the shadows, emerging at a random position.

The wizards escape ability, although you can't determine the exact end point, you can limit it by turning in the desired direction. Only open, visible tiles are considered.

Like the Charge abilitiy, this is also useful for moving around the map quickly.

5 turn cooldown.



Ranger Snare

Slow your targets movement speed. If a snared target moves, their next turn is missed.

No cooldown (will be a mana or reagent cost).

Ranger Spirit of Wolf

Doubles your targets movement speed. Moving only takes half a turn, allowing 2 moves before a turn ends.

Useful for exploring, or getting out of trouble.

No cooldown (will be a mana or reagent cost).

Wizard Root

Prevent your target from moving. Direct damage abilities will have a chance to break the root effect.

Lasts 5 turns, no cooldown (will be a mana or reagent cost).

AI & Abilities

I've added all current abilities to the new Utility AI system. A ranger enemy will buff themselves, or if they see an ally trying to flee, they *may* buff them (depends on their own needs - so no guarantees! Rangers will also consider snaring an enemy based on the current threat level and attack type.

An Evil Eye (a Wizard) will root an enemy based on a number of considerations (for example less likely to root a ranged attacker). Shadow Step is used when trying to escape, after considering a suitable direction.

Even as the developer, I can't predict what will happen turn to turn - very exciting!

Character Types

With more varied classes it was time to revisit the 4 enemy models I have (all picked to represent different types, there was a reason I created a rat, skeleton, goblin and eye!). After a clean up pass of the Goblin mesh, rig and animations, I've added a simple system for adding multiple models per FBX.

Idea is to allow maximum assets with minimum effort. I've added a 'character' class that specifies a name, race, class type, prefab + skin and equipment to spawn with. More work to do on the models, but its great to finally break the old link between a enemy spawn and the Prefab.

The Goblin now has a warrior and ranger skin, and now using more interesting names - a goblin hunter, a goblin battler - and won't be showing the actual class type. A player can work this out based on the equipped items and abilities used.




Logged
deab
Level 2
**



View Profile
« Reply #138 on: November 11, 2016, 03:14:43 AM »

New characters: goblin skeleton and a skeleton wizard.

Logged
deab
Level 2
**



View Profile
« Reply #139 on: December 17, 2016, 03:23:43 AM »

Action Point based turns!

I originally planned a team based roguelike. I liked the emphasis that single step turns gave to the positional and direction based combat (can't dodge/block attacks from behind). You could react to every enemy move - no appearing from nowhere, moving towards you and attacking before you get a turn.

Turn order was based on the lenght of time an action took - for example, move diagonally took 40% more time than a cardinal direction. Turn order was always changing, and your characters were mixed in with the enemy/other characters.

Although on paper the original design sounded interesting, it was just too hard to play - you couldn't really plan as the turn order would change, and due to the one step turns, was to be honest tedious. I tried to counter this, adding an 'orders' system - FOLLOW, DESTROY, GUARD etc. - that would auto act your characters. This helped, but the root problems still existed.

It was also frustrating that due to the turn order system, your characters had to act in the existing order - if one character was in the way, you may have to skip a turn on another character (again a 'swap position' function was added, but this was also avoiding the issue).

The single step turns has also been the most common criticism I've received.

Keep It Simple..

A few months back, I decided I needed to simplify the project and concentrate on the real important and fun parts. First step was to simplify turns - they were changed to always be the same length. This effectively mean turn order never changed, so I then fixed the turn order based on starting character status, with all player characters first.

Finally I've implemented action point based turns. You can now move each character up to four tiles per turn, or 2 tiles and an action. I've also loosened up on some of the other rules - you can pass through a tile occupied by a non enemy as long as you can reach a free tile. Characters can act in any order, even start moving one character, then swap to another, then back.

I'm really happy with the results! Play is much more fluid, with more use of the battlefield. I'm still updating the AI to fully utilise the longer turns, but I'm confident this is the right direction.

Video - Turn Change, New AI, and Visuals Update

I recorded a short video covering the changes in the last few months:



Logged
Pages: 1 ... 5 6 [7] 8 9
Print
Jump to:  

Theme orange-lt created by panic