Introduction
Shipbuilding is the penultimate major area of development within phase 2 of Archipelago. Up until now only one type of ship has been available for our seafarers. No longer! Two new ships are introduced in this contribution, each with their own specifications. Players will start the game with only one vessel but can add an additional ship of each type as the game progresses, once they have accumulated enough of the goods required for construction.
The new features in this contribution are:
- New ship types (catamaran and cargo ship).
- Shipbuilding functionality.
Phases 2 (Resources, Goods, Building, and Trade Contracts) and 3 (Conflicts) of Archipelago development are now well underway.
For a full view of the current state of the game development see my github-hosted page.
https://miniature-tiger.github.io/archipelago/
Please note that the game is not yet complete - you can see current progress and test functionality but you will have to wait a little longer to play!
Background details of the project can be found at the end of this contribution post.
Repository
The repository for Archipelago can be found here:
https://github.com/miniature-tiger/archipelago
New Features covered by this Contribution
New ship types (catamaran and cargo ship)
Two new ship types have been designed and incorporated within the game, bringing the total number of vessel types to three:
- Catamaran: A new addition. The first ship that will be allocated to all players at the start of the game. Lightweight and fast it can carry few goods but is perfect for speeding around the board to discover new islands and new resources.
- Warship: Slower than the catamaran but with twice the hold capacity. This ship will play a key role in battling pirates and keeping the trade routes clear. (This ship was already incorporated within the game but has been renamed from cargo ship to warship).
- Cargo ship: The second new addition. The largest ship with twice the sail power. Slow and mighty for players looking to fulfil the largest trade contracts.
The code changes for the above new feature can be found here:
https://github.com/miniature-tiger/archipelago/pull/69/files
These changes include:
- SVG design and coding of catamaran and cargo ship pieces.
- Update of stock dashboard to include new ship types.
- Update of pieceTypes array and game logic to allow different max moves for each ship type.
- Update of ship damage and harbour repair methods to allow different characteristics of each ship type (and simplification to prevent repeated code by using action tile creation methods).
Shipbuilding functionality
Once a player has discovered islands with the required resource types and accumulated enough goods they will be able to construct new ships. Two additional ships (warship and cargo ship) can be built to accompany the catamaran with which the players start the game.
A new ship is built using the following steps:
The code changes for the above new feature can be found here:
https://github.com/miniature-tiger/archipelago/pull/70/files
A new build.js file was created to hold all building methods. These include methods to:
- Handle clicks on the stock dashboard
- Operate the building slider and check if the chosen ship can be built.
- Activate the safe harbours and capture the start inputs of the building turn.
- Reduce the stock levels of Resource and fort tiles for construction of the ship.
- Reset the building slider.
In addition:
- The stock dashboard code was adapted so that unbuilt ship icons trigger the building slider.
- The index file was updated with separate building slider (commentary slider and building slider will swap when each is called).
- The building slider CSS was added to surround.css.
Proof of Work Carried Out
This is the full url to my github account:
https://github.com/miniature-tiger
That is all for this update. If you have any queries please drop them in the comments or contact me on discord.
Details of the Archipelago Project
What is the Project About?
Archipelago is a new project that I have been working on. The aim is to develop a seafaring and trading turn-based strategy game. Players will guide their ships around the islands, searching for goods to aid construction of ships and their bases, trading with the Kingdom settlements and avoiding hazards like pirates and whirlpools.
Technology Stack
The project is a browser based game:
- Mechanics: Javascript
- Visuals: HTML and CSS initially but now moved across to Canvas and SVG.
Roadmap
Phase 1 - the first main goal of getting ships on the board and moving at different speeds under the influence of the compass is complete.
The graphics overhaul is also now complete.
Work is now ongoing on Phase 2 which is resource discovery, goods production, building and the trade contracts that underlie the game.
Work has also begun on adding pirates and conflicts.
Phase 1 - Board and ship movement: COMPLETE
- Board set up - COMPLETE
- Basic ship creation: functionality and graphics - COMPLETE
- Manual ship movement and board updating - COMPLETE
- Basic compass creation: functionality and graphics - COMPLETE
- Turn based activity of ship movement - COMPLETE
- Logic of length of longer moves around obstacles - COMPLETE
- Chaining together transitions to allow graphics of longer moves - COMPLETE
- Separation of board layers (Canvas base layer, Canvas activation layer overlay, SVG piece overlays) - COMPLETE
Phase 2 - Resources, Goods, Building and Trade Contracts
Resources
- Add Resource tiles (forest, ironworks, flax, gold etc) - in progress: forest, ironworks, quarry, plantation added
- Discovery of resource tiles - COMPLETE
- Claiming of resource tiles - COMPLETE
- Dashboard of player pieces - COMPLETE
Goods
- Creation of new goods each turn - COMPLETE
- Loading, unloading and transportation of goods - COMPLETE
- Dashboard of goods pieces - COMPLETE
- Goods icons - COMPLETE
- Variable quantity of goods to be loaded / unloaded - COMPLETE
Contracts for delivery:
- Semi-random (equitable) generation of trade delivery contracts - COMPLETE
- Creation of trade settlements - COMPLETE
- Dashboard for contracts - COMPLETE
- Mechanics for contract sign-up - COMPLETE
- Mechanics for contract delivery - COMPLETE
- Island naming: for describing location of trading settlements - COMPLETE
- Graphics of trade routes - COMPLETE
- Continuance of contracts over time - COMPLETE
- Breaking of contracts due to interference - COMPLETE
Building (On hold - decide if necessary once contracts implemented)
- New ship designs - Catamaran, warship, cargo ship - COMPLETE
- Definition of goods requirements to build each ship and ship ability specifications - COMPLETE
- Ability to construct new ships - COMPLETE
Scoring:
- Work out scoring mechanism (linked to contracts)
- Add score dashboard
Phase 3 - Conflicts
Pirates
- Add pirate ships - COMPLETE
- Automate pirate ship movements (basic movement with wind and search for cargo ships) - COMPLETE
- Search - telescope range of 5 tiles for stronger search for ships - COMPLETE
- Separate ship types for teams - Need to consider whether all ships can defend themselves
Forts
- Add fort icons - COMPLETE
- Create safe harbour from pirate ships - COMPLETE
Conflicts
- Attack - Develop conflict method between ships - COMPLETE
- Stealing of cargo - COMPLETE
- Limping back to harbour - COMPLETE
- Ship repair - COMPLETE
Phase 4 - Game Management and Settings
Settings
- Settings pop up box created - COMPLETE
- Options added - In progress - game speed added, developer tools added
- Local options (player name etc)
- Game saving and replay
Phase 5 - Central trading centre
- Develop central market allowing players without resources to trade and fulfill contracts
Phase 6 - One player version development
Artificial Intelligence levels for computer players
Phase 7 - Rules, roll-out, documentation, testing etc
Contact / Contribute
You can get in touch with me on discord if you would like to contribute.
You can find the current state of the game here:
https://miniature-tiger.github.io/archipelago/
The repository for the project is here:
https://github.com/miniature-tiger/archipelago
Have fun!