X-Town Tactics (super early access)

Update: v0.0.6

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

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

:robot: Evil space robots - OMG what are they doing on Earth??! :open_mouth:

(Screenshot taken from intro)

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

:star: Perks give extra advantages (or disadvantages) to your chumps

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

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

(some elements redacted)

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


Check it out now

:joystick: Link in first post

:speech_balloon: 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 :smiley: 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)
  • 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 :winking_face_with_tongue: )
  • 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 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
4 Likes