Skip to content

Preponderous-Software/Beyond-Nations

Repository files navigation

Beyond Nations

Beyond Nations, previously called the Open Source Game project, started as a collaborative effort between Preponderous Software and the Fairfield Programming Association. It aims to create an open-source game that can serve as a reference for aspiring developers.

Game Concept

In this game, you'll be able to embark on an adventure in a procedurally generated world filled with resources, settlements and pawns.

You'll be able to collect resources and use them to found settlements, build structures or craft items. You will have the option to join an existing nation or create your own. There will be differences between nations and they will be able to form relations with other nations, whether those be positive or negative. Interacting with the world will be a key activity of the game. Most entities will be interactable. Pawns will have different traits and will be able to interact with each other, the player & the world.

As a leader, you'll be able to manage your nation's relations with other nations, manage your nation's resources, and manage your nation's settlements. As a citizen, you'll be able to contribute to your nation's economy by collecting resources, crafting items and participating in trade.

Game Features

The following features are planned for the game:

  • Procedurally generated world
  • Settlements
  • Nations
  • Pawns
  • Resources
  • Crafting
  • Trade
  • Relations
  • Quests
  • Story
  • Combat
  • Player customization
  • Modding support

Controls

The following controls are available in the game:

Key Action
W Move forward
A Turn left
S Move backward
D Turn right
E Interact with nearest entity
Space Jump
Left Shift Sprint
N Create a new nation
J Join a random nation
L Leave your current nation
F Found a settlement
P Plant a sapling
H Teleport to home settlement
B Build stall
I Open inventory
Insert Toggle auto-walk
Page Up Increase render distance
Page Down Decrease render distance
F1 Toggle show debug menu
F2 Generate nearby land
F3 Spawn a new pawn
F4 Spawn money
F5 Spawn wood
F6 Teleport all pawns to you
F12 Take screenshot

Game Systems

There are a number of systems that will be implemented in the game. These systems will be used to create an engaging gameplay experience. Details can be found in the Systems Document.

Tech Stack

Our game will be built using the following technologies:

  • C#: This object-oriented programming language will be used to write the game's code.
  • Unity: A popular game engine that provides a framework for designing and developing games.
  • Blender: A powerful 3D modeling software that will be used to create the game's visual assets.
  • JSON: A lightweight data format that will be used to store and exchange game data, providing efficient and reliable data persistence.
  • Git: A version control system that allows for collaborative development and efficient management of codebase changes.
  • GitHub: A web-based Git repository hosting service that enables version control and collaboration for developers.
  • Visual Studio Code: A code editor that supports a wide range of programming languages and offers features such as debugging, syntax highlighting, and extensions.

Inspirations

Medieval Factions

Medieval Factions is a Minecraft plugin that enables players to create their own nation, claim territory, and form relations with other nations. The plugin is limited because it is designed for a game that is not created for this kind of gameplay. The objective of our project is to develop a game specifically designed for this kind of gameplay.

Mount & Blade: Warband

Mount & Blade: Warband is a medieval action role-playing game that features a sandbox gameplay style. The game allows players to create their own character and choose which faction to join. Players can also create their own faction and conquer territories. The game features a variety of gameplay elements such as combat, diplomacy, and trade. The game is a great source of inspiration for our project because it features many of the gameplay elements that we want to implement in our game.

Minecraft

Minecraft is a sandbox video game that allows players to explore a procedurally generated world, gather resources, craft items, and build structures. The game features a variety of gameplay elements such as combat, exploration, and resource gathering. The game is a great source of inspiration for our project because it features many of the gameplay elements that we want to implement in our game.

Contributing

To get started contributing to this project, please read the Contributing Guide.

Authors and acknowledgment

Software Development

Name Main Contributions
Daniel McCoy Stephenson Creator
Pasarus Participated in brainstorming sessions & participated in PR reviews

Other

Name Main Contributions
William McGonagle Initially reached out to Preponderous Software to collaborate on a unity project, participated in brainstorming sessions
Phil Garner Participated in brainstorming sessions & provided feedback on economic mechanics
Nathan Gates Playtested the game & participated in brainstorming sessions
Ezekiel Martinez Participated in brainstorming sessions
Sshinx Contributed custom 3D models including trees, saplings & rocks