Search results
313 packages found
This is a template repo.
Guide an engineered people as they settle an alien world.
The core models relating to building and launching a `Spaceship`, including `Part`s (of which the `Spaceship` is constructed) and the associated `Rule`s.
Simple resource parser for CivFanatics Forums.
This repo stores the core concept of a `Turn` and some basic `Rule`s and events around the `Start` and `End` of the turn. This is the basis for a turn-based game. Packages like `civ1-player` utilise these to allow a `Player` to perform their actions, bef
Classes related to the concept of a `Player` having a treasury of a `Yield`.
Contains the core model for a `Wonder` (which extends a `CityImprovement`). `Rule`s governing `Wonder`s are game specific (national `Wonder`s in later games for example) so restrictions on how many can be built are contained in the `civ1-*` modules.
A `Player`-orientated `World` that only includes `Tile`s the `Player` has seen and returns `UndiscoveredTile`s otherwise.
Base-level classes to support `TerrainFeature`s on `Terrain`s (`Tile`s). From the original Civilization this is things like `Oasis`, `Horse`, `Seal`, etc, but in other games this could be `River`s, strategic resources or luxury resources.
A simple[1] AI[2] client, that makes use of `Strategy`s and `Routine`s to be an extensible opponent client.
This is how a `Tile`'s `Terrain` is defined. Utilising this, along with `TileImprovement`s and `Feature`s can bring parity to most of the Civ games.
In the original Civilization, some governments have the effect of causing `City` `Unhappiness` when military `Unit`s are outside of the `City`'s borders on maneuvers. This `Yield` value object captures that information.
A repo for handling the `GoTo` command, sending a `Unit` to a distant `Tile`.
Provides the `Disband` `Unit` `Action` for destroying a perfectly good `Unit`...
A library containing any useful `Unit`-related value objects (`Unit`s, `Action`s, types, etc).
A library of diplomacy-related items like `Interaction`s, `Proposal`s, `Declaration`s, etc.
This package provides the `Attack` `Action` for `Unit`s.
This is a template repo.
This package introduces the concept of a `Player` having a `Government`. Different governments (although this concept could be expanded or broken down into civics) can affect any game concepts, from `Tile` `Yield`s through to diplomatic freedom.
A value object for capturing the reduction in `City`'s `Unhappiness` via the appropriate `CityImprovement`.