Hello all,
Welcome to the first ever blog post in the BlogPlace, a devblog series dedicated to the Place game engine and projects based on it. This blog series will be aimed at a technical audience as well as dedicated fans of our games.
We are starting this blog series right as the development of the Place engine kicks into high gear. This first post will be a summary of what Place is, its technical objectives, and how it ties into the goal of our overall project to build a world-first low-poly community FPS game. Future blog posts will discuss each of these individual areas in greater detail.
What is Place?
At its core, Place is a voxel game engine just like the one that powers Minecraft. Like a Minecraft server, we can spin up a Place server to let players connect, see the block world around them, and perform actions such as placing and breaking blocks and attacking enemies. Place is independent but compatible with Minecraft. We plan to use Place as the basis for GunColony and our future games going forward.
Of course, simply being a voxel game or block game engine is hardly unique these days, and ready-made game engines supporting voxel worlds are increasingly accessible which let anyone create a basic playable Minecraft-like block game in just a few days. So why take the long route? Indeed, choosing to develop an entirely new voxel engine from scratch is a difficult decision, but we made this choice because it enables us to eventually build a game with capabilities beyond anything else that exists today.
Namely, we aim to be the most responsive and performant FPS game in the world, while simultaneously supporting deep customization and community creations which can be integrated to improve the base game. To maximize our chances of success, we additionally need to support an entirely free-to-play experience on the browser through web-first features and lowered hosting costs, while simultaneously being considerate of our existing Minecraft players. There are many other requirements that we will list below, but in short, 1. no existing voxel game engine can satisfy even a small subset, let alone all of our requirements; and 2. our plans can only be successful if we use a game engine entirely within our control, so that we can develop and invent novel features without being constrained by design restrictions of an external lower-level game engine or server framework.
What Place is designed to accomplish
While building a new, complex game engine with many unique features is an achievement worth working towards in its own right, even more important for Place is its role in enabling and furthering our plans to create a unique community-focused game.
We believe that commercial game studios are too often fundamentally at odds with their own communities. Today, practices like loot boxes, paid mods, and in-platform advertising systems are commonplace which seek to extract monetary value at a cost to game quality, while competitive dynamics between creators push them towards implementing monetization and addictive mechanics over genuine gameplay innovations. We think we have a chance to think outside the box and do something different with the Place engine.
While larger studios are too entangled with profit-seeking investors and smaller teams are unable to muster the technical expertise required, our 9-year history, lean operations, lack of commercial baggage, and existing success in the low-poly FPS genre gives us the confidence to build a truly community-first game that can achieve rich, diverse, and unique gameplay unlike any game before us.
Accordingly, the goal of Place is to support responsive multiplayer voxel worlds on multiple platforms with unprecedented cost efficiency and provide scalable technical infrastructure to combine community creations into an unfathomably vast gaming experience freely available to everyone.
We believe that one day, hundreds of players may fight in fully destructible cities in rich RTS-FPS wars where every action matters; survive in long-form worlds as well as extraction and last-man-standing arenas; lead their own NPC civilizations through the ages of human development in a realistic geopolitical and factory-building game; and experience 1:1 front-wide simulations of historical battles that have taken place a century in the past. These ideas require massive amounts of content, and many have accordingly been never tried by any other game company, let alone in a completely free browser game accessible to players with basic computer hardware all over the world. With Place, we recognize that only with agility, low-poly graphics, and deep community collaboration can these ambitious forms of FPS gameplay be realized anywhere in the world, and we will build every technical aspect of the engine to make them possible.
Our technical goals
The unique overarching goal of our project in turn spawns more detailed planning and provides several critical requirements for the Place engine that other engines cannot come close to fulfilling. Each of these aspects would certainly warrant their own blog post, and here we only have room for an extended summary.
Server performance
Computing power has increased over a thousandfold since the early days of multiplayer FPS games in the 1990’s, and tenfold since the heyday of Minecraft in the 2010’s. It is surprising then that game server hosting has only become more expensive over time owing to a number of factors such as the increasing complexity of games and the advent of cloud services. Nonetheless, we believe that this trend is non-fundamental and possible to reverse.
Our goal with Place is to write software with a care for efficiency that resembles the early 2000’s, but is nonetheless optimized for highly parallel multi-core hardware of today and tomorrow, as well as to meet modern standards of scalability on any hosting platform. With Place, we are targeting at least a 10X performance improvement compared to Minecraft servers. Coupled with latest hardware improvements, we are aiming for Place servers to support hundreds or thousands of players per instance, and be, for the first time in any multiplayer game, “so cheap it is almost free”. This will in turn let us implement the complex gameplay we want without any worries of computing limits or ballooning server costs.
Gameplay responsiveness
GunColony has always prided itself on its superior gunplay mechanics and responsiveness compared to its competition, and in moving to the wider FPS market through the Place engine, we aim to achieve the same feat and wow players with an exceptional player experience. Place aims to be the most responsive FPS game engine in the world.
Place’s tickless system will one-up even respected industry giants like Counter-Strike 2 by achieving consistent response latencies of under 1ms, allowing real confirmed kills in-game at the very fastest response times possible for one’s network, all without compromising performance of regular gameplay calculations. This invention means that Place can either compete with much larger AAA titles in responsiveness with far fewer server locations, or straight-up beat all other games in the market should a low-ping connection is available.
Flexible, data-driven design
Place aims for as many gameplay features as possible to be data-driven, going above and beyond the level achieved by Minecraft Java and Bedrock engines as well as engines used by games such as Minetest and Vintage Story. Taking inspiration from state-of-the-art grand strategy game engines, gameplay features such as enchantments and mechanics like sprinting are expressed as dynamic and customizable modifiers whenever possible. A comprehensive Stat system makes values such as weapon recoil, mob health, and player movement fully configurable and modifiable, while in-game information such as ammo count are stored in a dynamic and customizable Data Container system. This data-driven basis for the Place engine will in turn allow for full customization of gameplay behavior through in-engine modding and scripting in the future. Our objective is to provide modding flexibility approaching that of Minecraft: Java Edition, while still allowing all mods to run securely and performantly on official servers and thus giving us the ability to eventually incorporate modded content into the base game experience.
Addition, we have often been asked about our cutting-edge weapon tech by other developers, and we know that there is a demand for the creation of third-party games powered by the unique features of Place but developed for a different audience. Supporting deep customization in our game engine will provide us with the opportunity to implement total conversions through our modding system, giving us the chance to partner with other game and server developers to bring their creations to life in an accessible and freely-hosted web experience.
Community creation tools
It is typically impossible for a small indie game to match, let alone exceed, the content diversity of large AAA productions in the same genre, but community creations have allowed GunColony to not just match equivalent AAA games but go above and beyond. With over 100 maps and 200 total weapons of exceptional quality, we are a shining example of what is achievable when a community comes together to develop new content collaboratively.
GunColony’s success can further be bolstered by resolving bottlenecks and inefficiencies in the current technical systems of community creation for both weapons and maps. New weapon additions are hindered by manual resource pack work and balancing, while our current building system, while already helpful, is too insecure and buggy to be released to the public. The Place engine aims to fix all of these issues by developing a completely reimagined set of community creation tools, planned to release post-launch of the standalone game, which will allow the community to submit and vote on creations in web interfaces, and have them be added to the official game experience with no repetitive admin work required, thereby becoming fully scalable as our community grows in the future.
Accessibility and scalability
To achieve success without the advertisement possibilities of a typical pro-profit game studio, we must rely on organic growth which in turn can only be reliably accomplished by making our game as easy to access as possible. Our current GunColony server scores quite poorly on accessibility; it requires a $30 Minecraft license as well as the manual entry of server IP to play the game, as well as installation of additional mods to play smoothly on average hardware. All of this means that while it is promising that GunColony has achieved its current popularity despite all of these challenges, we must invest in an accessible standalone client if we wish to pursue further growth to achieve our dream of community collaboration and massively-multiplayer gamemodes.
Accordingly, we are designing the Place engine to include first-class support for a future a browser client, incorporating features such as server-rendered web UIs and client optimization to make our game run on the widest array of computers and mobile devices possible. Combined with comprehensive anti-cheat and moderation features, as well as the previously mentioned areas of server scalability and latency reduction, we are hoping to shatter our current growth limits and attract the attention of millions of players around the world.
Minecraft cross-play
Our heritage in Minecraft servers cannot be ignored when developing a new game engine. The development and iteration process of Place needs to provide benefits to the existing GunColony server, and eventually we would like to leverage our existing community to ensure that our new game starts with a healthy playerbase, while respecting their wishes to access the game through Minecraft.
This combination of requirements is only achievable through full cross-play between Minecraft clients and that of the new standalone game based on Place. We are in the process of developing a full modular Bukkit support layer for Place which will allow Minecraft players to experience Place worlds, entities, and other features in the highest fidelity possible, while avoiding any and all Mojang code while running Place in standalone mode. The result of this work has already started to bear fruit in recent updates in the GunColony server.
Support for multiplatform experiences
Both as a strategy to fund and grow our project and because it is a cool thing to do, we want GunColony and our community creations to be enjoyed by players in the widest range of platforms possible, all with distinct native gameplay styles and quirks. This is why we plan on developing experiences in other platforms such as Fortnite Creative (no, it’s not actually an April fools joke).
To let us keep all of our game platforms in sync, we are investing in the ability to autonomously update these off-shoot projects using a dedicated asset management system in the Place engine. We may even look further to develop more detailed integrations between our platforms in the future.
Tightly integrated and long-lasting
Place has been, and will be, developed by one person on a part-time basis for the foreseeable future. Being a one-man team has obvious downsides compared to that of a startup or AAA game studio. However, it is required for us to stay independent and avoid financial pressures, and also gives us the unique luxury of writing integrated code that lasts.
Rather than modern collaboration-focused paradigms like the microservice architecture, Place uses a modular monolithic design so that a single server is all that needs to be developed, hosted, and scaled up to support not only hosting of game matches, but also account services and even dynamic web pages. In addition, we adopt a development philosophy of getting things right the first time in order to completely eliminate future maintenance load; we aim to never create half-hearted systems, consider use cases years in advance, and take the extra mile to get performance right from the beginning. These development choices and standards, being the polar opposite of startups and unachievable in large corporate teams, give us a unique and insurmountable benefit in the performance and maintainability of our code, and especially the longevity of mods on our platform in the long run.
Conclusion
This blog post serves as your first introduction of Place. We believe that Place is no ordinary game engine, designed not for the gaming world of today, but for a better future world consisting of free community projects where everyone is welcome to contribute and collaborate simply to express their own creativity and build a better gaming experience for everyone. Through achieving our engine development goals, we plan to maximize the market advantage we have as an independent, collaborative gaming project and pave the way for our community to develop truly unique and unprecedented gameplay in the future.