What is Battle Brothers coded in?

Delving into the Code: What Language Powers Battle Brothers?

Battle Brothers, the gritty and unforgiving tactical RPG, has captivated players with its brutal combat, emergent storytelling, and strategic depth. But behind the engaging gameplay lies a foundation of carefully chosen technologies. The core of Battle Brothers is coded in C++, a powerful and versatile language known for its performance and control over hardware. However, C++ isn’t the whole story. Battle Brothers cleverly integrates Squirrel for scripting the majority of its gameplay mechanics and utilizes Awesomium for its HTML-driven user interface. This combination allows for both the efficiency needed for complex simulations and the flexibility required for dynamic game design.

The Triad of Technology: C++, Squirrel, and Awesomium

Let’s break down each of these core components:

C++: The Engine’s Heart

C++ forms the engine’s foundation. This robust language enables the developers to build complex systems with high performance. Key aspects of the game, like the AI, pathfinding, and combat calculations, are implemented in C++. The choice of C++ reflects a commitment to delivering a smooth and responsive experience, especially crucial for a game with numerous units and intricate calculations.

Squirrel: Scripting Gameplay Dynamics

While C++ handles the underlying engine, Squirrel manages the gameplay logic. This lightweight scripting language allows developers to rapidly prototype and iterate on game mechanics. It’s used for defining character skills, enemy behaviors, event triggers, and various other gameplay elements. Squirrel’s dynamic nature simplifies the process of adding new content and tweaking existing systems without requiring recompilation of the entire game.

Awesomium: An HTML-Driven UI

Awesomium is the technology behind Battle Brothers’ user interface. This allows the UI to be built using HTML, CSS, and JavaScript – technologies familiar to web developers. This approach accelerates the UI design process and enables easy customization and dynamic updates. The game menus, character screens, and world map interfaces all leverage Awesomium.

Why This Combination?

The synergy of C++, Squirrel, and Awesomium provides an ideal balance of performance, flexibility, and ease of development. C++ provides the muscle for the engine, Squirrel offers rapid iteration on gameplay, and Awesomium simplifies UI creation. This multi-language approach is a common strategy in game development, allowing developers to leverage the strengths of different languages for different tasks.

Digging Deeper: The Design Philosophy

The choice of these technologies aligns with Overhype Studios’ indie spirit. These tools are well-documented, relatively accessible, and allow a small team to achieve a high level of polish and complexity. Battle Brothers showcases how a clever combination of established technologies can result in a unique and compelling gaming experience. The strategic depth and tactical challenge of Battle Brothers make it a fascinating case study for aspiring game developers.

Frequently Asked Questions (FAQs)

What is the main programming language used for Battle Brothers?

The main programming language is C++. It’s used to build the core engine and handle performance-critical aspects of the game.

What role does Squirrel play in Battle Brothers development?

Squirrel is used for scripting the gameplay. It allows for easy modification of character skills, enemy behaviors, and event triggers.

How is the user interface created in Battle Brothers?

The user interface is built using Awesomium, which allows developers to use HTML, CSS, and JavaScript for UI design.

Is Battle Brothers procedurally generated?

Yes, the world map and many events are procedurally generated, offering high replayability. You decide where to go, whom to hire or fight, what contracts to take, and how to train and equip your men in a procedurally generated open-world campaign.

How does the difficulty scale in Battle Brothers?

Difficulty of non-contract locations and roaming parties scales mostly with distance to civilization and time. Roaming parties also scale slightly with player strength, but less so than contracts, and non-contract locations don’t scale with player strength at all. Contract difficulty scales with the strength of your roster.

Is there an end game in Battle Brothers?

The end game is surviving all three catastrophic events. You are a mercenary captain and that’s it. You can’t claim locations.

What is Overhype Studios currently working on?

Overhype Studios, the creators of Battle Brothers, is currently working on MENACE.

Is Battle Brothers still being updated?

Overhype Studios continues to update Battle Brothers to address issues and occasionally adds minor content.

What are some of the strengths of Battle Brothers?

Battle Brothers is praised for its challenging difficulty, strategic depth, and emergent storytelling. It creates a gritty and unforgiving tactical RPG experience. You can check out Games Learning Society for more information on game design principles that contribute to these strengths. You can also view GamesLearningSociety.org.

What makes Battle Brothers unique compared to other tactical RPGs?

Its focus on low-fantasy, the permadeath of mercenaries, and the procedurally generated world all contribute to its unique appeal.

What is the highest level a character can reach in Battle Brothers?

The maximum level is 33 (before the “Warriors of the North” DLC, it was 42).

How does the AI work in Battle Brothers?

The AI is complex and designed to be challenging. It’s implemented in C++ to ensure optimal performance during combat.

What inspired the design of Battle Brothers?

The design was inspired by classic tactical RPGs and tabletop games, with a focus on player agency and strategic decision-making.

How does Battle Brothers handle modding?

Battle Brothers supports modding, allowing players to customize the game with new content, features, and mechanics.

What are some resources for learning more about C++, Squirrel, and Awesomium?

Numerous online resources, tutorials, and documentation are available for each language and framework. Exploring the official documentation for each is a great starting point.

Leave a Comment