Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/satyambnsal/castle_hexapolis


https://github.com/satyambnsal/castle_hexapolis

Last synced: 2 days ago
JSON representation

Awesome Lists containing this project

README

        

# Realms.World : Castle Hexapolis
A Strategic City-Development Game

## Overview
[View the Guide](/client/public/castle_hexapolis.pdf)

**Welcome, esteemed city planners and strategists!**

You have been summoned by the Lord of the Realm to the grand challenge of "Castle Hexapolis", the digital realm where your urban planning skills and tactical acumen will be put to the test! This web-based browser game blends the charm of medieval city-building with the cerebral challenge of hexagonal tile placement. Prepare to embark on a journey of strategy, foresight, and creativity as you expand your city from a single Castle hex tile to a sprawling, interconnected metropolis.

**Game Objective**

Your mission in "Castle Hexapolis" is straightforward yet captivating: skilfully expand your city outward from the central Castle tile, utilising a variety of hex tiles to maximize your points. With ROADS, WATCH TOWERS, and PARKS hex tiles at your disposal, every decision can tilt the balance of power in this dynamic cityscape.

**Core Game Elements**

 
 

The CASTLE : Your starting point and the heart of your city. All roads lead here!

 
 

CITY WALL GATES: The gateways to the outside world. Connecting these to your Castle via roads is a key to victory.

GAME TILES:

 

ROAD

 


Connect these to your Castle and city-wall gates for essential points.


 

 

WATCH TOWER

 

 


Strategically place these for defence and bonus points, especially on hill tiles


 

 PARK
 
 

Group these in threes to create lush parks and score big


 

**Gameplay Mechanics**

Each turn, you place a trio of hex tiles, carefully considering their placement in relation to your existing structures. With 24 trio tiles in the game, each decision is crucial in sculpting your city's landscape and securing your triumph.

**Scoring System**

Place trios of hexes to grow your city outward from the CASTLE.
Try to get the highest score you can!

**ROADS:**

+1 points if connected to CASTLE by other ROADS

+3 points per CITY WALL GATE connected to the CASTLE by ROADS

**WATCH TOWER:**

+1 point if not touching another WATCH TOWER

+2 points if also on a hill

**PARK:**

+5 points for every 3 PARKS in a connected group

## How to run client
We are going to use `bun` as a package manager. you can use `npm` or `yarn ` as well.

```
cd client
```

```
bun install
```

```
bun run dev
```

- a. Deployment processes and debugging techniques

### Step 9: Running the Client

Steps include:
-a. Launching the client

- b. Generating models via npm
- c. Understanding client architecture
- d. Learning about the `torii` client

### Step 10: Utilizing `slot` for Remote Deployments

Understand [slot](https://github.com/cartridge-gg/slot) and its applications. Install `slot` and log in with these commands:

```bash
curl -L https://slot.cartridge.sh | bash
slotup
slot auth login
# For old auth credentials debug:
rm ~/Library/Application\ Support/slot/credentials.json
```

Deployment steps:

```bash
# Create and manage deployments
slot deployments create castle-hexapolis katana

# Retrieve and save credentials
slot deployments logs castle-hexapolis katana -f

# Build and migrate releases
sozo --release build
sozo --release migrate

# Set up torii and connect to the world
slot deployments create castle-hexapolis torii --rpc https://api.cartridge.gg/x/castle-hexapolis/katana --world 0xb18e8ef76b6739c501ccb7be5121704babacc68976b4b07789e3a366e68b15 --start-block 1

# Update authentication for the release
./scripts/default_auth.sh release
```

Deployed Katana Instance: https://api.cartridge.gg/x/castle-hexapolis/katana
Deployed Torii Instance: https://api.cartridge.gg/x/castle-hexapolis/torii

Design Inspirations and game Asset credit:

Six Sided Streets (Chris Klimowski)

My City (Reiner Knizia)

Tiny Islands (David King)

Cascadia (Randy Flynn)