Early look: Turn-based tactics in Demo Town

WoW. Impressive progress :clap:.
:hugs: for all the ‘thanks’ …though I have the feeling I didn’t do much. :face_with_hand_over_mouth:
I will return on it a little bit later (right now is a bit busy :sweat_smile:)… and I let you have my shit comments (as usual :rofl:).

1 Like

Things I wish I had known before I started

  • Havok can take in a TransformNode into the PhysicsBody.
  • You can just put boxes around a complex mesh in order to make collision computations easier.
- root.glb
  - displayMesh
    - collider1Mesh, collider2Mesh ...

const collider1Mesh = get();
const collider1TF = new TransformNode(collider1Mesh.name);
copyMatrix(collider1Mesh, collider1TF);
copyMeta(collider1Mesh, collider1TF);

const pShape = new PhysicsShapeMesh(collider1Mesh);
const pBody = new PhysicsBody(collider1TF);
pBody.shape = pShape;

//etc. for collider2Mesh...

class GameObject {
  addCollider(colliderTF) {
	  node: colliderTF,
	  entity: createEntity(colliderTF.meta),
	  //physics: colliderTF.physicsBody

var nodeGameObjectMap = new Map<TransformNode, GameObject>();


collider1Mesh.dispose(); //<-- :)

Note that if you have associated material data with a collider, you can spawn different impact effects (etc.) per collider on the same 1-material display mesh.

You can now also do some optimisations with the display meshes (like merging) because they are not needed anymore for game logic.

If you are in a low poly environment, you can put this to the extreme.

Visual world:

(This is one large “mega mesh”)

Logic world:

Any thoughts or improvements welcome :slight_smile:

Update: v0.0.3

:boom: Destruction cleanup

:fire: Brand new inventory

Check it out now

:joystick: https://jokrgamedev.itch.io/demo-town-tactics

:speech_balloon: Do yell at me if something sucks or drop a feature request!


Try if you can break the inventory. It has banking level security and architecture :grin: Seriously though: this item inventory is the most complex beast with so many cross cutting concerns all over. :astonished:

What happened since the last version:

  • Inventory
  • More items to play with
  • More fluid scene controls. Clicking and hovering on stuff feels way better now.
  • Multiple player characters can move around at the same time (because why not).
  • Neighbouring walls are dynamically detected now.
  • Fixed wrong color of destructible debris and effects.
  • Destruction smoke is less transparent now and looks way better.
  • Now can predict actor stances/postures of any animation state. Not only eliminates inaccurate estimates but also saves raycasts!
  • Fixed preview of walkable area showing too few grid cells.
  • Shooting does not wait anymore for the projectile to hit but gets ready once the projectile left. 90% less annoyance now.
  • Much nicer shadows - with a single boolean. Love you Babylon :heart_eyes:
  • Now using the word “now” very often.

Awesome progress there :open_mouth: I wish I could say the same on my project :sweat_smile:… though, I’m very close now :hourglass_flowing_sand: :relieved:
It’s funny like your inventory kind of gives me the feeling/memory of the first DeusEx (at least for the shape of the icons and the icons themselves… still different, like simpler and more adapted to the overall pixelart design… but, yeah just something from it). I know how complex it is (and will sure try to break it when I get the time to try :grin: :rofl:) but just like that, I think (sorry) it is still a bit ‘messy’. May be you should try make it a bit better structured. I mean right now, it’s not obvious to me to make the difference between the placeholders (body and pocket parts) and the (assigned or unassigned) inventory items. If I get chance later this weekend, I’ll try to explain my point with a quick draft. But, yeah, currently, this would be my “useless designer’ shit comment” :joy:… I’ll be back… :grin: Meanwhile, have a great day :sunglasses:

1 Like

Nice! I have been waiting for the update. Keep the hype going :steam_locomotive:

To be honest the version I publish on Itchio is not a “nightly”. For instance I have a huge chunk of the strategic game already working but it is still too rough (among other considerations). The inventory you see now is the 4th complete rewrite and it took weeks to get there. So progress is actually creepingly slow. :face_exhaling:

lol, I might have maybe outsourced the structuring to CSS flexbox: like here are my components, please make them fit on screen :grin: But I think the off hand slot (bottom left) causes some of the mess. It does not really fit anywhere because of the attachment slots of the weapon slot. These attachment slots can be all around the weapon slot (ammo, scope, battery, muzzle). So the off hand slot either is in the way or does look out of place. Hm, I need to think about it some more and google image search a couple of inventories.

Oh, I think I see what you mean. Is this better:

Never ever. One thing I have learned a) to listen to and b) to appreciate the input of designers. In fact, you guys are just some sort of magicians to me like creating a drawing, design, css, layout, palette etc. literally out of nothing??? What is this sourcery :exploding_head:

1 Like

Kind of :face_with_hand_over_mouth: It’s still not very clear to me, but I might be a bit dumb :grin:
Tell you what: For me, it’s likely because you are trying to bring everything into a single screen. We are used to have ‘character information’ that can come along with ‘skills’ and can also allow to select from ‘the inventory’. I believe this is what you are trying to do here, is it? However, this needs to be very well structured or becomes confusing. Like I’m unsure what the empty box below ‘pocket slots’ is? Is that supposed to be my ‘backpack inventory’? What is the stash? Something that I’m not carrying but can pick from to put in my backpack or equip when going on a mission? How many slots do I have for carrying items on a mission? What’s the second icon to the left in ‘body slots’ (the one with a silhouette and some sort of hierarchy)?… May be a tooltip when hovering these would help.

Then, (from the demo) if I select this bazooka which I believe is in ‘my backpack’ (is it?), I can equip it to what seems to be the ‘secondary weapon’. Here, I believe it would be good if when you click to drag, the slot in which it can be equiped would highlight. Or else, just right-click (or something) on item to directly equip in appropriate slot. Once equipped, the item in the inventory should also have some visual fx which shows it’s equipped (vs unequipped). The first and secondary weapons could be aligned or one under the other (in my opinion - design thingy - personal opinion). I think first and secondary weapons could do with a title (“First weapon”, “Secondary weapon”). The ‘dismiss’ text to close the panel could be replaced by just a cross/close icon.

Today’s sunday is ‘Mother’s day’ here in Switzerland and I’m still working on the release of my scene as well; so I don’t really have the time to draft a visual representation of the above comments.
Hopefully my explanations aren’t all too mysterious and you understand (at least part) of what I’m trying to say here? :face_with_hand_over_mouth: …Else, 'chat with you later and meanwhile, have a great day :sunglasses:

1 Like

Yep, Mother’s day here as well. And a sunny sunday. And she even got me some cake. My mother is the best :smiley: (Well, everyone’s mother is the best I guess).

No, not at all! If I leave you that puzzled as a player, I f’ed up big times. This needs to be improved. So thanks mawa for giving me your feedback. I will be back and I am going to impress you like I never have impressed anyone before… :sunglasses: (lol, keeping the pressure up. I cannot possibly f this up now. :upside_down_face:)

1 Like

Update: v0.0.4

:drop_of_blood: Bloody new effects (there is more to come :smiling_imp:)

Music: SOUND AIRYLUVS by ISAo https://airyluvs.com/ (OGA BY 3.0)

:fire: Next iteration of inventory (not final iteration)

:brain: AI upgrades

Check it out now

:joystick: https://jokrgamedev.itch.io/demo-town-tactics

:speech_balloon: Do yell at me if something sucks or drop a feature request!

What happened since the last version:

  • Cleaned up and restructured inventory (thanks @mawa)
  • Tooltips over inventory slots (thanks @mawa)
  • Ctrl right-click on inventory items to quick-move (thanks @mawa)
  • Swap button for main-hand and off-hand inventory slots
  • Highlight related inventory items of the selected item (e.g. compatible ammo of selected weapon)
  • Spam clicking on item could prevent draggable clones from being cleaned up
  • AI knows what choke points are
  • AI can sneak up on you
  • Figured out that you can store data in vertex colors - mind blown :exploding_head:
  • Speaking of which: Head shots :smiley:
  • More variations of blood splats
  • Bigger blood splats
  • More blood particles
  • Gibs on walls
  • Destruction debris in 1 draw call
  • Started cleaning up “observables mess”. Now a bit more declaratively and unified interface with mediated callbacks. Should lower risk of bugs.
  • Pixel perfect camera switching (between Arc- and Universal camera)
  • Some laggy effects are secretly prepared and will not interupt animation sequences anymore
  • Substantial progress in designing/building strategic gameplay loop (not public yet).

Nice update !!!

1 Like

“Wouldn’t it be super cool to have a fancy screen, instead of this ‘box’, showing you why the mission just ended and listing some exciting stats and achievements?”

Looking great, and very polished (no obvious bugs). :slight_smile:

Ok, I might have been a bit lazy here… :crazy_face: I thought I could get away with it until I publish the Stategic gameplay layer. There you will get a proper debriefing report. But I can add something nicer for the meantime.

:cloud: Fluffy soft particles

Before (hard transitions on ground/shack/character)

After (fluffiness +200%)

Based on simondev

1 Like

Huh, now this went surprisingly well:

Thanks to @phaselock and for the simple tip to just google for “vfx trails:+1:

FYI, in the video that is not a real trail. It is a ribbon with a texture that gets scaled on u. Still needs some proper fade out (shader) effect.


Do you need multi-shots/repeating shots? Trail mesh currently does not support it, I forsee use cases where having the trails reset as needed might be as useful to reduce the pool of bullets+trails, ie, savings on resources and bandwidth.

1 Like

You mean multiple trails in one mesh (/1 draw call)? That would be sweat :slight_smile:

But to be fair, all the bullet stuff (and effects) I just createInstance/dispose on-demand. No real impact on fps. But then again it is not that I spawn in 1000 bullets more like 10 at max.

Oooh no wait. There could be cinematic gameplay states where a bunch of characters fire at each other at once. This might get stressful on fps!

You can already do this via shader. What I meant by multi-shots/repeating shots are like the SMG or Uzi in, say, Call of Duty where there is a sudden burst of bullets at a target. The norm is to use object pools for tracking each bullet, reducing bandwidth from object creation/dispose.

hmm, you are right. For turn-based, there won’t be many bullets on screen at once.

Currently, when a bullet resets and fires again, the trailmesh may not yet have caught up to the new position of the bullet causing visual artifacts. I think I will add a reset method to the trailmesh class.

Sorry for the confusion!