Overhauled bullet collision detection system. Previously, bullet collision was somewhat erratic, as it depended upon the dimensions of the unit graphics. Now, it's a lot more standardized with collision being determined by constants and not dependent upon the dimensions of unit graphics. AA guns (such as Merk and Gladiator machine guns) will fire bullets which have bigger hit boxes (double the size of normal bullets) and therefore, collide with moving targets more frequently. Units with splash, such as bombers, bombard cannons and ion cannons, have a standard blast radius of 75 (same for bomber, down from 200 for ion cannon, down from 90 for bombard cannon). The end result should be less bullets missing, especially for ground vs. air.
Airstrip now requres gunship hanger (that was accidentally removed I think).
Fixed several game-breaking bugs, including a game-freeze error caused by ordering ground units to move, a network error and an error which was caused by buildings being completed after the end-game screen was shown.
In network games, units should no longer shoot repeatedly into nothing, sometimes from all the way across the map. Note: I'm not sure if this is a fix since this problem happens so infrequently, there is no way to test my fix. So PLEASE let me know if you see the problem again, that way i will know if it is not fixed.
Found another game-crashing bug which was caused by ordering ground units to move.
[Feature] Implemented elo-based ranking system.
Every player is assigned an ELO rating which changes based on performance. ELO is evaluated for 1v1, player vs. player games only. In games vs. AI, or games with more than 2 people, ELO is not evaluated and you will not see a rank tab at the end-game screen. To evaluate ELO, I use a standard ELO formula ("algorithm of 400") with a logistic distribution model and a k-factor of 32 (constants which are pretty standard in competitive chess). The start elo (which is arbitrary) is set at 1200. Other ranking features include:
View your match history at the end game screen and also in your account profile page (striketactics.net/users/[USERNAME]). The match history includes time played, map, opponent, oppenent ELO, result (victory or defeat), and elo gained/lost.
View global rankings by going to striketactics.net/ladder or clicking the "Global Rankings" link in the rank tab of the end-game screen.
View the percentage chance you had of beating your opponent (based on both players' respective ELO) in the rank tab of the end-game screen.
View the ELO you gained or lost in the rank tab of the end-game screen.
View your ELO progression over time in the rank tab of the end-game screen.
[Fix] Enemy players now get the end game screen when you surrender (or vice versa).
[Fix] Chronological end-game stats were not starting at 0 (i.e. the beginning of the game could be something like 35 minutes if you played another game before).
[Gameplay] All airstrip units are infinitely more maneuverable. Peregrine max angular velocity increased from 150 to 400; turn speed from 6 to 17. Bomber max angular increased from 160 to 300; turn speed from 1 to 2. Gnat max angular increased from 200 to 400; turn speed from 16 to 17.
[Gameplay] Bomber damage decreased from 200 to 75.
[Gameplay] The harpy no longer goes to targeting units. This made the unit difficult to control because it overrides move commands.
[Gameplay] When enemies are nearby, Gnat and Peregrine stop turning when their current angle is within 15 degrees of their desired angle (increased from 5 degrees). This causes them to gain maneuverability at the expense of turn precision.
[Gameplay] The Peregrine and Gnat machine guns fire less discriminately (when a target is within 15 degrees instead of 5). This should increase damage output overall.
[Gameplay] Peregrine machine gun damage increased from 70 to 100.
[Feature] Added end-game stats. I will add APM as well as some other interesting stats in the future.
[Feature] Turned on purely cosmetic gun and unit recoil. This had been accidentally turned off previously but having it on adds a lot of visual goodiness.
[Feature] You can now surrender while in a game through the menu. Surrendering will cause the end game screen (with stats) to appear, and you won't be automatically returned to the lobby.
[Fix] Gladiator torso now turns properly.
[Fix] Easy computer now builds military units.
[Fix] AI units were paralyzed in certain circumstances.
[Fix] Removed black square around selected resource (it looked out of place).
[Fix] You can now properly see what your ally sees through fog of war.
[Fix] You should no longer be able to see units not on your team fighting each other.
[Fix] Cancelling a lot of units at one time no longer triggers anti-cheat code.
[Fix] Bullets have varying speeds and previously, the maximum speed was something like 5000 pixels per second. This was a problem because A) you couldn't see the bullet well and B) If the game was not running at 60 FPS, my collision code would sometimes not catch a collision (between the bullet and an enemy unit) because it was happening faster than the game update loop. Now bullets have a maximum speed of 2000 pixels per second. They are easier to see and will always hit a target if they pass through one, regardless of FPS.
[Gameplay] Except for the bomber, all units with exploding rounds (i.e. most units) no longer have splash damage. In other words, all units aren't like High Templars in sc2!
[Gameplay] Silencer bullets continuing to do damage after passing through targets turned off (likely temporarily).
[Gameplay] Previously, air units would maintain relative positioning when ordered to move, only if their distance was less than 300 pixels from the centroid of the selected units group. That constant worked great for ground units, but air units should have more freedom, so they now maintain relative positioning up to 1000 pixels away from the centroid of the selected units group.
[Gameplay] Previously, most units had a recoil which would cause their gun rotations to move slightly to a random degree after firing. This, among many other factors, could cause guns to sometimes miss. Different units and guns had different recoil amounts and were therefore more/less accurate. This feature has now been turned off on all units except the Merk. The Merk gun's recoil is designed to give it an edge against air units because it creates a wider spread. As for other units, they should fire more accurately with the RNG mechanic removed.
[Gameplay] Fixed lots of damage inconsistencies, such as damage from a bullet registering twice when it should have registered only once.
[Gameplay] Merk carbon cost decreased to 75 from 100.
[Gameplay] Gladiator can now shoot air units with both guns.
[Gameplay] Droid health reduced from 600 to 300.
[Gameplay] Droid build time increased from 15 to 20 seconds.
[Gameplay] Command Center cost decreased from 400 to 300 carbon.
[Gameplay] Command Centers now act as resource drop off points (like silos).
[Gameplay] Start number of workers decreased from 8 to 6.
[Gameplay] Demolisher time to build increased to 35 from 15.
[Experimental] You can now see your own droid lasers and burners but no one else's (cosmetic performance stuff).
[Experimental] Air units are no longer forced to return to the map when they leave the world bounds. This was problematic because they sometimes turned in the direction that would take them longer to return to the map. I will likely re-enable a fixed version of this mechanic in the future.
[Feature] Resource amounts now appear when clicking on a resource and update in realtime.
[Fix] Setting teams is now dumby-proof. You can have 3 players on team 3 and one on team 1, and the game will not break.
[Fix] Fixed a bug which would cause the game to crash randomly when moving ground units.
[Fix] When a worker(s) finish a resource, the smoke puff no longer appears if the unit is not visible (i.e. hidden in fog of war).
[Fix] Made marginal performance improvements.
[Fix] Peregrine homing missiles now move correctly in multiplayer games.
[Fix] Fixed an issue which was causing bullets to not appear in multiplayer games which made it look like units were dying without being fired at.
[Gameplay] All gunships have increased acceleration and decreased maximum velocities to prevent orbits around points. The orbits were happening when the acceleration was not enough to compensate for inertia from previous move commands. Now the manta and harpy will only orbit around enemy units they are attacking which makes them much easier to control.
[Gameplay] Mantas and Harpies no longer clump when moved in a selection group. I.e. they move similar to ground units in that they attempt to maintain relative position from each other when ordered to move.
[Gameplay] If a worker drops off a resource at a silo, it will return to the previous resource it was collecting from (instead of searching for a new one) if that resource is not yet depleted.
[Experimental] Droids no longer have burners or visible lasers. This is a performance experiment.
[Experimental] Resources no longer appear on the mini map. This is a performance experiment.
[Feature] Added the Bomber and Merk to the lobby background skirmish.
[Fix] The game no longer breaks when there is an AI in the room along with more than 1 human players.
[Fix] Ground units move better when spam-clicking and respond to movement commands more intelligently (e.g. not cancelling turns unnecessarily).
[Fix] Network bandwidth usage cut by ~90% in multiplayer games. This should dramatically improve performance in multiplayer games and should make the game even more playable with poor latency and dial-up connections.
[Fix] You can no longer unintentionally hit unit hotkeys while typing in the chat.
[Fix] AI will spawn a larger variety of ground and air units.
[Gameplay] Battleship ore cost returned to 300 from 500. The pop cost increase (3 to 5) will remain the same.
[Gameplay] Peregrine health reduced from 1K to 500.
[Gameplay] Warhawk damage increased from 10 to 20.
[Gameplay] Bomber max velocity increased from 600 to 680.
[Gameplay] All air units have their maximum velocity reduced by 20%.
[Gameplay] All units health doubled except for battleships and ion cannons (which gained smaller health increases).
[Gameplay] The Gnat has increased turn speeds.
[Gameplay] The Peregrine's missile damage is increased from 200 to 500. The Peregrine's firing rate increased from 3 seconds to 10 seconds. This is an attempt to make the peregrine more like a strike fighter or a hit and run fighter, than a unit which is constantly engaged.
[Gameplay] Bomber bombs damage increased from 150 to 200.
[Gameplay] Hover tanks have move speeds decreased from 200 to 150.
[Feature] Added movement easing back in for hover tanks.
[Feature] Now when you select a group of units and there is a military unit in that group, workers within the selection box will not be selected. Alt-drag to only select workers and shift-drag to select both workers and military units.
[Feature] Certain units will create scorch marks when their bullets explode.
[Feature] You can now cancel a unit in production by right-clicking the production icon.
[Feature] You can now cancel a building already placed by clicking the building and hitting [C].
[Feature] In the map editor, the new default is to allow overlaps of placed terrain objects. You can change this boolean at the seed menu (which opens when you click a seed button).
[Feature] Chat messages now fade based on the length of the message.
[Feature] Chat messages now shows the player color of the person who sent the message.
[Fix] Made the resources in the UI more readable with a background container.
[Fix] Custom textures now properly redraw when a resource is depleted on the map.
[Fix] Fixed the editor seed button which did nothing before.
[Fix] Selection box no longer appears in editor when placing objects while holding right click down.
[Fix] You are no longer allowed to place textures in the map editor super close to avoid a repeated look.
[Fix] Fixed an issue which would cause the map editor to break when you clicked an item too many times.
[Fix] If you have an area selected in the map editor, seeding will only occur in that area.
[Fix] In the Tank Factory production menu, the demolisher hotkey is now "E," because the scorch tank is no longer there.
[Feature] Added "publish map" button to the map editor. Click the button to open up a form which will allow you to upload the map to the server. Once the map is uploaded, everyone will have access to the map at the map selection screen.
[Fix] Ion cannon now does damage to enemy units.
[Fix] Population will now reset properly if you leave a game and start a new one.
[Fix] You can no longer see enemy worker units laser effects through fog of war in multiplayer games.
[Fix] Custom textures are now working again. To test, check out LordNature's map, "Invasion" and you will notice the alien-like terrain near the start points. There is one issue however, if a resource becomes depleted on top of the custom texture, the custom texture is not properly redrawn to the canvas. I intend to fix this purely cosmetic bug in the next patch or in a hotfix.
[Fix] Fixed an issue where you would leave a game, and start a new one on the same map and some of your old destroyed buildings from the previous game would be there on the map.
[Fix] You can now no longer start the game if less than 2 opposing teams are set.
[Fix] When more players are set on any given team than are defined for that team in the map file, the start positions are properly recalculated.
[Fix] Removed useless "other" tab in the map editor.
[Fix] Fixed issue where chat took too long to disappear in some circumstances.
[Fix] Fixed various map editor UI styling issues.
[Fix] Drastically improved performance when the screen is displaying building and rally paths by removing the small circle which appears at every line end/beginning.
[Fix] Fixed the building placement bug caused by clicking too many times on a production menu.
[Fix] Fixed a problem where the computer was sometimes able to shoot at your units while invisible.
[Fix] Dramatically increased visibility of resources on mini map by rendering on top of the fog of war. I also decreased the size of trees on the mini map slightly so they are not easily confused with units.
[Fix] Current selected icons now disappear if the unit dies while selected.
[Fix] Fixed an issue which may have given players with high latency a sever advantage in multiplayer games (their units' health would essentially regenerate after being damaged).
[Fix] Fixed an issue where exploding rounds would never do damage to their targets if they exploded before hitting their target. This mostly happened when shooting at buildings or extremely large units.
[Fix] Fixed major issue which caused bullet properties to read as old values when the bullet was recycled. Example: a gladiator's machine gun was doing the damage of a Merk machine gun.
[Gameplay] Units now fade out after 15 seconds instead of being drawn to the canvas permanently.
[Gameplay] Battleship heavy cannon blast radius decreased from 110 to 80.
[Gameplay] Javelin health increased from 300 to 800 and blast radius decreased from 150 to 90.
[Gameplay] Bullfrog damage increased from 40 to 80 and blast radius decreased from 110 to 50.
[Gameplay] Roller and Gladiator blast radius decreased from 110 to 80.
[Gameplay] Tank factory costs 100 carbon and 50 energy instead of 100 ore and 50 energy.
[Gameplay] Tank Factory and Airstrip build times decreased from 60 to 40 seconds.
[Gameplay] The silencer bullets, being fired from a mounted rail gun, now pass through targets, doing damage to anything in the firing line until the bullet reaches its destination and explodes. Keep in mind, this needs to be microed to work properly. Suppose the Silencer is at x: 50 and y: 50. There are two units directly above the silencer: one at [50,40] and another at [50,30]. If the silencer is targeting and firing upon the unit at [50,40], the bullet will not continue to pass through and hit the unit at [50,30] because it always explodes when it reaches its destination (the destination being the targeting unit at [50,40]). Thus, to do damage to both units, the silencer would need to target the unit at [50,30] so the bullet passes through the unit at [50,40] to reach its destination and explode at [50,30]. The silencer is currently the only unit in the game, other than the Ion Cannon, which can fire bullets which pass through enemy units.
[Gameplay] Enemy units only becomes visible through fog of war if they do damage to your units.
[Gameplay] The Merk, Bullfrog and Silencer energy cost decreased from 50 to 0.
[Gameplay] Bullfrog health increased from 300 to 400.
[Gameplay] Ion cannon damage increased from 35 to 55.
[Feature] Shift-clicking a control group number will add any current selected units to that control group.
[Fix] Significantly decreased load times by downloading unit textures from the server instead of creating them in the browser with bitmap data manipulations. Load times should be significantly reduced on initial page load and at the load screen before beginning a game.
[Fix] When entering a multiplayer game, the black loading screen should no longer freeze, under any circumstance.
[Fix] The load bar on the initial page load is now accurate.
[Fix] The harpy now rotates properly and fires in the right direction in multiplayer games.
[Fix] You can no longer set control keys from the lobby (only in-game).
[Fix] Now when you scroll by moving your cursor to the edge of the screen with the mouse, it will only begin scrolling at the very edge, instead of 15 pixels away from the edge.
[Gameplay] Removed the scorch tank. It does not have a definitive role in the meta and no on builds them.
[Gameplay] This disrupter cannon and radial gun are now properly disabled in multiplayer games (until I finish their netcode).
[Gameplay] Peregrine's machine gun damage increased from 40 to 70.
[Gameplay] Battleship health decreased from 6K to 5K.
[Gameplay] Manta damage increased from 25 to 30.
[Gameplay] Droid health increased from 200 to 300.
[Gameplay] Battleship now takes up 5 pop instead of 3.
[Gameplay] Bomber damage increased from 100 to 120. Bomber blast radius increased from 100 to 150. In the first initial build of the game, the bomber was extremely overpowered because of a bug that would cause its bombs to do continual damage to nearby units before they landed. I fixed that bug but in the same patch, nerfed bombers in reaction to how overpowered they felt. I feel that was a massive over-correction as the bombers only felt OP because of the bug. Now that the bug is fixed, I'm returning damage values to something closer to what they were originally.
[Feature] You can now deselect a unit with shift-click. If the unit is not selected, it will be added to your selection group with shift-click.
[Feature] Buildings flash red on the mini map and in the game world when it is their turn in the building cycle to create a unit.
[Feature] You can now change the idle hotkey from the menu options.
[Feature] Control groups are enabled on any key. Be wary of setting them to application hotkeys though, as Chrome has over 20.
[Fix] When double tapping to snap the camera to a control group, the camera will only focus on the control group only if the two keys you pressed in quick succession are the same.
[Fix] Building cycling now cycles through all current selected buildings instead of first 2 selected.
[Fix] Full screen button now appears when you first load the game.
[Fix] Idle unit hotkey next to the idle unit icon now reflects your custom key.
[Fix] Fixed a major unit selection issue which was likely the root of 99% of unit selection bugs.
[Fix] Unit hotkeys changes for worker construction options. Airstrip now starts a new line of keys (ASDFG) so your fingers are not reaching too far to the right. I also added a bit of padding to the left of the airstrip thumb to serve as a visual cue to the new line of hotkeys.
[Fix] Fixed an under-the-hood type error that may have been causing problems in networked games.
[Fix] Chat box now closes after you return to the lobby.
[Fix] Removed useless "hotkey" checkbox in menu options.
[Fix] Battleship machine gun rounds now have their proper explode animations.
[Gameplay] Increased Manta's health from 250 to 350.
[Gameplay] Battleship ore cost increased from 300 to 500.
[Gameplay] Gladiator can no longer hit air units with its laser cannon. It can still hit air units with its machine guns, however.
[Feature] Theme song now plays before the lobby music if you haven't accessed the game in 24 hours.
[Feature] Implemented custom hotkeys which you can change in the options menu.
[Feature] Changed default hotkeys to the "QWERTY" system.
[Feature] You now get a warning to protect against accidentally exiting the window while in a game.
[Feature] Buildings cycle production. If you have multiple production buildings selected and build multiple units, the units will be constructed not at just the first building selected, but cycled through all selected. If you hit tab, you can change the current building in the cycle. The current selected icons of the current building in the production cycle will be tinted red to indicate status. The buildings themselves (in the game world) will also flash red when you cycle through them.
[Feature] Double tap a control group button and the camera will snap to the first unit in the control group.
[Feature] If you set a rally path to a resource, the color of the rally line will appear as yellow if the resource is ore and green if carbon.
[Feature] If a command center is set to rally to a resource and the resource becomes depleted, the rally path will automatically go to the closest resource of that same type.
[Feature] You can now add to current selected with the shift key, just as you can add to a control group with the shift key.
[Fix] You can now select a building by dragging on top of it if it is the only unit in your drag box. Not having this was causing selection issues.
[Fix] Control groups work properly now and you can add to your control group with a shift click.
[Fix] Ground units will no longer leave a node unwalkable after they move from the position they were first built.
[Fix] Fixed and issue where the worker could not go to a resource if you right-clicked on top of another worker near that resource.
[Fix] Newly constructed workers now properly go to their rally path instead of hovering above the command center doing nothing.
[Fix] Added some styling to current selected unit icons to make them more readable.
[Fix] You can now see building icons in the current selected icons at the bottom center of the page.
[Fix] Unit healthbars below current selected unit icons now accurately reflect unit health.
[Fix] Clicking the map thumb in a game room will no longer clear the lobby UI.
[Fix] Hotkeys work properly with caps on.
[Fix] A production menu no longer hides if a new worker spawns.
[Fix] You can no longer move the lobby UI or any dialog box by dragging the borders (that used to break the layout).
[Fix] Idle key changed to [Z] to leave the top row of keys open for unit production hotkeys. I will allow you to change idle button later.
[Fix] Toggling all/team chat now works properly if there are AI in the room.
[Fix] Multiplayer games with AI no longer crashes for non-hosts when an AI builds a power generator.
[Fix] When you cannot build something, the message now displays the human readable name of the required building.
[Fix] The mech move animation no longer stops when you click to attack something while the mech is moving.
[Fix] Bullet shadows now appear below bullets, like ones fired from bullfrog.