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)
New ability “Evasive Cover” - lets you get into cover without triggering enemy reaction fire
Evil space robots - OMG what are they doing on Earth??!
(Screenshot taken from intro)
Speaking of intro: it is cooking… (Making this is so much fun!)
Perks give extra advantages (or disadvantages) to your chumps
First working procedrual level generator (not public yet; need to produce more assets)
Strategic game now functionally ready (not public yet; need to add more story/research/content)
(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
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)
- 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 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