🖥 Live Alpha hosted at Heroku.
BELLIGERENCE is an application that simulates an environment of perpetual war together with an automated supply/demand economy, integrated with ArmA 3, by Bohemia Interactive.
Developed over the course of three and a half years by one person, the project aim to prototype a different vision for shooter games, adding both persistency and a deep sense of progression.
📄 Read more about its history here.
- "Cheers" system, where most objects in the application can be "liked", including posts and comments. 📂 Cheers
- Users are able to leave Comments on posts, profiles, etc, being able to also sort them out by date or popularity. 📂 Comments
- Friends system, where players and Outfits can set up alliances with one another. 📂 Friends
- Players can post Intel with a wide range of customizations, such as anonymity, pictures, and etc. 📂 Intel
- A robust system can handle Invites for all sorts of player interactions, from friend requests to Outfit applications. 📂 Invites
- Players can exchange Messages to one another, with real-time alerts for replies. 📂 Messages
- Conflicts take place between Factions within Maps, simulating the usage of assets, casualties, supporting elements and even context-specific modifiers. 📂 Conflicts
- Factions are the various groups and interests that will participate in Conflicts and post Missions*. They have several stats and attributes, ranging from external policy, organization, munificence, asset capabilities, and a lot more. 📂 Factions
- Locations determine where Missions will take place, having many, many different parameters that affect the values of all events associated. 📂 Locations
- Maps are the islands where the entire action will take place, every server hosting its own. 📂 Maps
- Missions are where the real action happens, taking from several parameters in order to determine its final values. 📂 Missions
- Objectives describe the kind of task which be assigned to a Mission, including chance of generation, maximum player-count, and others. 📂 Objectives
- Freelancers can mark Missions with an Interest token, marking their desired markup service. 📂 Interest
- Contracts represent a unit's attachment to a Mission and the reward percentage established. 📂 Contracts
- While deciding on the values of a Contract, users are able to utilize the Negotiation system, allowing to counter-offer each other unil an agreement can be reached. 📂 Negotiations
- Items are an essential part of the game, categorized very thoroughly. 📂 Items
- Players and Outfits can also save their favorite item combinations as Loadouts, which can also be shared and saved to be loaded at any point. 📂 Loadouts
- Stores are highly configurable environments where Freelancers and Outfits can purchase items, just as long as they fit their criteria. 📂 Stores
- Stores Items are determined by extremely customizable Stock options, where resupply days, variations in price and supply, all can be defined by content managers. 📂 Store Stock
- Players can advance through the game by purchasing Upgrades, which not only function as a gate-keeping mechanism for features, but are also highly customizable and feature a self-generating tree. 📂 Upgrades
- Permission/Voucher redeeming system, allowing for the issuing of special keys that grant certain properties to its holder. 📂 Access Keys
- A powerful Uploading system who can store images compressed and resized, alongside full S3 Integration, where all methods will utilize a bucket automatically once credentials are detected. 📂 Uploads 📂 AWS
- Ban/Reporting, where content/players can be reported for various reasons and dealt accordingly. Banned players will be blocked only from certain areas of the app and administrators can also determine the length of said ban. 📂 Bans 📂 Reports
- Players can register for accounts, being then able to become either Freelancers, Soldiers, or Commanders, each with their unique role. 📂 Players
- Outfits, or PMCs (Private Military Company) are the organizations that drive the main force within the system, taking on Missions, hiring Freelancers, and getting things done. 📂 Outfits
- Configurable utilizing as few "magic numbers" as possible, with several configuration files. 📂 Configs
- Fully featured integration with WebSockets and the WebANotificationsAPI. 📂 WebSockets
Please however do keep in mind: this is barely scraping the surface of all of the UI features, inner-workings of the more complex algorithms, etc. I would need an entire team just in order to document this project in its full extent.
Most of this info as a slideshow.
Instructions soon. I'll need to cook up a .env template along with all of the other instructions and that's currently beyond my scope.