Tuesday, February 11, 2014

Many-Month Update

[ There are images at the bottom section if you just want to see pictures :p ]

It's been too long! Much has been written (code-wise), and much planned for the inevitable demo. I also noted it's been a long time since I've taken any screenshots of the game, so I'm gonna make some :p

Major Updates:
  • Build Machine is up and running. It builds client installers automatically, runs a universe which can self-update either the universe engine, the zone engine, the scenarios, or the game database independently. 
  • Map code Rebuild. This removes possibly the worst code in World, the bindings between Terra and Zone, and makes for a nice clean implementation instead. The end result here is a correct map graph after terrain changes, less bandwidth usage, faster terrain updates, and easier extensibility when it comes time to add more terra features (shallow media, climbing, jumping, flow)
  • Scenario Editor code partial Rebuild. The scenario editor is cleaner and more stable. Scenarios update consistently after terrain changes so we don't have to lock down the map. Added many new terrain tools, which are also used as in-game effects.
  • Universe server Stability. Multi-zone execution is FAR better. Zones purge when no players have been active for some duration. Zones can continue to exist in a stale state if there are players, but if the database or zone engine update. This means when we 'patch' the server, scenarios in progress can continue uninterrupted. Launching zones is totally a good way to test the client or scenario now.
  • View Phasing. This is a rendering system that selectively hides pixels that are in the way of seeing what matters to the player. It has nasty math. It lets you see through trees.
  • Sound effects. We have both a selection of character sounds (sets gloriously recorded by friends and family), and some free-sound sourced audio clips. (If you want to record a set I can provide the executable that runs the script to do it :p )
  • Procedural Trees. I decided I wanted some foliage so I made a procedural treebuilder. They aren't pretty but they are... there...
Minor but still good Updates:
  • Lots of new additions to the scripting language for scenarios. Mucho flexibility.
  • Per-terrain-type system for ground impacts. This gives us the ability to have generic actions produce unique effects based on the terrain. (For example, flame impacts may do nothing to stone, but may create fires and char wood)
  • Straight path-lines. Somewhat more natural looking (but less strictly correct) paths when not moving along 60 degree angles.
  • Options menu system (currently just sound volume)
  • Ground-projection effects
  • Beam effects (in retrospect, I haven't used many of these...)
  • Per-unit cosmetic data. Right now just rig-parameters and sound bindings, but it could include per-unit props or textures.
  • Lots of actual game-effect fixes, but it's really mostly been systems stuff.
Jeez, looking through the logs there's kind of a lot, but there's still so much remaining. It looks like I haven't spent much time on game mechanics in a while, which is kind of hilarious to me. A Client UI pass is overdue as well, and maybe an enemy AI pass as well.

And Now some Imagery
  • Blog021014-1.jpg: A shot of trees in Eirikr's hilly scenario. Note that in the center of the image the trees are filtered out by the view phasing. If you look you can see the fuzzy circle where the trees stop being filtered.
  • Blog021014-2.jpg: A shot in the scenario editor of some new terrain construction tools: Easy walls, solid or smoothed, using straight lines (on the left) or continuous lines (on the right), some surface replacement in the back, and some bridge construction in the center.
  • Blog021014-3.jpg: The new bridge to defend in my outpost scenario. Note the overhang section of the wall is phased out, there are tres, and a pile of debugging UI I REALLY need to get rid of.
  • Blog021014-4.jpg: The outpost scenario has a scripted ally, the Captain, who has some special behaviors. This is just him yelling that he needs help. I usually ignore him and let him die. Idiot doesn't know how to retreat properly. :p
  • Blog021014-5.jpg: The bridge explosives have gone off, so the bridge is ruined, the tree is on fire, and the enemies have summoned a special scripted unit, circled in white in the top right, that builds dynamic bridges across the river and onto the walls. Also, I levelled, and the Captain is stuck on the other side of the river.
  • Blog021014-6.jpg: The first 3 bridges are finished, I'm defending one, but some units crossed the first bridge and killed my archers on the walls. Very sad. Tree still on fire.
  • Blog021014-7.jpg: Close up shot of a very happy squad. The bright edges are showing morale. You might be able to tell that they have some different subtle dimensions; that's the per-unit cosmetics. The shield on the left is shorter, and the commander looks kinda lanky. The center archer is taller, pretty clearly. Also trees, bridges from underneath, and ground projections underneath the units. The arrows show when in combat, and make it easier to see orientation. Also if your units aren't engaged the arrow is just a circle.
  • 2013 Shirt Image: Cause its neat.
Thanks for readin'. Till next.