There are 3 different kinds of super weapons in Strike Tactics.
The Disruptor Cannon
An extremely long range artillery unit with massive firepower.
The Ion Cannon
More firepower than the disruptor, but at a much closer range. The Ion Cannon is also highly mobile as you can see in the first few seconds of the game trailer.
The radial gun
An area-denial unit which is stationary, but shoots a fury of cannonballs in all directions if an enemy unit approaches. I'm debating wether these cannon balls will be aimed by the gun, or if their destinations are completely random. The radial gun will be able to effectively deny both air and ground units in something like a 1,500 pixel radius.
Turrets play a large role in Strike Tactics gameplay. Because all units are ranged, and because air units are bread and butter, as opposed to support units, wall offs (via buildings) and walls really aren't viable as defensive structures. Instead, turrets are the main defensive structures. Currently there are 3 types of turrets:
Laser turrets - broad role, moderately good against air and ground
Bombard cannons - excels against ground, bad vs. air
Flak cannons - excels against air, cannot target ground
Why can the anti-ground turret shoot at air, while the anti-air cannot shoot at ground units? You'll find a lot of these little discriminations in Strike Tactics. In order for ground units to be viable, they must have enough inherent advantages to neutralize the extreme disadvantages they have in the mobility department against air. Other inherent ground advantages include more firepower, more health and guns which can fire while the unit moves.
Another turret unit is the Disruptor cannon, which is a large, artillery cannon. Because its incredible range and firepower makes it practical to use offensively, it is under the classification of a super weapon than a defensive structure.
I am considering implementing wall structures you can build. Except to make walls viable in a game where air units are prevalent, and all units are ranged, the wall structure would perform the following functions:
- Goes into the ground if a friendly unit needs to pass through (see supply depot in starcraft 2)
- Deflect enemy projectiles with shields that raise as an enemy projectile passes through, while allowing friendly projectiles to pass through.
If implemented correctly, these shield walls could act as a counter to mass-ground forces (movement obstruction) and heavy artillery (such as the Disruptor Cannon). They even could be effective against air units if turrets were strategically placed inside the perimeter of the walls. Air units swooping by would need to be positioned on the right side of the wall to effectively do damage. I am very much committed to finding a place for walls in a futuristic RTS (i.e. an RTS with mostly range/air units), but this I see as a secondary feature which will come later in development, after base unit roles have been established.
Units in Strike Tactics are capable of following rally paths which are created by shift-clicking locations on the map.
Production buildings are also capable of setting rally paths, so that newly constructed units will travel along a rally path once complete.
Actions can be queued for workers by setting rally paths. For example, you can build 3 silos by shift-clicking the silo placement on the map.
By default, if a worker is busy building and you tell it to build another building, the building is added to its queue as a rally path. If you want a worker to stop working on building to do something else, you will need to manually move the unit (to cancel action of working on the building) and then give it the new action.
There are 3 main elements in maps that affect gameplay: size, obstruction and resource placement.
The game engine is capable of rendering incredibly large maps. Maps as large as 50,000 pixels wide/high - maps that take a unit a half-hour to walk across, with very little impact on performance. My first inclination when making maps for Strike Tactics was to take advantage of this - creating maps 12K and 15K maps - but after playing against the computer on these maps, I realized that ridiculously large map sizes might severely slow down game pace, and are often impractical. For that reason, I've started to design single player maps around 6K-8K pixels and 4 player maps, 10K-12K. However, I still want to experiment with ridiculously large maps (RLMs) in the future - perhaps putting a RLM in the multiplayer rotation. After all, sheer distance is a game mechanic in itself, and something that isn't really possible with 3D realtime rendering. And they might add something cool to free-for-all, casual games.
Ground units are generally stronger than air units. This is because they have an inherent disadvantage: they are infinitely less mobile. A variety of map objects inhibit ground movement:
Mountains - The largest obstructions. Mountains can be placed close together in the map editor to form mountain ranges.
Trees - The only map obstructions that can be cleared by your actions in the game. When a worker finishes harvesting a tree, it disappears. I'm considering giving scorch tanks (a flamethrower unit), the ability to clear trees as well. Trees can also severely limit ground movement, especially if placed together in forests.
Water - I will likely allow hover units to travel across bodies of water, although this is not yet implemented.
Doodads - These do not take up more than 1 node size (80 x 80 pixels) and are generally there for aesthetic reasons. Traditionally, doodads do not act as movement obstructions - they do, however, in Strike Tactics.
The positions of carbon (trees) and ore on a map, especially in respect to starting locations, has a profound effect on gameplay. A map can be designed with an artificial scarcity of trees or ore, which would result in different play strategies. One map might have very few trees, all in the middle of the map. Players couldn't build carbon-heavy units in the early game and, in the mid game, would need to fight for control of the center.
This is one particular gameplay element that Starcraft doesn't fully explore: resource scarcity. I felt Age of Empires 2 had the best resource system of any RTS game - the landscape of the map can completely change playstyle. It is my goal with Strike Tactics to make resource placement on the map severely effects the decisions you make in the early game.
Game meta is discovered, not designed.
The goal of the designer should be to provide all of the components of good game meta, the building blocks. But it is the players that ultimately figure out how those building blocks fit together.
The game designer isn't blind to meta. Units should counter each other. Environmental elements should have an influence on gameplay (size of map, movement obstructions, location of resources, etc). The economy system should have some level of complexity (3 resources is better than 1, different units cost different resources, etc.). All of these things can be planned. But because each of these systems can be exploited in a thousand different ways, it really isn’t so smart to believe they can be perfectly designed before the players arrive.
This is why I chuckle everytime someone asks me “so what are you going to do after you finish your game?” In my mind, the development cycle of an RTS game is only 60% complete on the day it launches. I intend to spend at least 6 months after launch fine-tuning and optimizing gameplay, fixing bugs and countering cheating/hacking techniques. I’m hoping sales of the game will finance those 6 months, and after that time, I will dedicated myself to implementing new features, such as community-driven ranking, friends lists, more advanced end-game stats, etc. There is always room for improvement.
Gone are the days when you could put your game in a neat little package, ship it off, and be done with it. These days, if a game is to succeed, at least an online game, it must constantly evolve into a more perfect form. At least that is my goal with Strike Tactics.
To eliminate the problem of pathfinding getting in the way of expanding your production, all construction is handled by flying worker units, the same flying worker units responsible for carbon collection. To maintain the 50-50 dynamic between air and ground, most buildings will be ore-expensive, ore being the resource collected by the ground worker unit.
These flying worker units use lasers to 3D-print buildings.
Multiple flying units can work on the same building.
Adding a second worker to a building construction will cause the construction to be completed in 150% of the time. A third, 175%, a fourth 187.5%, and so on. Each added worker cuts the completion time down by half of the time cut down by the previous worker added.
In Strike Tactics, base-building is decentralized. There is no command center like in starcraft or town center, like in age of empires. There is no commander like in Total Annihilation. In other words, no head to the chicken. This "decentralization" is meant to encourage more varied playstyles. In Starcraft 2, start with a base, which you automatically mine from, and expand by building more command centers in other pre-determined, mineral locations. Your starting position is defensible with ramps and movement obstructions. While these make for some really fun game mechanics, it also limits the number of viable early-game strategies. It also makes it much more difficult to make a comeback, if you lose your starting base. For these reasons, I'd like to try something different from fixed, pre-determined starting bases.
The big obvious drawback here is that decentralization opens up a lot of opportunities for cheese. However, 'm confident that, over time, I can weed out any cheese strategies that fundamentally disrupt the game's mechanics, while leaving in the ones that can be countered.
"Decentralized" base building is very much an experiment and if it proves to not be viable, I can always overhaul the system and go back to something more traditional.
Production in Strike Tactics is pretty standard. Every building has a queue, and units will be created based on the order you click to build them. You can cancel a unit by right-clicking its icon in the queue.
I'm still debating whether the extremely large units - the super weapons and battleships - should be produced from buildings, or if they should be created on the ground from the flying worker units.
As it stands, there are 5 different ways to select units in Strike Tactics.
1. Single click a unit
2. Double click a unit to select all units of that type within the camera
3. Click the icon at the top-right of the screen to select all units of that type within the entire game world
4. Click drag to select multiple units within a rectangular area
5. Shift click a unit and it will be selected along with any units currently selected
1, 2, 4 and 5 are pretty standard in RTS games and really need no explanation. I've implemented #3 because I personally found it useful. Certain units are good against certain units - why shouldn't you be able to select only a certain type of unit?
As-is standard in modern RTS games, control groups are a thing. Hit CTRL-1 to create a selection group which is active when you hit 1.
Once a unit is selected, its icon, along with health bar, will appear in the lower-middle of the screen. I have decided to do away with the single unit profile box, you see in a lot of RTS games. You know, the box that will sometimes show stats and a large picture. I've deemed this little UI element to be superfluous and a carry over from 90s RTS UI design. Unit stats will be available in-game, except it will be through the production menu (i.e., you will see a summary of stats for the unit when you hover over the icon in which you click to build the unit) .
Currently, there is no cap on the # of units you can select. RTS games used to implement limits because finding 100 paths at the same time is resource-intensive, and can hault the game engine, depending on various factors (this was a problem back then, when you have 128MB of ram and 366MHZ processors). Thankfully, modern browser computing isn't quite as limited as peak 90s computing. At least my particular pathfinding implementation is efficient enough for this not to be an issue.
Like all RTS games, microing plays a big part in gameplay. However, microing in Strike Tactics is more akin to earlier, classic RTS titles. Starcraft 1 rather than Starcraft 2. Warcraft 2 rather than Warcraft 3. Age of empires 2 over AOE3, etc.
Unit abilities - or lack therof
What makes microing closer to these earlier titles? The single most important factor is unit abilities. In Strike Tactics, there are no unit abilities. Or at least, no unit abilities that the player manually clicks. This changes the microing dynamic completely and makes microing more about unit positioning than unit abilities. It also means less keyboard jockying and more long term economic and military strategy (i.e. macroing). Your units are more or less, independent, and don't require babysitting.
Unit roles in Strike Tactics are extremely broad. Most air units can attack most ground units. Most ground units can attack air units. Granted, certain gun types are ineffective againt air (i.e. those with slow rotation speeds), they nonetheless can still fire and still hit air units.
This broad role unit design as opposed to strict role, is very much by design. It lowers the skill-ceiling, enforces the 50-50 air vs. ground dynamic, and makes massing single unit types more viable. I say "more viable" because obviously only needing to create 1 unit to win the game is a serious design flaw - that is very much not my intention. My intention is to make unit counters not as hard as they are in games like starcraft 2. There is still a strong counter system (i.e. bombers are effective against ground units, the peregrine is an air superiority unit, Merk is anti air, etc), only the counters are a bit softer. 20 bullfrogs (ground cannon unit) will easily get decimated by a squadron of bombers, but they will at least take out a few bombers with them.
Perhaps I am misguided in thinking that broad roles will result in a funner RTS game. If that is the case, I can always change things later. Game meta is discovered, not designed. A strict role counter system which is unforgiving and harder rather than softer, is better for an esports game. My goal with Strike Tactics however, is not to create an esport, but something fun for the average RTS gamer.
Another big factor is pathfinding. I don't want to insult myself and say ground units in Strike Tactics are programmed to have stupid pathfinding - but given the limited resources the browser has, my solutions for pathfinding are far more primitive than, say, Starcraft 2. In SC2, units move seamlessly. If one unit needs to get in front of another, the units make coordinated movements to make that happen. In Strike Tactics, if a unit gets in the way of another unit, the unit waits for the other to pass. If it takes too long, it finds an entirely new path. Some units move based on relative positioning, others, specifically air units, move in clumps.
Is my pathfinding optimal? Absolutely not. But in order to succeed, you must learn the nuances of unit movement and positioning. Each unit has its own unique movement attributes. Ground units have movement speed and turn speed. Air units are a bit more complicated, because it involves more advanced 2D physics: speed, maximum velocity, acceleration, angular velocity, etc. Some air units can hover in place - others cannot. Some air units clump; others, do not.
Every weapon in Strike Tactics has its own unique properties. For example, some weapons can rotate, others can only fire from the angle at which the unit is pointed at. Some weapons have rotation speeds, others turn instantly to acquire targets. Some guns can only fire once every second, others, 10 times per second.
Every weapon has bullets and bullets come with their own unique set of properties. There are different types of bullets: lasers, cannon, artillery shells and bombs. Some bullets have a blast radius which cause them to do damage to units within a radius of their destination. Other bullets can pierce through units, to hit units behind the first unit they hit.
In summary, there is a lot of variety to the kinds of weaponry you will find in Strike Tactics.
2D physics plays a large role in the outcome of engagements. In a lot of RTS titles, physics is simplified. Take Starcraft 2. If a unit is in range, it will fire in a straight line and hit its target every time. In ST, it's a bit more complicated than that. The gun on the unit will fire if its target is within range, but like with real world physics, guns are not 100% accurate. Guns will fire when an enemy is within range, and also when the angle measured between the gun and its target is within a certain margin of error. But the aiming is affected by many other factors, such as:
- The speed of the unit which is being fired at
- The speed of the unit firing (guns with the ability to rotate can generally fire while the unit is moving)
- The rate at which the gun fires
- The speed at which the bullet travels
- The angle variance of the gun (real guns have recoil, which means the faster they fire, the less accurate they fire)
Please note, this is not random missing. Randomness is a bad, artificial and lazy mechanic - at least, in an RTS game. Bullets don’t randomly miss their targets; they miss because of some physical factor, such as the rotation of the unit, rotation of the gun, speed of the unit, etc. Much like the real world - there are a number of things that factor into the equation which ultimately answers the question "did this unit do damage to this other unit?"
This intention is for all of these factors to be accurately represented in what you see on the screen, so players can learn optimal unit handling - where to move a unit and when - based on their previous experiences handling the unit.
Some might argue that picture-perfect pathfinding, unit abilities, and a more absolute weapon/damage system, not so severely affected by the nuances of 2D physics, is a better way to design an RTS. My goal is not necessarily to create something better, but rather, something different. The world already has Starcraft 2 - and it's a fantastic game. I want to explore new RTS mechanics, while still embodying the spirit of classic RTS.
Currently, there are 3 different resources in Strike Tactics and 4 ways to gather them.
Carbon is harvested from flying worker units, the same units responsible for construction. Right click a tree while a worker is selected to begin harvesting carbon. The carbon will automatically accumulate in your inventory. Once the tree no longer has carbon, the worker will automatically move on to the next closest tree.
Ore is gathered by building a miner unit. Right click a patch of ore while the miner unit is selected and it will start to automatically gather ore. Unlike carbon, ore doesn't automatically go into your inventory - instead, the unit must drop ore into silos, which are small rectangular buildings. Build your silos in strategic locations. If you build a silo in a spot surrounded on 3 sides by trees, your workers might have a difficult time depositing ore.
Energy is generated by building power generators. These simply structures automatically generate a small amount of power over time. Be carefel about where you place power generators - when they die, their explosion has a blast radius and can set off a chain reaction to destroy other nearby generators. Because of this, you should build your generators far apart.
Aside from the methods mentioned above, you can also gather resources by building freighters.
Freighters are trade ships will travel back and fourth between friendly airstrips and generate any of the 3 resources, based on which option you have selected, each time they make a trip. The longer the ship has traveled, the more resources received. Keep your trade routes well-guarded and prosper.
Different units require different kinds of resources, so choose your worker composition (miners vs. carbon collectors) accordingly.
In Strike Tactics, there is a duality between air and ground. Unlike in traditional RTS games, where air units are generally there for support, the dynamic between air and ground is 50-50. Enforcing this dynamic is the fact that half of your workers are air units and the other half, ground - half of your resources are collected by means of air and the other half, ground.
Hello, and welcome to my dev blog. I intend to use this space for:
- Progress updates on the development of Strike Tactics
- Planned gameplay features
- Philosophical quandaries on the principles of game design, the state of the RTS genre, and browser gaming