Skip to content

Repository files navigation

License Build Semantic Release Commitlint TypeScript Last Commit Version Free

⭐ Star us on GitHub — it motivates us a lot! ❤️‍🔥
· Report Bug · Request Feature

Eager Wing

A next-generation browser-based MMO game built with Babylon.js, Vue 3, and Vite.
Real-time 3D battles, persistent worlds, and modular architecture — all powered by modern web technology.


Features

  • TypeScript-powered, clean and scalable codebase
  • Modular Babylon.js game engine
  • Fast builds and hot reloads with Vite
  • Reactive UI built using Vue 3 + Pinia
  • Automated releases with Semantic Release
  • Commit message linting with Commitlint + Husky
  • Extensible architecture for multiplayer gameplay

Tech Stack

Category Technology
3D Engine Babylon.js
Frontend Vue 3 + Vite
State Management Pinia
Language TypeScript
CI/CD GitHub Actions
Release System Semantic Release
Linting Commitlint, ESLint, Prettier

Getting Started

1. Clone the repository

git clone https://github.com/theycantrevealus/eager-wing.git
cd eager-wing

2. Install dependencies

pnpm install
# or
npm install

3. Start development server

pnpm dev
# or
npm run dev

Then open your browser at http://localhost:5173


Scripts

Command Description
dev Start local dev server
build Build production bundle
preview Preview built app locally
lint Lint code using ESLint
release Trigger semantic release pipeline

Project Structure

eager-wing/
├── src/
│   ├── assets/          # Static assets (models, textures, sounds)
│   ├── components/      # Vue components
│   ├── core/            # Game engine logic (BabylonJS scenes, systems)
│   ├── stores/          # Pinia stores
│   ├── utils/           # Helper functions
│   ├── App.vue          # Root Vue component
│   └── main.ts          # Entry point
├── public/
├── package.json
├── vite.config.ts
└── tsconfig.json

🧩 Conventional Commits

This project follows the Conventional Commits specification.
All commit messages must use the following format:

<type>[optional scope]: <description>

[optional body]

[optional footer(s)]

Example

feat(core): add spaceship movement system
fix(ui): correct minimap scaling issue
docs(readme): update contributing guide
refactor(engine): optimize collision detection
chore(release): 1.2.0

Allowed Commit Types

Type Description Release Impact
feat Introduce a new feature Minor (1.x.0)
fix Fix a bug Patch (1.0.x)
perf Improve performance Patch (1.0.x)
docs Documentation-only changes None
style Code style or formatting changes (no logic) None
refactor Code refactor without new features or fixes None
test Add or fix tests None
build Changes to build system or dependencies None
ci Changes to CI/CD configuration None
chore Maintenance or tooling updates None
revert Revert a previous commit Depends on context

Breaking Changes

If a commit introduces a breaking change, include a footer line starting with BREAKING CHANGE:.

Example:

feat(api): change player login structure

BREAKING CHANGE: The /login endpoint now requires a token parameter.

This will automatically trigger a major version bump (1.x.x → 2.0.0) by Semantic Release.


Commit Tips

  • Use pnpm commit or npm run commit if Commitizen is installed.
  • Keep descriptions short and meaningful.
  • Use present tense (“add feature” not “added feature”).
  • Avoid punctuation at the end of the description.

Properly formatted commits allow automatic changelog generation and semantic versioning 🚀


Automated Releases

Semantic Release automatically:

  • Analyzes commit messages
  • Bumps version numbers
  • Publishes new releases on GitHub
  • Updates changelogs

Deployment

Build and preview the production version:

pnpm build
pnpm preview

Output files will be generated in the /dist directory.


Contributing

Contributions, issues, and feature requests are welcome!
Check the issues page.

How to contribute:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit changes following Conventional Commits
  4. Open a Pull Request

Author

Eager Wing Team


License

This project is licensed under the MIT License.


Acknowledgments


"Fly beyond the horizon — the world awaits the eager."

About

Just start building a MMO game inspired by AION

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages