Hello peoples! I just released the next major update for simple fighter!
I'd like to let you all know that this will be the last version this game will ever receive. I've grown tired of maintaining it, and therefore will no longer be working on it in the future.
I'll still keep the repository up, including the game's map server. The sounds are also updated as well, so please redownload them if you want to get the latest content.
With all that in mind, here's what's new in version 15.0.
Added three new ways to read the state of the map you are on. Two new tokens, %mapname% and %mapmode%, fill in the current map's name and its mode, either 2d, topdown, or 3d, anywhere a command or an element's text runs, so a sign can greet you with the map you are standing in. A third token, %count:type%, fills in how many of a kind of entity are on the map right now, like %count:npc%, covering everything the kill command acts on plus items, so a logic condition can open the exit the moment %count:npc% reaches zero. And a new count command, or cnt, speaks that same tally out loud, such as count npc, which is handy while building or playing.
Made it so moving yourself while riding a transport now always keeps the transport with you, so you can no longer get separated from the machine you are aboard. Before, only the go command carried your aircraft, vehicle, or bike along when it relocated you; now the single axis position commands, like setx, addx, and setz, do the same, and being knocked back by a weapon drags the machine with you instead of leaving it behind with its engine still running at the old spot. Whatever moves your character, you and your ride travel together.
Rebuilt the go command so it can move objects around the map, not just teleport your character. Go still takes a coordinate to move yourself, but you can now put an object name first, like go npc 5 5, to send the newest one of that type to a spot instead, the same naming the other commands use. It moves single-spot objects: npcs, security cameras and jets, containers, tts enemies, aircraft, vehicles, bikes, fires, teleporters, bombs, time bombs, mines, winds, spawnpoints, and checkpoints, but not ranged things like signs, walls, or zones. If you move a transport you are riding, or move yourself while aboard one, you and the machine travel together. The old way of naming an npc by its type and subtype is gone.
Rebuilt the kill and killall commands so they work on anything you can destroy, not just enemies. Kill now takes any killable object by name or by coordinates, the same way despawn does; typing kill wall, or kill sign 5 0, brings it down exactly as a weapon would, playing its death sound and paying out any experience it rewards. Killall with no object clears the whole map at once, or you can name a type, like killall projectile, to clear just those. Between them they cover npcs, security cameras and jets, containers, tts enemies, aircraft, vehicles, bikes, walls, platforms, staircases, doors, spikes, and destroyable projectiles, signs, clocks, and calendars. On a shipped map only a switch or the like can fire them now, not the console.
Added an auto flight setting to the security jet builder form. Turn it on and the jet starts the map already up in the air, cruising high overhead, instead of waiting on the ground for your first hit to send it up; it comes down after its flight time to hunt you along the ground, and from then on behaves like any other jet, climbing again only when you land a hit on it. Left off, a jet still begins grounded and takes off the moment you first hit it, exactly as before, so this only changes how a jet you build starts out.
You can now build a security jet in the builder menu. A security jet is an enemy plane that hunts you along the ground and rams you when it reaches you, and the instant you land a hit on it, it takes off and cruises high overhead before dropping back down to chase again. You wear it down with your weapons across these passes, easiest while it's on the ground but you can hit it in the air too, even ramming it with a glider; bringing one down earns you experience, and you can tune its speed, health, attack, how high it flies, and how long it stays airborne.
Made it so defeating something set to give no experience no longer writes a line to your combat log. Before, destroying a security camera, container, or projectile, or defeating an enemy, whose experience was set to zero still logged a pointless zero experience gained, defeated line; now anything worth no experience is defeated silently in the log, while things that do reward you still announce it as before. The kill still counts and any loot still drops either way.
Made it so a container that's chasing you now gives up and vanishes if you outrun it, instead of stopping and waiting. Once a moving container has noticed you and given chase, slipping back out of its seeing range makes it quit and remove itself for good, so setting a smaller seeing range is a real way to escape one by running. A stationary container, one you've set with none of its move axes turned on, stays put as a fixed trap as before, since it was never chasing you to begin with.
Made it so the map downloader no longer lists a map you already have. A map you've downloaded drops off the download list the instant it finishes, so you can't grab the same one twice, and if you already own every map on the server it now tells you so instead of offering them again. The old overwrite prompt is gone, since a map you already have never appears to be picked in the first place.
Brought back experience rewards for destroying projectiles. A destroyable projectile can now be given a level and an xp value, and shooting it down earns you experience scaled by both, announced in your combat log the way defeating a security camera is; leave its xp at zero for a projectile that gives no reward. The projectiles a projectile zone fires reward experience too, scaled to your level.
Removed turning on the spot from 2d maps. Pressing an arrow key now always steps you in that direction and faces you that way, instead of the first press only pivoting you in place, and the enable turning on the spot for 2d maps setting has been retired. To face a direction without moving, hold alt and shift and press the arrow, page up, page down, w, or s keys, the same as you already do on topdown and 3d maps.
You can now build a container in the builder menu. A container is a roaming trap that hunts you down, catches you when it reaches you, and carries you high into the air before dropping you, so the fall is what hurts you. It rolls right through walls and chases you while you're inside its seeing range, but you can shoot or hack it apart with your weapons; destroy it while it's still rolling and it can never lift you, and even after it grabs you, you can keep firing to break it and cut your fall short. Bringing one down earns you experience, and you can tune its speed, health, how high it lifts you, and how long it hovers before it lets go.
Fixed a bug where fires, teleporters, and winds would keep chasing you forever once they first noticed you, no matter how far you ran. They now behave like npc creatures do: each one pursues you only while you're within its seeing range, gives up and stops where it stands the moment you slip back outside that range, and picks the chase up again if you come back within range. Setting a smaller seeing range is now a real way to escape one of these traps by outrunning it, instead of only being able to wall it off or destroy it.
Made it so a weapon can now decide whether its own bullets are allowed to hit the person firing it. A new hit player setting, when turned off, lets your shots pass harmlessly through you wherever they travel, including on the way back from a wall bounce, so you can fire freely in tight spaces; when left on, your bullets can still curve or ricochet back and wound you as before.
Made it so an npc creature that dies from an unassisted fall no longer gives you experience, since you didn't land the blow yourself, though it still counts toward your kill total and drops its loot as usual. Knocking an enemy off a ledge yourself, with a weapon that pushes, is the exception and still pays out experience and the defeated credit, since that kill was your doing; only a creature that falls or wanders off on its own goes unrewarded.
Made it so npcs can now navigate around simple obstacles instead of getting stuck on them. A creature chasing you no longer backs off a ledge or paces helplessly when a wall blocks its path; on 3d maps it follows along a blocking wall to get around its end, and it climbs a staircase or ladder to reach you when you're higher up instead of milling around on the ground beneath you. This is local obstacle avoidance rather than full path finding, so a wall that completely boxes a creature in, or an opening only on the far side of a very wide wall, can still stump it.
Made it so a long fall can now hurt an npc creature, which cries out as it lands and has the damage shown in your combat log. A creature that drops eight tiles or more takes damage when it lands, scaled by how far it fell and softened by its defence, and is briefly stunned as it slams down, so knocking an enemy off a high ledge can wound or even kill it. A short drop is harmless, and a fall zone spares a creature the same way it spares you.
Made it so npcs are now affected by gravity. A creature left standing on nothing, because it walked off a ledge chasing you, was knocked into the air, or was spawned above the ground, now falls to the ground below instead of hovering in place, landing with a heavier sound the farther it dropped. Each creature has a new flying setting that keeps it airborne if it is meant to hover, like a bird or a ghost, and a grounded creature only walks off a ledge on its own while it is chasing you with its chase terrains option turned on.
Made it so the text that map elements show the player can now carry the same live tokens that commands use, so a sign, a dialog, a text square, a timed text, a blockage, or a text or menu input's prompt and choices can read out your current values as the text appears. Write something like your health is %health% or you have %flag:coins% coins into the text and it is filled in the moment it is shown; the flag, item count, sequence progress, and random tokens all work too, and a plain percent sign is left alone unless it exactly spells a token.
Made it so fighting on broken bones now jolts you with a stun of pain that briefly freezes you in place, the same way moving on broken bones does, and firing your weapons while your bones are broken is no longer blocked, so you can still fight hurt but the strain can seize you mid-shot. Stuns in general now hold you for their full moment as well, so a stunning weapon, a hard fall, or an enemy's stunning hit briefly freezes your character, where before the freeze slipped away almost at once.
That's all for today. Stay tuned for any future announcements!
I just wanted to say I'm extremely proud of how far simple fighter has come. I never could have gotten it here without all of you guys.
Thank you so much for playing it, building with it, and being part of the ride. Keep making maps, keep having fun, and take care!
This has been quite the fun experience. If you guys upload any maps, please let me know so I can approve them.
Here's the download link, accessible on github.io.
https://github.com/tsatria03/SimpleFighter/releases/download/V15.00/SimpleFighter_password_is_SpfBuilder.7zEnjoy, and happy playing!
The people who love you the most, are the people who matter most in your life.