# X-Town Tactics (super early access)

**URL:** <https://forum.babylonjs.com/t/x-town-tactics-super-early-access/48587>\
**Category:** Demos and projects\
**Tags:** nme, havok\
**Created:** [March 7, 2024, 8:58am UTC](https://forum.babylonjs.com/t/x-town-tactics-super-early-access/48587 "2024-03-07T08:58:47Z")\
**Posts on this page:** 1\
**Showing post:** 54

<div class="post-metadata">

**Author:** ![Joe\_Kerr](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/joe_kerr/32/39017_2.png) [@Joe\_Kerr](https://forum.babylonjs.com/u/Joe_Kerr)\
**Post date:** [May 23, 2025, 10:36am UTC](https://forum.babylonjs.com/t/x-town-tactics-super-early-access/48587/54 "2025-05-23T10:36:40Z")

</div>

# Update: v0.0.6

🎞 New batch of animations: getting over obstacles, shooting variations, big ass melee weapons, and reactions to certain events (e.g. cover blown away)

 ![anims](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/5/7/576d5b4d92e9ab21d989b3916bfb986949d34cdc.jpeg)

🦘 New ability “Evasive Cover” - lets you get into cover without triggering enemy reaction fire

 ![evasive_cover](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/5/2/5246b2578b9d056407aaaa8025966f16e4e8253e.jpeg)

🤖 Evil space robots - OMG what are they doing on Earth??! 😮

 ![evil_robot](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/4/a/4ad90d97d053f146163da4818129c7131fa11090.jpeg)

_(Screenshot taken from intro)_

🎥 Speaking of intro: it is cooking… (Making this is so much fun!)

 ![intro](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/c/f/cf77369114e1f1bbaea05e41d5c5be77cc38a67f.jpeg)

⭐ Perks give extra advantages (or disadvantages) to your chumps

 ![perks](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/2/9/29e475feab6c9acf0237525b175b2682b5627152.jpeg)

🏭 First working procedrual level generator (not public yet; need to produce more assets)

 ![lvl_gen](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/d/4/d40077f2717d040767dd49b25284bbbd537f983e.jpeg)

🌐 Strategic game now functionally ready (not public yet; need to add more story/research/content)

 ![strat_preview](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/7/8/7883937f9bff7df2aca1265ab250f273d60cfa40.jpeg)

(_some elements redacted_)

🍰 New mechanic: Sweet spot. If you are close to an enemy, you cannot miss a shot (same goes for the enemy though 😛 )

* * *

# Check it out now

🕹 [Link in first post](https://forum.babylonjs.com/t/x-town-tactics-super-early-access/48587/1)

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

* * *

# What happened since the last version:

> - I took a 3 month or so “Christmas break” ;D
> - A lot of trial and error with procedural level generation. Toughest nut to crack so far. Funny, btw. Coming up with the desgin/architecure/idea took me like how many months? Once I had it, the code was implemented in 2 hours 😃 It is not public yet because I need to produce assets now - lots of assets. tl;dr: I roughly follow the Xcom 2 approach. Design tiled “mini dioramas” that get randomly placed on authored high-level layouts.

# What happened **really** since the last version:

> - It is getting gamey, guys! I have started working on the Intro. It is going to be a slide show with pseudo animations (comic like - remember Xcom Ufo?).
> - Related to that, initial story is now set in stone along with a bunch of story elements and game world rules.
> - Added some experimental attributes: strength, dexterity and reaction. Also introduced computed attributes that scale with others (e.g. carry weight ← strength). I might change that around a lot depending on how it feels like.
> - Sweet spot mechanic: Don’t you hate it in games when you miss a shot despite standing right next to the enemy? Now you get a guaranteed hit if you stand 1 tile diagnoal to an enemy (if you can make it there…).
> - Info box for ground tile related data such as loot, dangers, benefits, etc
> - Chumps have perks now
> - Chumps can now learn the ability “Evasive Cover”
> - Weather effects (dust storm)
> - Animation streaming: now can support unlimited animations at no loading time cost (this is huge actually, shout-out to @labris who helped a lot [here](https://forum.babylonjs.com/t/importing-parsing-animations-from-gltf-takes-too-long/54134))
> - Animation sequencer allows more complex mixed authored and procedural animations (given a nav path, e.g., run, jump over obstacle, slide, go into low cover)
> - Additive animations substitute missing animations in item sets (e.g. use additive GetHitWithRifle on regular CrouchIdleWithPistol to get CrouchGetHitWithPistol)
> - Refactor of animation states and playback: run procedural animations along AnimationGroups, wait for animation events, automatically figure out animation chains (state tree)
> - Added a couple of “vault over” animations, shooting heavy rifle and machine gun, 2-handed melee weapon set, idle animations and even did some myself
> - Proper throwing arc altering between low and high angles as well as accelerating/declerating projectile behaviour (doesn’t look crap anymore)
> - Also proper throwing rules: strength and weight determine range while dexterity determines accuracy
> - Actors are now decoupled from actions. While, before, missing animations gracefully voided the play-request, the e.g. underlying move action still executed. I can now have actors with incomplete animation sets (e.g. robots do not go into cover saving me the work to design the entire cover animation subset).
> - Enabled anti-aliasing (canvas MSAA). Looks nicer but takes away the pixel look. Not sure whether I keep it. For now decide for yourself: it can be toggled in the game options.
> - Base hemispheric light replaced by IBL. Looks nicer I think. But there is some camera angles which are too dark.
> - Figuring out mesh use cases (for physics, navigation, cover) programmatically saves me a ton of data entry. Expect some quirks though since I may need to fine-tune some conditions. (You know, when is no-physics-clutter small enough to count as clutter?)
> - Resolved age old issue how to avoid revealing hidden enemy when previewing a navigation path: “preview path” is now shown straight through hidden enemies while the “move path” will stop the player right before that enemy (so you better plan carefully you next move 😜 )
> - Much cleaner control flow: input states\*\* (click, hover, etc.) drive action states (preview, select, confirm). Plus overlay states (render stuff depending on other states) - tl;dr less complexity, less redundant raycasts, easier to maintain and expand.  
> \*\*_i.e. depending on input state, clicks on e.g. npc do different things_
> - Properly styled tooltips with Vue directive (there are likely some rogue title attributes left)
> - Bunch of tutorial/help added to tooltips
> - Loading time down by 2sec
> - …and another 4sec gone
> - …and another 5sec to up to 10sec gone - w00t (10sec left to reduce _sigh_; while not adding any more _double-sigh_)
> - Added 5sec of loading time again when loading procedrually generated levels…argh
> - Ability “Face off” is now a single shooting action for all targets. Also, switchting targets by rotating spine bone, not root node (tl;dr looks better)
> - Weapon swing trail (and other effects) now driven by underlying animation and will not go out of sync anymore
> - Huge progress in Strategic game now consistently designed and with functional features. Can go on missions and return with loot.
> - A mega ton of bug fixes
> - Removed a bunch of redundant textures
> - Added a bunch of redundant textures when loading procedural levels; #todo

# What’s next?

- Content, content, content
- Saving and loading (this is gonna be so much work, AI please)
- Tactical UI still meh
- Overall lighting also still meh
- Tactical music and/or ambient sounds (incl. upgrade to Audio Engine v2)
- Raise IQ of AI
- Incremental improvements as necessary

Maybes depending on complexity/time to implement:

- Day / night missions would be cool (thanks to @Heaust-ops’s [Deferred Lighting](https://forum.babylonjs.com/t/very-very-much-want-to-add-deferred-rendering-global-illumination/29611/75) technically possible)
- Some verticality (e.g. multi-story bulidings or at least roofs). Code-wise rather easy; level design-wise rather difficult
- More and bigger level destruction

---

_[View the full topic](https://forum.babylonjs.com/t/x-town-tactics-super-early-access/48587)._
