Introduction

Bot cores are pieces of software that allow plugins to react to game events. They connect to zones as sysops and are limited to what sysops can do and what the SubGame2 server allows. Despite this they allow extensive functionality to be added to zones and are a great way to extend the game.

Most cores have been developed over long periods of time and are at various levels of maturity. As characteristic of unfunded hobbyist development projects the boring bits are the toughest to get written. Consequently, aspects such as documentation, unit tests, examples, and so forth are sparse. Being a developer requires a strong background and is not for beginners.

Contrary to popular belief, bot development is not “slamming down some sysop commands to get those bots written”. It’s actualdevwork that takes considerabletime and effort. Note that these examples don’t even scratch the surface of EG’s codebase. Read and understand this before telling the community you’re going to “make the next duelbot” or “get that turf bot finished fast”.

Most source for bots in EG is unavailable due to being missing, incomplete, undocumented, or having an unspecified
or restrictive license. If you want to patch existing bots, you’ll need to be well-versed in low-leveldisassembly. The EG and SS software ecosystems are complex webs of legacy software, unpredictable & undocumented behavior, and complicated design decisions. It’s the nature of having been developed by hobbyists volunteering their time, many of whom aren’t formally trained, for over a decade and a half. We owe them all a debt of gratitude for keeping the zone alive, functioning, and fun to play.

If this environment sounds too difficult or restricted, then SS development is not for you. If it sounds like an interesting problem to solve, then join up and let’s work together on the complex challenges the zone offers.

Development Overview

All other cores and plugins are frozen in EG due to the complexity of maintaining infrastructure, codebases, and configuration.

Developer Requirements in EG

Must be trustworthy & mature

Willing to function as part of a team

Have experience developing in C or Python. This is NOT the place to learn how to write code.

Players who don’t meet this requirements can still contribute code, but they will not have access to staff or the zone.

The development community exists to discuss nuances of SubSpace-related APIs, NOT nuances of C/C++/Python programming languages. If you are not proficient in one of these languages then development here is not for you.