OpenThrone / OpenThrone

Other
6 stars 3 forks source link

OpenThrone - NextJS Project

Forked from NextJs-Boilerplate by CreativeDesignsGuru

Background

OpenThrone is a community project hoping to recreate the TextBased MMORPG called DarkThrone which has gone dark after almost 20years of service. While we are not affiliated with the original DarkThrone project, our community hopes to be able to deliver a game that can pick up where DT left off and bring forth many of the enhancements and hopes that we were patiently waiting for.

Development Notes

OpenThrone started out as a fork of the Dark Curse project which was originally started by Moppler (Matt Gibney) here: https://github.com/MattGibney/DarkCurse. This project has been archived and is no longer being updated. We've since decided to port it to NextJS/React, while trying to keep a lot of the heavy lift that was already done previously from a design perspective.

Game Status - PRE-ALPHA / LIVE DEVELOPMENT

There's currently a live server running at OpenThrone.Dev, however it should be noted that at this time, this server is a live development server and will be reset often and sometimes without notice.

FAQ

Yes, a small group of volunteers have been working to get a working version of the game up and running.

If you have experience with art, NextJS, or Figma please send a message to DasTacoMann.

Currently we are hyper focused on getting the basic mechanics of the game functioning so there will be a time later where ideas can be talked about.

Community

Join us on Discord here: https://discord.gg/j9NYxmBCjA

Contributions

Contributions are the backbone of OpenThrone. Feel encouraged to report bugs or ask questions by opening an issue. We are open to all suggestions for improvement.

Getting it running

A few notes about how to get the game running locally (for dev work or otherwise):

Handling Updates from Upstream

When you pull the latest updates from the upstream repository, there may be new migrations, dependencies, or configuration changes. Follow these steps to ensure everything runs smoothly:

  1. Pull the Latest Updates:
git pull upstream main
  1. Install New Dependencies:
  1. Update the Database Schema:
  1. Rebuild the Project (if necessary):
  1. Restart the Development Server:

To facilitate the job of providing a set of scheduled jobs, such as providing turns every 30minutes or new citizens every day, you'll have to use an external scheduler such as Crontab. The following will list out a number of tasks that can be scheduled

Daily Citizens

30minute turn and gold generation

.ENV Secrets

Make sure you update your secret in your .env file TASK_SECRET="TESTING"

Other Information

VSCode information (optional)

If you are VSCode users, you can have a better integration with VSCode by installing the suggested extension in .vscode/extension.json. The starter code comes up with Settings for a seamless integration with VSCode. The Debug configuration is also provided for frontend and backend debugging experience.

With the plugins installed on your VSCode, ESLint and Prettier can automatically fix the code and show you the errors. Same goes for testing, you can install VSCode Jest extension to automatically run your tests and it also show the code coverage in context.

Pro tips: if you need a project wide type checking with TypeScript, you can run a build with Cmd + Shift + B on Mac.

License

Licensed under the MIT License, Copyright © 2023

See LICENSE for more information.