Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

692 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lost Seas

This is a pirate influenced web game, set in the year 1640. The main goal is to get higher ranks, get more ships, crew members, wealth, finding treasures and fighting off enemies.

It takes place in the Spanish Main and is a battle between England, France, Spain and Holland.

This game has it's origins in in the early 2000s. You can still see the old Lost Seas game if you'd like. It's built using PHP. The game is heavy influenced by Sid Meier's Pirates!.

It's free

Yeah, like for real.

  • It doesn't cost you anything to play
  • You won't see any ads
  • You won't get any spam because we don't even want to know your email address
  • You won't get any in-game purchases
  • Copy the game and do what you'd like, or help me build something cool

Why?

This game has been a part of me for so many years. It's just great fun to have a project that I can spend time on when I get some inspiration. Also great to have a real application that is actually used when trying out new technologies.

Tech

It is built with:

  • Next.js
  • TypeScript
  • Firebase
  • React Query
  • Tailwind and ShadCN
  • Framer Motion
  • React Hook Form & Zod

The authorization is handled by Firebase and is super simple. A random GUID is created upon registration and you use this GUID to identify and logging in. You can also login using a QR code. Cool huh?

Artificial intelligence

The images and texts are generated by AI. Thank you NightCafé and ChatGPT. I would also want to thank Pixabay for providing some awesome music tracks.

Read the player guide to get a grasp of what the game is about.

Run the game locally

  1. Clone the repo
  2. Get a Firebase account and setup correct credentials in a .env file
  3. Run npm install
  4. Run npm run dev
  5. The Firebase rules looks like this:
{
  "rules": {
    ".read": false,
    ".write": false,
    "logs": {
      "$playerId": {
        ".indexOn": ["timestamp"]
      }
    },
    "statistics": {
      "$playerId": {
        ".indexOn": ["timestamp"]
      }
    }
  }
}

The data will be read and written using the admin API so we don't need read and write.

Viola.

About

A free web games influenced by Pirates, built with Next.js

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages