Skip to content

Latest commit

 

History

History
62 lines (44 loc) · 2.12 KB

File metadata and controls

62 lines (44 loc) · 2.12 KB

Contributing to Server Survival

First off, thanks for taking the time to contribute! 🎉

The following is a set of guidelines for contributing to Server Survival. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

Getting Started

  1. Fork the repository on GitHub.
  2. Clone your fork locally:
    git clone https://github.com/your-username/server-survival.git
    cd server-survival
  3. Create a branch for your feature or bugfix:
    git checkout -b feature/amazing-feature

Development Workflow

This project uses vanilla JavaScript, HTML, and CSS with Three.js. No build step is currently required for the core game, but we use a modular structure in src/.

  1. Open index.html in your browser to run the game.
  2. Make changes in the src/ directory or game.js.
  3. Reload the browser to see your changes.

Project Structure

  • index.html: Main entry point and UI structure.
  • game.js: Main game loop and logic (currently under refactoring).
  • src/: Modularized code.
    • entities/: Game entities like Service and Request.
    • services/: Systems like SoundService.
    • config.js: Game configuration constants.
    • state.js: Global game state.

Code Style

  • JavaScript: Use modern ES6+ syntax (const/let, arrow functions, classes).
  • Formatting: Keep code clean and readable.
  • Comments: Comment complex logic, but aim for self-documenting code.

Pull Request Process

  1. Ensure your code works and doesn't break existing features.
  2. Update the README.md if you change any game mechanics or controls.
  3. Open a Pull Request against the main branch.
  4. Describe your changes clearly in the PR description.

Reporting Bugs

Bugs are tracked as GitHub issues. When filing an issue, please include:

  • A clear title and description.
  • Steps to reproduce the bug.
  • Expected vs. actual behavior.
  • Screenshots if applicable.

License

By contributing, you agree that your contributions will be licensed under its MIT License.