Hello all,
With a new year comes a new cleanup effort! Today’s update fixes several major long-time bugs and performance issues in GunColony, and improves the Mine-Spades game mode.
MINE-SPADES CHANGES
Mine-Spades has received some new gameplay changes to increase player freedom.
- Barrier blocks near players will now be automatically removed in Mine-Spades
- This effectively disables barrier blocks in Mine-Spades, giving players increased freedom of movement in certain maps such as Jungle, and meaning that map makers usually no longer need to create a separate version of a map for Mine-Spades
- Map makers can still restrict players from leaving the intended playable area using the Gameplay Area feature
- You now spawn with 48 Cobblestone instead of 32
- This increases the ability of players to build more fortifications per life. This is still not a full stack to leave room for players to pick up more Cobblestone items.
Mine-Spades has also received new optimizations to alleviate two of its previously largest contributors to client and server lag.
- Block crack effects in Mine-Spades are now removed after 15 seconds if the block does not take further damage
- These effects caused the greatest amount of FPS lag in Mine-Spades previously
- If there are too many dropped items in the arena, nearby items may begin being merged
- Merging is done randomly
- The range at which items will be merged increases as more items are in the arena, up to a maximum of 10 blocks
- Items too close to a player will not be merged
- Items will not be merged towards locations that are inside blocks (this tries to prevent items from simply “disappearing”)
PLAYLIST: MINE-SPADES EXPANDED
Due to the new Mine-Spades improvements, we have also added a new playlist with bonus Mine-Spades maps on both regular and Overpowered Scenario! You can now play Overpowered Mine-Spades like you never have before (at least because your FPS was never this good!)
Expanded Mine-Spades Maps:
- Nuketown
- Subway
- Highrise
- Dizzy
- Carrier
- Sasau
- Duga 😈
- Raid
- Atrium
Some of these expanded maps may also be added permanently in the future if they play well in-game. (not Duga tho)
BALANCE CHANGES
- Linked Triggers (Gilboa Snake): removed rate-of-fire bonus
- The Gilboa Snake has proven oppressive especially due to the Linked Triggers modification, which allowed a one-shot headshot kill alongside having 20% increased rate of fire compared to the base weapon. The second benefit has been removed to leave a weapon with more balanced tradeoffs with other semi-automatic rifles.
- .50 AE Ammo: damage dropoff rate increased by 17%
- This reduces the damage range of the Desert Eagle (including with ammo modifications), making damage dropoff more relevant on this weapon.
OTHER CHANGES
- You can now do actual math in GunColony with a few new commands: “plus”, “minus”, “times”, and “div”, as well as the ability to nest them
- This is a test of the new command system in the Place engine
- Democracy has prevailed and the silverfish bug is now no longer a bug. Silverfish spawned from silverfish blocks in Mine-Spades will now have names that reflect this
- Removed holiday map playlist
- Overpowered Scenario Changes:
- Added “Freedom Gilboa Snake”, a full-auto version of the Gilboa Snake, replacing the “AN94 BF3”
- Decreased the supply cost of a few weapons since they were deemed not overpowered enough
BUG FIXES
- Fixed a major long-time bug where players can appear in the wrong position after being hidden and then shown again by the Anti-Xray system
- Fixed a major long-time bug where empty chat messages would be sent when using the RBB-451 or getting a backstab with a melee weapon
- Fixed a bug where GUI sprites in the resource pack were reverted in the previous resource pack update, causing elements like crosshair, bossbar, and hunger bar to fail to be hidden in Minecraft 1.20.2 and newer
- Fixed a long-time bug where switching weapons causes an abrupt change in field-of-view
- This is caused by the previous mitigation overcompensating for the vanilla FOV effect
- Now, a FOV change may still be noticeable, but not to the same extent as before
DEVELOPMENT PROGRESS UPDATE
Major progress was made towards the Place command system in the last two weeks. It now supports almost all originally planned features and is properly integrated into the engine’s Minecraft mode. You can toy around with it with a few new math commands in-game.
We have now fully implemented the feature where commands can pass values to one another. Any required argument in a command can be supplied by the return value of a sub-command, which you specify with the selector “@( <command> )”. The parent command will only execute once all subcommands have successfully executed. Subcommands can also have their own subcommands:
The command system also has proper error handling with a myriad of possible error messages. This can sometimes have some interesting interactions with the subcommand system:
In addition, we have added a new Permission system to go with the command system. Permission nodes work similarly with Bukkit, with support for wildcard permissions, setting negative permissions, and permission groups. The permission system is also designed to maximize performance, with permission strings automatically being split into segments ahead of time to speed up parsing. Any game object capable of sending commands can also have permissions.
Notably, permissions are designed to be entirely thread-safe to read. While permission trees can be modified by one thread at a time, reading from multiple threads is supported without any kind of overhead from synchronization or volatile variables. The end result is optimal performance when accessing the permissions of any game object from any thread, which is important when running commands.
Notably, player permissions and groups are stored persistently in the database and can be modified on the fly, which allows us to build a future permissions management system similar to ones currently available for Minecraft servers.
Overall, just in the last month, almost 10,000 lines of code were added to the new engine’s codebase. Progress has been slow, partly because we are meticulously designing each feature with a heavy focus on performance and future-proofing. However, as the year 2024 begins, we can now start to envision a stage where work on the new engine can begin to benefit GunColony features such as the in-game chat and moderation systems.