Releases: DigitalPulseSoftware/BurgWar
Beta 0.2.1 - Now with icons, IPv6 fix and more gravity!
Beta 2.1
General
- Gravity and jump power are now 50% stronger
- Handled servers registering using IPv6, they will now register a second time using an IPv4-only route which will allows master server to know both addresses (which will then be used by the game).
- Increased max distance of weapon_graspain
- Added icons to game and map editor executables on Windows
Fixes
- Improved visibility check of entity_tilemap_fade
- Fixed default serverconfig.lua
Beta 2.0
Highlights
- The map editor is now able to show other layers (as they would be seen in the game)
- Added bundled map scripts
- Added initial mods support
- Added server listing (with server name, description and more!)
- Added supersmashburger gamemode
- Added teamdeatchmatch gamemode
- Added teams handling
- Added new ssb_island map (with scripted events)
- Added /resetmap admin command
- The grapple will now break with too much force applied
General
- x86 arch is no longer supported
- Official fast-download and master server URLs have been added to the default configuration files
- Improved Windows and Linux builds
- Fixed hovering visuals (nickname, health bar) position when the player entity gets scaled up or down
- Added maptool (command-line software which can compile maps from json to binary format)
- The client will now try other fast download urls in case of failure
- Nicknames are now limited to 32 characters
- Switched from static to dynamic linking for common code to decrease binary size
- Updated beta_map
- entity_powerup and entity_powerup2 have been replaced by entity_spawner
GameSettings
configuration table has been renamed toServerSettings
- Server config
GameSettings.MapFile
has been replaced byServerSettings.MapPath
(which can point to a non-compiled map folder as well as a compiled .bmap file) - Added
ServerSettings.Name
,ServerSettings.Description
,ServerSettings.Port
andServerSettings.MaxPlayerCount
configs
Map editor
- Added a button to explicitly rebuild the asset list
- Maps asset lists are now sorted by path
- Fix: the entity list is now properly cleared when closing a map
- Fixed entity selection when creating a new one (previous selection is now discarded)
- When reloading scripts, all entities are now recreated (in case their init callback changed).
Scripting
- Added InputController (a script can now override the way entities inputs are generated)
- Gamemode events are now triggered on the table they used to register the event (this is important when using gamemode inheritance)
- Added
PlayerControlledEntityUpdate
client gamemode event. - Added Text renderable (which is now used for showing player nicknames)
- Added IncomingNetworkPacket:ReadBoolean() and OutgoingNetworkPacket:WriteBoolean()
- Added IncomingNetworkPacket:ReadColor() and OutgoingNetworkPacket:WriteColor()
- Added Element:GetGlobalBounds() and Element:GetLocalBounds() (client-side only for now)
- Base gamemode has now BasePlayerDeathSlot and BasePlayerJoinedSlot to allow derived gamemode to disconnect them
- The Destroyed event is no longer called client-side when a layer is disabled
- Added Constraint:GetLastForce and Constraint:GetLastImpulse
- Added Element:GetOwner() on client
- Added Element:GetInputController()
- Added Element:UpdateInputController()
- Added Player:IsLocalPlayer() on client
- Added Player:GetInputs (for every player on server but only local players on client)
- Added Rect:ExtendToPosition(pos)
- Added Rect:Scale(scale)
- Added match.GetEntityByUniqueId(id)
- Added match.GetLayerCount()
- Added match.GetPlayerByIndex(id)
- Added match.ResetTerrain()
- Added math.approach(current, target, incr)
- Added table.join(...)
- Added Scoreboard:UpdatePlayerTeam()
- Added base gamemode event
PlayerTeamUpdate
- Added base gamemode callback
GetPlayerColor
- Added match.BroadcastChatMessage(message)
- Element:AddSprite now accepts a
repeatTexture
boolean - Scoreboard:RegisterPlayer now takes a table parameter
- match.BroadcastPacket now has a second optional parameter to disable ready check
- match.GetPlayers now longer returns connecting players
- Replaced Entity:Kill() by Element:Kill()
- Elements and gamemode events can now be disconnected using the Disconnect method
- Player entities are now detected using a
IsPlayerEntity
boolean on their table - Fixed gamemode overriding of the
Musics
table - Fixed entity_burger_ai only targeting entity_burger (will now target any entity having .IsPlayerEntity = true)
- Fixed weapon_graspain grapple force (is now based on entity mass)
- Fixed static entities movement not being sent to clients
- Fixed a lot of small issues
Beta 0.2 - Now with new gamemodes, mod support and server listing!
Changelog
Highlights
- The map editor is now able to show other layers (as they would be seen in the game)
- Added bundled map scripts
- Added initial mods support
- Added server listing (with server name, description and more!)
- Added supersmashburger gamemode
- Added teamdeatchmatch gamemode
- Added teams handling
- Added new ssb_island map (with scripted events)
- Added /resetmap admin command
- The grapple will now break with too much force applied
General
- x86 arch is no longer supported
- Official fast-download and master server URLs have been added to the default configuration files
- Improved Windows and Linux builds
- Fixed hovering visuals (nickname, health bar) position when the player entity gets scaled up or down
- Added maptool (command-line software which can compile maps from json to binary format)
- The client will now try other fast download urls in case of failure
- Nicknames are now limited to 32 characters
- Switched from static to dynamic linking for common code to decrease binary size
- Updated beta_map
- entity_powerup and entity_powerup2 have been replaced by entity_spawner
GameSettings
configuration table has been renamed toServerSettings
- Server config
GameSettings.MapFile
has been replaced byServerSettings.MapPath
(which can point to a non-compiled map folder as well as a compiled .bmap file) - Added
ServerSettings.Name
,ServerSettings.Description
,ServerSettings.Port
andServerSettings.MaxPlayerCount
configs
Map editor
- Added a button to explicitly rebuild the asset list
- Maps asset lists are now sorted by path
- Fix: the entity list is now properly cleared when closing a map
- Fixed entity selection when creating a new one (previous selection is now discarded)
- When reloading scripts, all entities are now recreated (in case their init callback changed).
Scripting
- Added InputController (a script can now override the way entities inputs are generated)
- Gamemode events are now triggered on the table they used to register the event (this is important when using gamemode inheritance)
- Added
PlayerControlledEntityUpdate
client gamemode event. - Added Text renderable (which is now used for showing player nicknames)
- Added IncomingNetworkPacket:ReadBoolean() and OutgoingNetworkPacket:WriteBoolean()
- Added IncomingNetworkPacket:ReadColor() and OutgoingNetworkPacket:WriteColor()
- Added Element:GetGlobalBounds() and Element:GetLocalBounds() (client-side only for now)
- Base gamemode has now BasePlayerDeathSlot and BasePlayerJoinedSlot to allow derived gamemode to disconnect them
- The Destroyed event is no longer called client-side when a layer is disabled
- Added Constraint:GetLastForce and Constraint:GetLastImpulse
- Added Element:GetOwner() on client
- Added Element:GetInputController()
- Added Element:UpdateInputController()
- Added Player:IsLocalPlayer() on client
- Added Player:GetInputs (for every player on server but only local players on client)
- Added Rect:ExtendToPosition(pos)
- Added Rect:Scale(scale)
- Added match.GetEntityByUniqueId(id)
- Added match.GetLayerCount()
- Added match.GetPlayerByIndex(id)
- Added match.ResetTerrain()
- Added math.approach(current, target, incr)
- Added table.join(...)
- Added Scoreboard:UpdatePlayerTeam()
- Added base gamemode event
PlayerTeamUpdate
- Added base gamemode callback
GetPlayerColor
- Added match.BroadcastChatMessage(message)
- Element:AddSprite now accepts a
repeatTexture
boolean - Scoreboard:RegisterPlayer now takes a table parameter
- match.BroadcastPacket now has a second optional parameter to disable ready check
- match.GetPlayers now longer returns connecting players
- Replaced Entity:Kill() by Element:Kill()
- Elements and gamemode events can now be disconnected using the Disconnect method
- Player entities are now detected using a
IsPlayerEntity
boolean on their table - Fixed gamemode overriding of the
Musics
table - Fixed entity_burger_ai only targeting entity_burger (will now target any entity having .IsPlayerEntity = true)
- Fixed weapon_graspain grapple force (is now based on entity mass)
- Fixed static entities movement not being sent to clients
- Fixed a lot of small issues
Beta 0.1.1
Changelog
Beta 1.1
General
- Reworked assets and scripts downloading (assets can now be downloaded directly from server).
- Console colors are now supported on Linux
- The game is now able to load pre-beta maps
- Fixed crash on exit
Config
- Added Debug.ShowVersion (true by default) which shows the game version in a corner
- Added GameSettings.FastDownloadURLs config
- Renamed Assets.ResourceFolder to Resources.AssetDirectory
- Renamed Assets.ScriptFolder to Resources.ScriptDirectory
Build
- Enabled /w44062 on MSVC (switch case not handled warning)
- x86 builds are now supported
Beta 0.1
Changelog:
-
Added CI and nightlies for Windows and Linux
-
Burgers now explode in parts when dying
-
Cloves mines no longer explodes on layer update
-
Added powerups
-
Entities can now be scaled
-
Lowered weapon_sword_emmentalibur cooldown
-
Improved network synchronization:
- All entities are now predicted and reconciliated client-side
- Improved bandwidth using a priority queue server-side
- Improved client-side reconciliation performance
-
Added callstack dump on crash (Windows)
-
Crash fixes
-
Fixed client-side entities inheritance
-
Added /teleport command for admins
-
Local players are now admins by default
-
Grapple will now release when switching to another weapon.
-
Added beta_map
-
Escape now closes the chatbox (#42)
-
Added cancel button when connecting (#38)
-
Reworked player collider box
-
Added spawn-kill protection (#43)
-
Grapple will no longer collide with triggers and powerups (#39)
-
Added version info
Scripting:
- Remade event and entities systems
- Reworked gamemode handling
- Gamemodes can now have properties and be inherited
- Added Sprite::SetColor
- Vec2::Normalize|GetNormalized now works
- Added [Incoming|Outgoing]NetworkPacket::[Read|Write]CompressedInteger
- Added [Incoming|Outgoing]NetworkPacket::[Read|Write]Double
- Added [Incoming|Outgoing]NetworkPacket::[Read|Write]Entity
- Added [Incoming|Outgoing]NetworkPacket::[Read|Write]Single
- Added [Incoming|Outgoing]NetworkPacket::[Read|Write]Vector2
- Added Element::GetPlayerMovementSpeed and Element::UpdatePlayerMovementSpeed
- Added Element::GetPlayerJumpHeight and Element::UpdatePlayerJumpHeight
- Added Element::Disable, Element::Enable and Element::IsEnabled
- Added Element::SetScale
- Added Rect:GetSize()
- Added Camera class
- Added debug.DrawRect
- Added weapons switch on and switch off events.
- Added Tilemap class
- Added Music class
- Added pprint (pretty print function) and tostring second parameter
- Fixed coroutines issues
Internal:
- Switched from Premake to xmake
- Reworked properties
- Players no longer own weapons, the entity they control do
- Removed *.moc files from the repository
- All standard exceptions are now catched before being thrown out, ensuring objects destructions
- Normalized line endings
- Updated sol to v3.2.1
- Maps are now part of the repository
- Every lua function is now wrapped in a try/catch block to prevent exceptions from corruption Lua internals and to convert them to Lua errors.
- Upgraded map version to 1
MapEditor:
- Added entity prefabs (WIP)
- Added multiple entities selection
- Entity info dialog now shows entities unique ids.
- Fixed map data corruption when saving
Alpha 0.6 - A lot of stuff
- Executables have been renamed
- Remade prediction
- Switch to a perspective camera (allowing 3D models)
- Add 3D models
- Add particles
- Add camera zones
- Add scoreboard
- Add escape and option menu
- Add patator
- Player nickname and volume are now saved
- Fixed black lines
- Add map editor grid
- A lot of fixes (+ some new bugs)
- Add undo/redo to the map editor
- Add cloves mines
Known bugs:
- Map editor may sometimes overwrite another entity than the one you're editing
Alpha - 0.5 release - mostly fixes
Adds:
- CrashHandler (Windows-only for now, generates a dump in case of crash)
- Chatbox colors
- Logsystem now print time and ticks
- Match is now allowed to discard ticks to catch-up realtime
- Debug connection informations (ping, bandwidth, data usage)
- Window settings options (vsync, fps limit, size, fullscreen, antialiasing level)
Fixes:
- physics constraints (grapple/physics bun) not being deleted sometimes
- collider_box client synchronization failure
- A lot of warnings
- chatbox scrollbar showing up from nowhere
- coroutines are now recycled
- Linux compilation
- visibility stuff (health bar passing to zero for some objects and some other not having their health updated)
- asset downloading
- some silent errors/crashes now trigger a log instead
- logger fixes
0.4 release - big layer update
Adds and fixes a lot of stuff, including but not limited to:
- layers
- script hot-reloading
- asset downloading
- prediction
- logger system
- entity cloning in map editor
- burger dynamic faces
- grapple!
- physics bun
- entity property type
- santa hat
- a lot of stuff
0.3 release - weapon update, now with multiples weapons
v0.3 Update Player.hpp
0.2 release - chatbox release
v0.2 Temp fix for chat
0.1 release - running and shooting
v0.1 And again