You are currently viewing Update 1.24: Jumbo PVP Map Update

Update 1.24: Jumbo PVP Map Update

Hello all,

Autumn is upon us! After a few intermittent hiccups last month related to server hosting and stability, we’re back and are now releasing an update focused on PVP and Competitive, including 6 new maps, a significant rework to our PVP playlists, as well as gamemode and perk changes!

NEW MAP: CRETE

A compact close-quarters map by DudeCats focused on a Demolition layout, featuring a single central bombsite with three different routes of attack. Available in Demolition, Free For All, TDM, Arms Race, One in the Chamber, and Arcade Scenarios.

NEW MAP: SHELL

A new steampunk-themed PVP map with extreme verticality by dxc! Taking full advantage of our new Jump Pad mechanic, a large pipe network is scattered around the map will rapidly transport you to the top of the map if entered! Available in Free For All, TDM, Domination, Arms Race, Arcade Scenario Mode, and Elimination.

NEW MAP: SHORT NUKE

A new compact version of Nuke made by pale1. Fight in the narrow corridors of Nuke’s under-appreciated underground section! Available in Free For All, TDM Random Spawns, Arms Race, and Demolition.

NEW MINE-SPADES MAP: BLOCKS WORLDΒ  – BEACON

Blocks World is a unique map set in the Minecraft universe featuring giant blocks! While the central objectives are flat and open at the start of the match, each team spawn provides chests containing a large amount of resources for you to build and fortify your positions and achieve victory!

NEW MINE-SPADES MAP: SANDY WARS

Sandy Wars is a tribute to an old arena map on a Minecraft PVP server, made by pale1. To help achieve victory, both teams must aim to collapse the enemy tower while keeping their own intact. We are very excited to introduce this map as it is the first to experiment with combining traditional maps from Minecraft PVP and GunColony’s unique gunplay and mechanics! Available on Mine-Spades.

NEW MINE-SPADES MAP: SANDY WARS SHORT

A shortened version of Sandy Wars for lower player counts.

NEW PLAYLISTS

All PVP and Competitive playlists in the server have been overhauled, thanks to pale1!

  • Updated playlist for all gamemodes to contain maps that better suit the mode’s gameplay and our visual quality standards
    • Many new map-mode combinations have been added, and some others removed
    • Balance improvements should be especially noticeable in Zombie Siege
  • Removed certain modes such as the normal Kill Confirmed playlist
  • Some maps set in the WWII period are now playable in historical scenarios, such as Stein and Villa
  • Standardized the list of special arcade scenarios: Airsoft, NoobTubes, ProSnipe, and Overpowered
  • The Competitive map vote will now adapt based on the current player count, much like the PVP lobby
    • Previously, the Competitive map vote had recommended maps equally regardless of player count

ONE IN THE CHAMBER CHANGES

In One in the Chamber, the game timer is now reduced to 3 minutes to prevent the mode feeling too repetitive.

PVP PERK CHANGES

  • Curse: respawn time penalty now stacks if both you and the enemy has the Curse perk, to a total of 8 seconds
  • Divine: now decreases your respawn time by half; no longer increases spawn protection duration; supply cost increased from 2 -> 4
    • This now makes Divine a soft counter to the Curse perk
  • Steady Breath: supply cost decreased from 4 -> 3
  • Heavy Duty: supply cost decreased from 3 -> 2

OTHER CHANGES

  • Added Double XP to compensate for recent server downtime problems. Due to the long time it took to fully resolve the problems, we will compensate by having the event persist until i remember to remove it (aka. quite a while)
  • Removed /alts command from donors due to exposing sensitive information about players
  • Removed prior limited-time playlists
  • Updated MOTD to state that we are compatible with Minecraft client 1.21.1

BUG FIXES

  • Potentially fixed a bug where players were placed in Survival Mode rather than Adventure Mode upon leaving and rejoining PVP
  • Due to a recent manual error, we have had to re-install the server machine and resolve many stability issues that came afterwards.

DEVELOPMENT PROGRESS UPDATE

Although there have not been any updates to the GunColony server itself, the last two months has seen many new additions to the Place Engine. While we do have a plan to begin implementing new gameplay improvements to GunColony powered by Place as soon as possible, we also realize that now is the last chance to modify and improve the engine’s core before various tricky dependencies start to arise between the engine and other parts of the GunColony codebase. Therefore, we are returning to the basics and working on important core engine features that will help achieve both our near-term and forward-looking plans of the game.

The first such improvement is a new Kotlin DSL format for writing game object configs in the engine. As we have learned with our own experience developing GunColony, standard config formats such as YAML are very prone to accidental errors that cause unintended behavior in-game. Many such errors are not caught until playtesting, or even until the update is released and the bug is reported by a player. The Kotlin DSL format is designed to alleviate these issues by leveraging the type-safe nature of the Kotlin programming language, making sure that many types of configuration issues are caught at compile-time, alongside adding other benefits such as on-demand access to detailed documentation, access to programming language features such as functions, the ability to mix multiple types of game objects in one file, and the possibility of integrating a game asset packaging system in the future. Because our goal with the Place engine is to permit unprecedented collaboration with the community to work on a common project, a configuration system that minimizes config errors is very important so that community members can create mods with a consistent high quality that can be readily integrated into the base game in the future.

The same configuration file in YAML format (left) and Place Kotlin DSL (right). Notice the several code errors caught in the Kotlin DSL that are not caught in the YAML format.

 

From a technical perspective, our Kotlin DSL config system is powered by several brand-new ideas that have not been seen in any other game engine to date, and they help to ensure that the system is secure, easy to use, and will require nearly zero future maintenance. Uniquely, our config system will one day be publicly available and shared with modders worldwide, and so we feel comfortable sharing some technical details of this system, unlike with our other, more internal inventions in the Place Engine. Therefore, expect to see a blog post in the BlogPlace devblog series dedicated to the topic in the future.

Our second new addition is the full conversion logic of item stacks between Place and Minecraft. While Place supports Minecraft item types natively, Place also introduces custom item types that are mapped to arbitrary “display” item types in Minecraft; for example, a Knife item could be displayed as a Minecraft iron hoe with a certain “custom model data” element. Place implements a complex set of conversion logic that ensures that a Place item is seamlessly converted to a Minecraft item that can then be placed in a Minecraft inventory, and the resulting Minecraft item can in turn be converted back to the correct Place item type. This logic includes support for seamless serialization and restoration of both Place item’s extra data as well as Minecraft NBT, and includes a considerable attention paid to server performance, leveraging our experience of efficiently storing server-side weapon data in GunColony’s weapon plugin. Because the Place item system also has extra features such as support for arbitrary stack sizes and even non-solid items (e.g. GUI display items and fluids), we support two types of Place-to-Bukkit conversions: a display-only mode that supports all Place items, and a gameplay mode that supports only Place items with valid parameters in attributes such as item type and stack size, but which generates Minecraft items that are convertible back to Place. We expect that we will often need to use the gameplay conversion mode during the transition period of GunColony from Minecraft to the Place Engine, but eventually all gameplay logic will reside in Place and there would no longer be any need to keep any native Minecraft item stacks outside of display purposes.

In conclusion, these two projects have taken a significant amount of effort but put us one step closer to achieving our goal of a performant game engine with seamless Minecraft support and an unprecedented focus on community content. With our new progress in our item stack system, we are getting closer to being able to start our work to re-implement our weapon system entirely in the Place Engine, a major milestone for GunColony which we plan to achieve before our 10th anniversary next year.

Leave a Reply