autobotnet logo

AutoBotnet

AutoBotnet is an open source game centered on strategic programming, which controls a more broad game based on resource management and empire building.

The game takes place as a massively multiplayer competition between human players, who control a hivemind (“botnet”) of robotic agents to subjugate all other empries and dominate the World.

Programming Centric

AutoBotnet is not a typical strategy video game. There are no carefully animated characters or fancy graphics. There is no point-and-click user interface for commanding units.

Instead, we believe that ultimate freedom for the player comes from being able to control every aspect of an entire empire’s behavior by writing scripts.

AutoBotnet then becomes a competition not of reflexes or even just of strategic thinking, but is also a competition of articulating complex strategies as efficient and effective code.

Some real examples:

// use spare resources to build bots
    var resources = army.resources();
    if (resources["nrg"] > Config.RESERVE_NRG) {
        var bot = army.construct("scout");
        // make a storage and mining cores
        var storageCore = bot.installCore("CoreStorage1");
        var drillCore = bot.installCore("CoreDrill1");
        // -
        // move the bot north for an unspecified reason
        bot.move(C.NORTH);
    }
    

Programming Concept: Component-based architecture

A recurring element throughout AutoBotnet is that of component-based architecture. Because nearly everything in the game is made up in some way of smaller components that can be combined in specific ways for different purposes, there is a great degree in freedom in how certain goals can be acheived.

For example, a mining bot might have two DRILL cores and four STORAGE cores, while a scout bot might have a CLOAK core and the very large SPEED exoskeleton.

Bots are then “containers” (which come in different capacities and durabilities) for combinations of a large selection of cores. A bot “has” cores, which define its functionality.

A Botnet of Agents

Each player becomes the commander of their own Empire, which is a hivemind botnet where all bots are one for the purpose of the Empire.

Infinite, Exhaustible World

The world in AutoBotnet is an infinite grid of Rooms, which are large, interconnected square-shaped areas. Rooms are procedurally generated by a complex process and every empire begins isolated in its own room.

Rooms will contain a variety of raw resources available for extraction and exploitation. However, nearly all raw resource deposits have a very limited quantity and a botnet must colonize other rooms and defend them from other expansionist empires.

Emergent Mechanics, Diplomacy, and Economy

Because the game consists of intelligent human players scripting their empire, there is much to be gained from allowing inter-empire interaction through the game.

Using Communication Beacons, empires can transmit and receive data from other empires, which can be used to coordinate large military operations or economic expansion.

Metagaming

A botnet needs something to store information and coordinate its operation. The Datacenter building takes this role, providing a large amount of data storage for storing information on targets, observations on other empires, and keeping track of units.

In AutoBotnet, datacenters can be prime targets because they can be shut down or hacked with physical access. An empire can destroy its rival’s datacenters to destroy information and just generally wreak havoc.

Encouraging Efficient Code

The AutoBotnet game runs by allowing each empire to “tick” according to the tickrate, which is usually anywhere around 1-5 seconds. Every tick, each empire’s logic is ticked and the game steps.

Limits and Sandboxing

Because the game will be running arbitrary player provided scripts, the player script is run in a code scripting engine sandbox with various limits, including a run-time limit, a recursion limit, and a heap memory limit.

Because the script must load and run within the short fraction of a tick allotted to a particular empire, efficient scripts can do more and make full use of their empire’s abilities.

Perpetual Gameplay

The game never stops. Even when a player logs off, their empire continues to follow its instructions and interact with the world and other empires.

Extensibility from the Ground Up

The AutoBotnet server is extremely extensible. The server features dynamically discovering and loading .NET plugins that can replace or extend almost any component of the game.

To demonstrate this, the entirety of the base game is implemented as a group of default plugins, including DefaultEconomyPlugin, DefaultBotTemplatesPlugin, CoreMapPlugin, and JSScriptEnginePlugin, among others.

Even the web services module is implemented to allow extensibility, so by referencing the Speercs.Server assembly, the game can be deeply modified without ever needing to alter the game’s binaries.

autobotnet logo

WIP

AutoBotnet is an upcoming scripting-based RTS game, Coming Soon™. Brought to you by The CookieEaters.

Keep an eye on our blog for updates.

Powered by ALTiCU

AutoBotnet development is supported and driven by ALTiCU.

alticu logo