TACStrike: weeks of July 13th - 26th

Published on Monday, 27 July 2015 07:09
Written by snake5

These two weeks involved lots of different activities, including content creation (crouch animations, particle effects), code cleaning and developing new systems.

Some of the work can be seen in this animation:

07-27--0952-scritem opt


Objective UI

Design upgrades & implementation.


The design was simplified to reduce some coding issues and make it easier to understand. Used more artistic representations (strikethrough lines and question marks) instead of words and clever groups. Double readability of everything (words + symbols) seems like a good rule for accessible UI.

The implementation required refactoring some of the systems made for the previous (mini-)game to include things like radio buttons and control themes. This is more or less the current state of the implementation:


I expect to finish this up in the following weeks as the UI is ~50% done.


Scripted items

Interactive entities defined fully in SGScript code.


I needed some way to easily produce destructible/dynamic items, which was the reason behind the design of scripted items. Currently they support:

  • 4 mesh slots with separate offset matrices, enable/disable
  • 4 particle system slots with separate offset matrices, play/stop/trigger
  • decal system override to take decals from attached meshes and move them with the mesh
  • script metadata (can be used for health/time/... info)
  • update & bullet hit event scripting

Most items will probably work according to these few rules (which are fully supported now):

  • set up meshes, particle systems and decal system override and health counter
  • set up hit event that, on zero health, disables the mesh and decal system override, and triggers the particle effect

However, there are still a few things that might be necessary to add for proper effect coverage:

  • mesh particles (ability to specify mesh to use and perform rotation animation)
  • setting particle system matrix from mesh AABB (this is to simplify putting all particles approximately inside the mesh)
  • rigid body to use for object movement or to prevent characters from passing through the object

Some future wishes:

  • oversized hitboxes for meshes (I'd like some paper heaps to get disturbed by nearby bullets even if they don't hit)
  • particle collisions (perform raycasts along particle paths and react to intersections accordingly)
  • spawning decals on particle collisions


Other work

Minor upgrades that are still quite important.


  • missiong crouching animations were added (crouch-sit/crouch-move-backwards)
  • additional bullet hit effects were created and some were improved
  • particle/decal lighting was fixed, now they both use the light sample tree produced in the previous two weeks
  • camera behavior is now almost completely done
  • work was started on AI
  • objective system was upgraded to include additional parameters (description, if required, optional location)


In the end, I'd just like to mention this one idea that popped up recently - producing a storyless, arcadey, gameplay-test shooter that would be released before TACStrike and contain pretty much just the shooting aspect of the game. Full alert mode, minimal stealth, no exploration, just fighting against AI in different environments, trying to survive various encounters.

The reason behind the idea is that I've been struggling with the shooting aspect of the game due to the chosen perspective of the game (aiming is currently somewhat unintuitive at the moment) and I'd like not to bet on too many moving parts with a big game. Exploration takes time to be fun, fights require tweaking. I'd like to tweak first and take the time later (preferably with some funding gained in the process).


Latest images