022 Changes

New Features

Improvements

Fixes

Other

021 Changes

New Features

Improvements

Fixes

Other

019g Changes

New Features

Improvements

Fixes

Other

019f changes

This is mostly a bugfix release.

New Features and Improvements

General Fixes

Editor Fixes

Other Changes

019e changes

This is a minor bugfix release.

General Fixes

Editor Fixes

Improvements

New features for 019

Bug fixes

Other changes

New features for 018a

Bug fixes:

Other changes:

Headline Changes for 018

New features:

Bug fixes:

Other changes:

Headline Changes for 017b

Bug fixes

Headline Changes for 017/017a

New features

Other enhancements

  • Hostile load-out zones always drain energy, even if moving
  • Hostile FFs allow flags through again
  • Save previous level's loadout as on-deck for the next level, if the next level has load-out zones
  • Music for menu and in-game is separate. Bitfighter looks for menu.ogg in the 'music' folder, anything else will play in-game
  • New help page for in-game indicators like scoreboard marks
  • Scroll wheel can be used in menus and in-game weapon switching
  • In case of unrecognized joysticks, use a default profile from the INI so users can edit it
  • Fancy text effect when returning more than 100 flags in nexus
  • Idle players are grayed-out in the scoreboard
  • Idle players are no longer included in game statistics if they've been idle the entire level
  • Idle players may be kicked if they've idled too long
  • Server will suspend if all players go idle
  • Server command line options: -nolevelchangepassword, -noadminpassword

    Bug fixes

    • Sparks from previous levels are cleared when a new level loads
    • Fixed bullets not shown in commander's map with sensor module equipped
    • Mac basic shortcut keys work
    • Fix game shutdown crash on PPC
    • Fix Mac fullscreen crash by forcing fake fullscreen for now (you will have to hid the dock)
    • On Windows, fix playing music spiking the CPU and not allowing the bitfighter process to finish
    • Fix gametype instuctions (F2)
    • Restore movement in quickchat menus
    • Fix repair distance behavior. This may allow healing at a slightly longer distance
    • Fix music not being played from local music folder on Mac
    • Fix some memory leaks
    • Fix some connection issues
    • Fix several random game crashes
    • Fix s_bot on Retrieve gametype
    • Fix some Editor object copy problems
    • Fix Editor not reading in 2-point walls with both points the same
    • Keypad numbers should work as regular numbers in-game
    • Fix mouse menu scrolling
    • Single-team game leaderboard should now always display correctly
    • Fix inserting vertices into diagonal barriers
    • Fix black screen of death when chatting + idle on level change
    • Fix several player idle/spawn-delay issues
    • Better handling of idle players and balancing teams
    • Fix animation of Core not spinning when game time was set to unlimited
    • Fix Core stuttering with time changes

    Headline Changes for 016

    • New game type: Core
    • Weapon and module changes and upgrades
    • Better voice chat for all platforms
    • Screen shots fixed
    • Soccer pick-up dropped and soccer ball inertia added

    Gameplay

    • Added Core game type. Destroy enemy cores to win. Core health can be set in the editor.
    • Added loadout presets. Players can save loadouts with Ctrl-1/2/3 and load them with Alt-1/2/3. Loadouts are saved via INI and can be viewed with the /showpresets command.
    • Upgraded Sensor increases passive viewing range and allows spybug placement without using a weapon slot. Spybugs are now placed with double-click
    • Added spawn shield. Protects newly spawned players for several seconds until they move, activate a module, or fire a weapon
    • Energy recharge rate increases while idle and doubles while idle in a loadout zone. Hostile loadout zones drain energy.
    • Removed soccer ball pick-up. The ball is now “heavier”, and other objects, like TestItems, are heavier as well.
    • Triples consume about 20% less energy than in the 015 series
    • Bouncers are more effective against the Armor module
    • Loadouts no longer carry over from level to level -- now you start a new level with the default loadout
    • Added top scores in single-team games like Rabbit and Bitmatch to lower right corner
    • Player ratings are determined by kill/death ratio. If you die more, your rating is negative
    • Forcefield engineer abuse has been greatly reduced. Note: Original forcefield behavior can be accessed through 'EngineerUnrestricted' instead of 'Engineer' in Specials
    • Team bitmatch suicides no longer hurt team score
    • Teleporting onto a loadout zone triggers loadout change, just like flying onto one

    Client

    • Added music sub-system. Plays Ogg Vorbis music files. You can test it by placing files in the 'music' sub-directory
    • Fixed screenshots; now use PNG format
    • 64-bit Intel Mac build available now
    • Fixed voice chat for all operating systems, with improved quality
    • Reduced leave/join spamming in lobby
    • Allow /mute in server lobby
    • Fixed some game lobby bugs with leaving/joining being out of sync
    • Added scoreboard marks for admins (@) and level changers (+)
    • Joystick profiles are now kept in a separate INI, joystick_presets.ini, that can be adjusted and added to for your joystick
    • Smaller text should look crisper throughout the game
    • Line smoothing is now officially part of the game
    • Removed -jsave and -jplay cmd line options. It's been ages since they worked, and it's unlikely they ever will
    • -help cmd line option now displays meaningful help
    • Added engineer to help screen
    • Added Bitfighter icon for the taskbar
    • Diagnostics work a little better and will not show joystick info if none is attached
    • Allow for more than 32 different types of game objects for future expansion
    • Reduced CPU usage on diagnostics screen
    • Reduced CPU usage for overlapping asteroids
    • Migrated from GLUT to the SDL framework. This brings several improvements like faster rendering on Mac and nicer Input programming.
    • Fixed message rendering problem with disabled loadout indicators
    • Multi-line chat is now indented to prevent spoofing
    • Prevent impersonations with spaces in a username

    Editor

    • Added mouse wheel zooming in the editor
    • Implemented 2-tier snapping in editor -- hold space to disable grid snap, but still snap to wall corners and other items; hold shift-space to completely disable snapping
    • Added plugin system for the editor -- users can write scripts to generate items in the editor and bind them to hot keys. Includes simple curve generation tool as a sample.
    • Added editor option to disallow robots
    • Added 'tab' filename completion in editor levelname entry screen
    • Added mouse wheel scrolling for existing level names on levelname entry screen
    • Removed dedicated wall-editing mode (Ctrl-A)
    • Game statistics not recorded when testing a level from the editor

    Hosting

    • Added /leveldir admin command to change folder where levels are read. Change affects current session only, and will not be saved in the INI.
    • Added /ban and /banip for persistent server ban lists.
    • Added /resetscore command
    • Added /shuffle command for admins
    • Removed optional hostAddr cmd line parameter for -dedicated . Specify host address (only rarely needed) with the existing -hostAddr option
    • Removed -server cmd line parameter; not sure it really ever worked at all
    • Incorrect admin and levelchange password entries are now logged in server log
    • Fixed rare crash with bot zone generation
    • Console command history now working in a sane manner

    Bots & Scripting

    • Robots are smarter with forcefields
    • Robot team messages now only go to the team
    • Robots only spawn if a valid script is detected
    • Removed deprecated getMove() method -- if your bot still relies on this, it will no longer work
    • Migrated onTick() to a standard event -- this will let bots unsubscribe to onTick events if they like (bot start out subscribed to onTick by default). See wiki for how to use this to make the bot sleep for a time.
    • Added nexusOpened and nexusClosed events. See wiki for details.
    • Lua added copyMoveFromObject, Lua getCurrLoadout and getReqLoadout can now be used for ships
    • LUA scripts print to the OGLconsole

    New Features and Enhancements in Bitfighter 015a

    • Players can now see cloaked teammates.
    • Added Robot:dropItem()
    • Fixed selecting loadout that is same as ship after selecting new loadout, now avoids changing ships loadout when canceled.
    • Can now choose one of multiple joysticks. If there is no joystick, then you cannot change input from keyboard to joystick.
    • Indicator now shows which team possesses the flag in CTF, ZC, and rabbit in team mode.
    • Rabbit and Nexus no longer always spawn with current loadout where there is loadout zone.
    • Added support for PS3 joystick.
    • Tab-expansion when typing a /command has been much improved.
    • Added /pausebots and /stepbots commands, also mapped alt-] to /stepbots, and ctrl-] to /stepbots 10
    • Added /addbot, /addbots, /kickbot, /kickbots commands
    • Added /mute to mute a noisy player
    • Added /gmute to globally mute a noisy player (Admins only)
    • Increased rendering speed for most game objects
    • Improved edge rendering for barriers in-game and in the editor
    • Vastly improved performance for auto-generated bot nav zones
    • Bot nav zones now auto generated for all levels at load time; no further need to manually create zones; manual zone creation will be removed in future version
    • PolyWall item added to editor -- works just like a wall, but is edited like a loadout zone or other polygon item. Note that this replaces the undocumented item "BarrierMakerS" which is now deprecated.
    • Chat/Command box now in lower-left of screen. Chats now appear immediately above it.
    • Multi-line chat in game lobby
    • Game statistics are kept in a local SQLite database
    • Robots are smarter now; they avoid running into walls, turrets, and forcefield projectors
    • Robots can use teleporters now
    • Robots paths are cached - can speed up performance on large maps with many bots
    • Primordial voting system added; disabled by default; will improve upon it in the future
    • Add level option to allow soccer ball pickup
    • S_bot is the default robot when adding a robot
    • Admins can upload local .level files to a server

    Bug Fixes

    • Fixed bug with crossing forcefields when using engineer module
    • Fixed bug letting some players pick heat seeker when the weapon doesn't yet exist
    • Fixed a possible server crash when client sends invalid weapon or module in loadout
    • Fixed Robot:getReqLoadout that returns invalid third weapon.
    • Fix problem where kicking a player will lag, delay disconnect other players at the same IP address or same computer
    • Some minor adjustment to SpeedZone to avoid any possibility to get through one way SpeedZone path, reduce lag while using SpeedZone.
    • Can add or remove joysticks while in the options menu; no longer requires restart
    • Fixed giant memory leak with editor and /showzones
    • Fix editor crash if all teams were deleted
    • Fix missing sound on some Intel sound chips
    • Fix missing sound when using /suspend
    • Linux joystick fixes
    • Fix CPU timing issues
    • Fix broken rating sort - teams should sort better at start of rounds now
    • Fix large scores being chopped off of the display

    New Features in 015

    • Engineer module -- build turrets and forcefields by grabbing resources; activate with /engf or /engt; only works on levels containing line Specials Engineer
    • Armor module -- makes ship stronger but harder to control; always active, uses no energy (Experimental, may be removed in future version)
    • Upload/download resources (levels, levelgens, and bots) from remote server (if enabled, and you have the password) via cmd line parameters
    • Added /getmap command to allow anyone get a currently playing map, if server enabled it.
    • Bots can be added to levels without nav zones, and the zones will be generated automatically

    User Interface

    • Pressing enter now advances to next menu item on most menus

    Scripting

    • Levelgens can be names .lua or .levelgen, and can be stored in either the levels folder or the lua scripts folder
    • Levelgens style scripts can be run from the console with run <script> {args}.
      Scripts can be names .lua or .levelgen, and can be stored in either the levels folder or the lua scripts folder.

      Specifying the extension is optional.
    • added game:isNexusOpen() game:getNexusTimeLeft() GoalZone:hasFlag() FlagItem:getCaptureZone() FlagItem:getShip() Ship:getMountedItems() bot:engineerDeployObject(EngineeredTurret or EngineeredForceField)
    • Robot errors now appears in game console when hosting.
    • Added /showbots to show all robots, /drobot to show robot paths.

    Editor

    • When creating a new level, credits line is prepoluated with current player name (unless it's ChumpChange)
    • Max level size now unlimited, individual lines limited to c. 4000 characters, which is plenty
    • Can place neutral spawnpoints: Any team can spawn at these
    • When running command from console (run <script>) any created items are now selected
    • Entering 0 time will create unlimited time games. Just because you can doesn't mean you should!
    • Allow bypass level warnings and errors when trying to test level.

    Misc

    • Passwords now stored in plaintext in the ini file; gives increase in convenience with only small decrease in security; still transmitted via hash
    • When master server is unreachable, server will remember recent game servers and will try to contact those
    • Can define multiple servers in the INI to always try contacting without assistance of the master (good if you are running several servers locally)
    • Engineer module can no longer create crossing forcefields
    • Added /linesmooth /linewidth /maxfps commands, and they are available in INI
    • Added /setscore and /settime commands that set the score and game time for the current level
    • Added /getLevel (/getmap ?) command to download current level to local machine (only some game servers will allow this)
    • Near instant display of bot nav zones with /dzones, but now only works on local hosts (i.e. when you are hosting in-process)
    • Bot nav zones can now link both nav zones with teleporters, this allows robots to use teleporters.
    • Some bandwidth saving by sending updates less often on slow moving objects.
    • Added /pm to send private message in a game server.

    Bugs

    • Fixed issue of wrong player being selected on change teams/kick menus
    • Fixed rare but very annoying problem of flags that can't be picked up
    • Fixed bug with verified names not appearing verified with arranged connection (i.e. most of the time)
    • Ingame Bitfighter logo display issues corrected.
    • Bitfighter logo now positioned almost exactly where the generating text is located, at all zooms and rotations Note that if you have levels with the Bitfighter logo, it's position may have shifted!
    • Fixed soccer sync problems
    • Fixed long loading and lag on level maps with lots of bot zones, /dzones will work only when hosting
    • Fixed crash on maps with: missing GameType, missing Team; FlagItem, Soccer and HuntersNexusObject on wrong GameType; out of range team number, Neutral flag in CTF.
    • Fixed lots of Robots problems. Robots can now score, hold nexus and rabbit flags, and allow admin to kick robots or change robots team.
    • Fixed rare nexus problem with extra flag appearing that doesn't exist on server or other clients.
    • Fixed burst and lag while going forward, bouncing off your own ship.
    • Fixed some random turret hits self.
    • Fixed score board not sorting with lots of players.
    • Fixed problem with unable to see all ships in your teams in full map view.
    • Fixed bouncer going through ship when too close to the wall.

    List of updates and fixes in 014a

    • Fixed crash in chat room
    • Enter advances item selection in menus

    List of updates and fixes in 014

    Soccer Mods

    • Can pickup, carry, and pass ball

    Verified accounts

    • User names now verified against forums user list -- if you want to play with a name from the forums, you need to supply the forums password for that account

    OS X

    • Major crashing issues on Intel Macs now, finally, resolved!!!
    • New, fancier installer

    Linux

    • Ctrl keys now work on Linux, making the editor much more accessible. Yay!
    • Added some support for joysticks in Linux

    Windows

    • Added updater for windows -- will check for new versions and help you install them. Can be disabled in INI.

    User Interface

    • More menuing overhaul -- nicer colors, and much better design internally to support multiple menu item types on a single menu
    • Overhaul of game lobby; long lists of servers better handled, chat-server divider now moveable by dragging
    • Added /connect command, available in game lobby. Usage: /connect <address>:<port>. Bypasses master server

    Minor Enhancements

    • Better user message when server is full
    • (1) button on joystick acts like select on menus
    • Experimental forcefield color enhancement

    Scripting

    • Added setGameTime(time_in_mins) command in levelgens.
    • Included new geometry functions (thanks Joe!)
    • Reorganized layout of lua functions. Made vectors available in levelgens (largely untested).
    • Added output console to show all output from levelgen and bot scripts. Visible with "/" in the editor, "Shift-/" in game.
    • Added pointCanSeePoint(point1, point2) function to levelgens, to provide line-of-sight information for a pair of points.

    Editor

    • Changed shortcut key for splitting walls at selected node to "\" (so "/" can be used to open console)
    • Can insert spaces into level names again (accidentally disabled in a previous release)
    • Added Ctrl-I key to editor that copies results of levelgen script into editor (must run levelgen first with ctrl-R). Entities can then be edited and saved like entities created by other means.

    Bug fixes

    • Rare teleporter crash resolved.
    • Rare flag crash issue resolved when flags spawn on top of one another.
    • Min/max player level params properly handled.
    • Leveldir param now properly handled with specifying an absolute path.
    • Scores over 99 now visible in team nexus games.
    • Player names now guaranteed unique on any given server (again).
    • Game no longer crashes when too many mines explode at once.
    • Ship colliding sound no longer plays on server
    • CTF game no longer crashes when two flags are place on top of one another.
    • Can no longer carry multiple flags in CTF game
    • Fix for too-many-collisions-bogging-down-the-server bug
    • Fix for F2-causes-crash-on-level-change bug
    • Fix for flickering black bars bug
    • Fixed rabbit flag issue where clients would on occasion lose track of where the flag was

    Release notes for 013e

    • New unstretched fullscreen mode
    • When entering filename for editor, arrow keys select existing file names
    • Can take multiple screenshots without crashes (Ctrl-Alt-Q)
    • Enhanced menu system (more colors, more flexibility internally)
    • New hosting menu where players can specify passwords and server name
    • Can now supply a reason when using /shutdown command (e.g. /shutdown 30 Need to change levels; will restart shortly!)

    Release notes for 013b

    Bug fixes

    • Fixed bug in editor that prevented editing of GoFast attributes
    • 32 vertex loadout zones no longer crash game
    • Fix for invalid md5 hash on 64 bit machines
    • Fix for crashing spybug problem

    Enhancements

    • Global chat screens now show players joining/leaving, list players using their message color instead of yellow
    • Added very minor cpu throttling when playing with FPS > 100. Should help reduce system load and power usage.
    • level change and admin passwords now remembered for specific servers, and are automatically entered upon connect

    Editor enhancements

    • Walls rendered differently when dragged

    Levelgens

    • Player count is now available when running the levelgen using the new getPlayerCount() function

    Release notes for 013a

      Bug fixes

    • Soccer ball return bug
    • Rejoin game problem
    • Leveldir resolution issues
    • Scripting fixes for locating soccer ball and repair items

    Release notes for 013

    Big changes

  • Added ability to add arbitrary linework to levels, complementing existing text. To add lines, hold ~ and right-click.
  • Started trasnsition of Join menu into Game Lobby
  • Started developing framework for remote server management
  • Smaller changes

  • Added Restart Level to game options menu if you have level change permissions
  • Moved Add 2 Mins option to LevelChanger permission level (with older servers you'll still need admin rights)
  • Added asteroids, testItems, soccerball, and resourceItems to help screen, enhanced instruction colors
  • Fixed several in-game crashing issues
  • Minor efficiency improvements on rendering routines
  • Retrieve games now allow non-team flags
  • Bouncers now do half-damage to shooter, rather than full as in previous releases
  • Triples no longer damage shooter
  • Password entry in INI file now changed to ServerPassword -- if you use this, you'll need to manually update your INI file
  • HuntersFlagItem can no longer be used in level files. Please use FlagItem -1 instead!! Note that this line is only present in hand-modified level files
  • Min/max player level params now used when selecting levels
  • Slight improvement when rendering walls joining at acute angles
  • XBOX controller on windows now much better supported
  • Bot nav mesh zones can be displayed in-game by using /dzones command
  • Soccer ball now warps back to starting point rather than "drifting" back
  • Loadout/weapon indicators now more "vector graphicy", colors no longer botched on Vista/Win7
  • Infrastructure in place for goals with different values -- only need editor UI and level file syntax
  • More orderly disconnect from master server when quitting game should make current player counts more accurate and timely
  • Sounds

  • New sound when ship hit by projectile
  • New sound when using GoFast
  • New SFX when players join/quit game
  • Bots

  • Added enhanced timer class to Lua scripting
  • Moved some "unwrapped" functionality into main() function
  • Renamed getMove() function to onTick() ==> 012 era bots will need to be updated
  • Fixed module "always on" bug
  • Fixed "shoot through shielded robot" bug
  • Event manager now working. Can now add game events easily.
  • Added ShipSpawned, ShipKilled events
  • Added ship:isAlive() method
  • Return nil rather than dummy value when method called on dead ship (e.g. in 012, ship:getLoc() returned 0,0 if ship was dead, now returns nil)
  • Got rid of NexusFlagitem --> Now all flag are FlagItems, for all games
  • getName() function now run first, so game will have bot's name before any real game logic gets run
  • Created Player object with info about individual players/bots which you can get from Ship, GameInfo, and TeamInfo objects
  • Restructured the way bots are initialized so that all bots are loaded and getName()s are run before any main() functions are run
  • Can now pass arguments to bots from level file using arg struct, just like with levelgens
  • Robots now shown on scoreboard and in various menus where players are listed
  • Robot names are now "uniqued"
  • Overrode Lua's random generator to use one that's a bit more... random
  • Added setAngle() and setPolar() methods to point object
  • Bots no longer appear as tiny blobs after passing through teleporters
  • Editor

  • Many small improvements to editor
  • Fixed editor crashing issue caused by double-delete of item
  • Fixed editor crash while caused by pasting objects in the middle of a drag operation
  • Undo/redo more efficient -- will perform better with large levels and deep undo states (and will no longer crash!)
  • Added autosave -- will keep a current copy of the level on disk in the event of a crash (though crashes are much rarer now)
  • Ctrl-left click now starts a wall
  • Can now add arbitrary line items in editor: hold "~" while right-clicking to start
  • Editor remembers name of last edited file
  • Ctrl-A can now be used to hide navMeshZones
  • Improved preview mode (when holding Tab key)
  • Text in editor now subject to same min/max size constraints as text in the game
  • Team names can be changed in the editor
  • When moving, items now snap to grid based on vertex closest to cursor, giving much greater control over placement. Snapping vertex highlighted in magenta.
  • Can now snap items to other items, not just to grid
  • Hovering over an item no longer counts as selecting it
  • Increased readibility of node numbers on selected lines/polygons
  • Holding tab now only shows range of selected turrets/spybugs
  • When editing navMeshZones, non-convex zones rendered in red to indicate potential problems
  • Improved snapping of nav mesh zones, including rendering of connections between zones
  • Grid fades when grid-snapping disabled
  • Changing wall widths is now undoable
  • Arbitrary scaling of selected items now works with Ctrl-Shift-X
  • There are now multiple edit modes (normal, bot nav mesh zone mode, etc.) customized for different purposes -- use Ctrl-A to toggle
  • Switched H and F key assignments -- F now inserts forcefield, H flips selection around horizontal axis
  • Holding <shift> while panning causes pan speed to increase -- good for larger levels at higher zoom scales
  • Improved coordinate display on dock -- now shows coords of snapping vertex when dragging an item
  • Editor now starts with (0,0) centered on the middle of the screen
  • Server management

  • Added /shutdown, /setlevpass, /setserverpass, and /setadminpass chat commands (see in-game help)
  • Added /setservername and /setserverdescr commands
  • Added /deletecurrentlevel command to remove level from remote server (file not deleted, but won't be loaded in future)
  • New orderly shutdown process when using /shutdown command (i.e. players notified, dedicated servers can be terminated, etc.)
  • If level change password is left blank, all players granted access (not so for admin password)
  • If level change password is set to blank, all players currently connected are silently granted access to level change menu
  • -password command line parameter changed to -serverpassword
  • When all players leave game, game advances to next level, and suspends itself until a player joins. That way, when players join, level is "fresh" and ready to go. May also reduce processor load and power consumption
  • Added ability to put game into suspended animation, automatically restarting when other players join (/suspend command)
  • Removed allLevels command line parameter, and disabled INI level specification
  • Enhanced logging
  • Linux

  • Added ability to specify locations of various resouces on the cmd line. See wiki for details.
  • Bitfighter builds on both 32 and 64 bit environments
  • Windows

  • Windows installer now does a better job of installing files in their "proper" location
  • Windows installer now installs data files (levels, robots, etc.) in My Documents on Win7 and XP. Untested on Vista, but should work
  • Bugs

  • Fixed rare Zap-era crash condition when player shoots a soccer ball, but quits game before goal is scored
  • Fixed turret/forcefield "in the middle of space" bug
  • Fixed textItem bounds miscalculation that caused large text to "jump" onto screen
  • Fixed /dcoord display position bug
  • Fixed robot bug reporting incorrect team for flags
  • Fixed extent bug when computing extents of levels that do not overlap (0,0)
  • Game no longer crashes when using the -connect param
  • Release notes for 012c

    Release notes for 012a

    Major changes in 012

    Release notes for 012

    Major changes

    Other changes

    Configuration

    Display

    Bug fixes

    Misc

    Windows

    Linux

    Release notes for 011

    Major changes

    Detailed change log

    General Enhancements:

    Items:

    Specifiying levels:

    Scoring:

    Editor:

    Bug fixes:

    Server menu enhancements:

    Release notes 010

    Upgrading

    Administrative

    UI

    Bugs

    Editor

    Other

    Release notes 009

    Upgrading

    Major upgrades

    Minor upgrades

    Command line parameters

    Soccer

    Hunters

    Editor

    Bug fixes

    New in release 008a

    Bug fix

    New in release 008

    New in release 007

    New in release 006

    New in release 005

    New in release 004

    New in release 003

    New in release 002