Archipelago - Player elimination, game phases and declaring a winner!


Introduction

The last Archipelago update saw the addition of a scoring mechanism and scoreboard. Rules were codified for how points are earned for player actions. A map, a compass and a collection of pieces started to take the form of an actual game.

Following a similar theme, this update aims to gives the game more shape and structure. The game is now limited in duration to eight moons. Each new moon will bring a new task, ability, or threat, breaking the game into distinct phases. Earlier moons will focus on resource discovery with faster ships. Later moons will require shipbuilding for larger contracts. As the game draws towards its end the last ranked players will start to be eliminated, leading to a frantic rush for points.

The main features added are in this contribution are:

  • Moon scrolls: an introductory scroll at each new moon to describe the new task or threat.
  • Player elimination: the last player is removed at certain intervals; their ships sunk, their settlements and resources tiles deserted.
  • Game ending: A final message at the end of the game to declare the winner.
  • Random order for player turns: A gameplay improvement (which also provided the greater flexibility required for player elimination).




Screen Shot 2018-07-11 at 17.36.16.png

Phases 2 (Resources, Goods, Building, and Trade Contracts) and 3 (Conflicts) of Archipelago development are almost finished!

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

Moon scrolls

The game will last a maximum of eight moons. In order to give the game more structure each new moon will start with an introductory scroll describing a new task, threat or game element. Earlier moons will see the activation of trading, shipbuilding and the central market with a focus on gathering resources. Later moons will bring player elimination, whittling down the competition to the final two.

The moon scroll is a pop-up with a few lines of descriptive text and illustrations. The game continues simply by clicking the screen.


Screen Shot 2018-07-11 at 17.42.20.png

Scroll for the first moon

The code changes for the above new feature can be found here:
https://github.com/miniature-tiger/archipelago/pull/77/files

The main changes were:

  • Addition of the createScroll method to draw the scroll on the screen.
  • Addition of the scrollText method and scrollTextArray to define the title and text of the scroll.
  • Addition of the scrollClose method to close the scroll.
  • Splitting out drawMoon from drawMoonLayer within board.js and localising arguments so that moon diagrams can be added to the scrolls.
  • Moving the nextTurn function into gamemanagement.js, separating between pre and post moon scroll effects, and adding scroll pop up elements.

Player elimination

At the end of the fourth and sixth moons the last player is eliminated. Their ships are sunk; their settlements and resources tiles deserted. The game board is updated to reflect these changes with deserted tiles shown in grey.


Screen Shot 2018-07-11 at 14.33.29.png

A deserted Green Team fort and forest can be seen at the southern edge of the map

The code changes for the above new feature can be found here:
https://github.com/miniature-tiger/archipelago/pull/78/files

The main changes were:

  • Addition of lastPlayer method to determine player to eliminate
  • Addition of eliminatePlayer method which updates arrays and map to eliminate player and adds the comment to the next moon scroll

Game ending

At the end of eight moons the scoreboard is shown and a final message declares the winner. The game is over!


Screen Shot 2018-07-12 at 11.44.59.png

Game Over!

The code changes for the above new features can be found here:
https://github.com/miniature-tiger/archipelago/pull/80/files

The main changes were:

  • Update of lastPlayer method to firstLastPlayer - now finds first and last player so winner is determined
  • Addition of presentWinner method to show the scoreboard and include the winning team in the final message
  • Update of game logic to end game after 8 moons have passed

Random order for player turns

A gameplay improvement which also provided the greater flexibility required for player elimination. Previously player turns always started with Green Team and moved clockwise. Now a random player move order is determined at the start of the game.

The code changes for the above new features can be found here:
https://github.com/miniature-tiger/archipelago/pull/76/files

The main changes were:

  • A new player object was added (playerListing) which forms the basis of team names and info (this is with an eye on future player name input)
  • The method teamArraySetUp was added which determines the random order of player moves.
    [There are a couple of small play improvement changes sneaking through here also (changing of contract delivery amounts with time, shipbuilding scoring)].


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) - COMPLETE
  • 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
  • Re-work resource and contract surrounds to prevent overrun
  • Only allow one contract to be made with each island

Building

  • 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 and game structure:

  • Work out scoring mechanism (linked to contracts) - COMPLETE
  • Add score dashboard - COMPLETE
  • Breaking of game into stages - COMPLETE
  • Elimination of players as time passes - COMPLETE
  • Game ending - time limit of eight moons - COMPLETE (additional methods to end game to ne added in future, e.g. complete contracts with all four islands)
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 and whether all ships can defend themselves - COMPLETE

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!

Sort:  

I really like the look of your game. It feels like a board game like the ones I play with my friends!
But I didn't understand how to play it. I couldn't find a tutorial but I didn't search for long. You should do a basic tour for new comers or start a tutorial game. In video games when you start and you don't know the control, the game takes you by the hand and in a matter of minutes you know how to play.

Let's go for the review:

Well this is going to be short as I don't have much to say, you've done an excellent job.

And well that's all, again good job!

I hope you'll do a tutorial :p

Your contribution has been evaluated according to Utopian policies and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post, click here.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks Grégory!

Yes, the game definitely needs some form of in-game guide or initial instructions, possibly a list of rules and a map key too. Also a backstory and a little more graphics / branding to give it a more rounded professional feel. All to come once I've finished off the functionality of gameplay and done a little gameplay testing (just so that I don't have to re-write the instructions each time I find I need to change something in the game).

Thanks for the feedback tips and the link to the style guidelines too. Very useful!

Hey @gregory.latinier
Here's a tip for your valuable feedback! @Utopian-io loves and incentivises informative comments.

Contributing on Utopian
Learn how to contribute on our website.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

Hey @miniature-tiger
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

I've probably commented with similar before, but I really love that you are able to develop your own game in your own time and be monetized for doing so. What a win-win-win! :D

Thanks Asher! Yes, it's nice to have that little extra motivation to keep things going when I'm feeling burned out.

It's good to see so many new projects coming to the Steem blockchain through Utopian too. It's really a great feedback loop, rewards for building projects that in turn should help the Steem environment that should lead to bigger rewards. Just needs the crypto markets in general to start looking upwards!

This post has been upvoted and picked by Daily Picked #52! Thank you for the cool and quality content. Keep going!

Don’t forget I’m not a robot. I explore, read, upvote and share manually 😊


You can upvote, follow, resteem, delegate and join my curation trail to support me, good creators and minnows.

Thank you!

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 6 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 17 SBD worth and should receive 133 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

Congratulations! This post has been upvoted from the communal account, @minnowsupport, by miniature-tiger from the Minnow Support Project. It's a witness project run by aggroed, ausbitbank, teamsteem, theprophet0, someguy123, neoxian, followbtcnews, and netuoso. The goal is to help Steemit grow by supporting Minnows. Please find us at the Peace, Abundance, and Liberty Network (PALnet) Discord Channel. It's a completely public and open space to all members of the Steemit community who voluntarily choose to be there.

If you would like to delegate to the Minnow Support Project you can do so by clicking on the following links: 50SP, 100SP, 250SP, 500SP, 1000SP, 5000SP.
Be sure to leave at least 50SP undelegated on your account.

Coin Marketplace

STEEM 0.30
TRX 0.11
JST 0.034
BTC 66499.54
ETH 3203.31
USDT 1.00
SBD 4.14