Starting a new game and working on the requirements doc. What do you think?

Starting a new web-based threejs game and working on the requirements doc. What do you think? Want to work with me on this fun project? I loved Myth: The Fallen Lords as a kid.

# Eternal Eclipse - Game Project Specification



## Game Overview

A multiplayer survival game inspired by Myth: The Fallen Lords, featuring procedurally generated terrain and an eternal eclipse theme.



### Myth: The Fallen Lords Inspiration

Myth: The Fallen Lords is a tactical real-time strategy game where players control small groups of units in intense battles. The game features a unique physics-based combat system where units can be dismembered, thrown, and affected by terrain. Units have distinct abilities and roles - for example, dwarves throw explosive molotov cocktails that can damage both enemies and terrain, while warriors excel in close combat. The game emphasizes tactical positioning, unit management, and environmental awareness. Players must carefully consider terrain advantages, unit formations, and timing of special abilities. The multiplayer mode focuses on competitive battles where players must outmaneuver and outthink their opponents while managing their limited resources and units effectively.



### Core Gameplay

- Player selects troops before match start

- Battle Royale-style gameplay where players fight to be the last survivor

- Support for both multiplayer and single-player (AI) modes

- Fast-paced action with high FPS requirements



### Units

1. Dwarf

   - Special ability: Throws molotov cocktails

2. Warrior

   - Standard combat unit

3. Ghoul

   - Fast-moving creature

4. Archer

   - Ranged combat with arrows



## Technical Requirements



### Frontend Stack

- Three.js for 3D rendering

- Voxel/pixel art style (Minecraft-like) for simplified asset creation

- CSS3 for UI and styling

- Hammer.js for touch controls

- GSAP for animations

- RxJS for reactive programming

- Zustand for state management

- TypeScript for type safety

- WebGL 2.0 with fallback support



### Backend Stack

- PHP backend

- https://colyseus.io/ WebSocket server for real-time multiplayer

- WebRTC for peer-to-peer communication

- Build tools:

  - Bun for development server, bundling, and minification

  - ESLint and Prettier for code quality

  - Husky for git hooks

  - Vitest for unit testing



### Physics

- Use Rapier.js for physics

- Web Workers for physics calculations

- WebAssembly for performance-critical calculations

- Support for terrain collision and unit interactions, arrows, molotov cocktails shot/thrown, etc



### Visual Theme

- Eternal eclipse in the sky

- Magical atmosphere

- Procedurally generated terrain including:

  - Hills

  - Water bodies

  - Sand areas

  - Grass fields

  - Walking trails

  - Trees



## Project Structure

```

eternaleclipse/

├── public_html/

│   ├── index.php

│   ├── js/

│   │   ├── core/           # Core game engine

│   │   ├── entities/       # Game entities (units, terrain)

│   │   ├── physics/        # Physics calculations

│   │   ├── networking/     # WebSocket and multiplayer

│   │   └── ui/            # UI components

│   ├── css/

│   └── assets/

├── tests/                  # Test files

├── scripts/               # Build and utility scripts

└── build/                 # Build output directory

```



## Build & Development

- `bun dev`: Launches Bun dev server and PHP server

- `bun test`: Runs unit tests

- `bun run build`: 

  - Bundles and minifies JS

  - Copies files to build/public_html

  - Optimizes assets

  - Generates service worker for PWA support



## Technical Considerations

- Mobile-first responsive design

- High-performance rendering with WebGL 2.0

- Efficient physics calculations using Web Workers

- Smooth multiplayer synchronization with WebRTC

- AI bot implementation for single-player mode

- Procedural terrain generation

- Asset optimization and streaming for fast loading

- Error boundaries for graceful failure handling

- Progressive Web App (PWA) support

- Type safety with TypeScript

- Code quality enforcement with ESLint and Prettier

- Automated testing with Vitest



## Development Workflow

- Pre-commit hooks with Husky

- Automated code formatting

- Unit test coverage requirements

- TypeScript strict mode

- Asset optimization pipeline

- Development environment parity



## Future Considerations

- Additional unit types

- More terrain variations

- Enhanced AI behavior

- Additional game modes

- Custom map creation 

Claude 3.7 Sonnet is unbelievable with MCP (capabilities overview and video) – Discussion – Cursor – Community Forum

Recently I’ve been working on a new robot search engine project and using Cursor. I have been copy pasting screenshots into cursor but it would streamline things quite a bit if I hooked up Cursor with MCP to Google Chrome. I have so many screenshots left on my desktop from that.

Link to MCP thread:

https://forum.cursor.com/t/claude-3-7-sonnet-is-unbelievable-with-mcp-capabilities-overview-and-video/56325

Weird Git Stuff: Using Windows Subsystem for Linux, I see git changes in WSL, but not in Windows. Why is that?

Has anyone ever had a problem where a directory in Windows doesn’t have any changes to commit, but the same directory viewed through wsl ubuntu has files modified? I am trying to figure out what’s going on. Any ideas? Does OneDrive have something to do with it?

It seems so barbaric to shock someone against their will. Please God outlaw forced electroshock. Please sign this petition.

https://www.change.org/p/support-legislation-for-patient-requested-halt-of-court-orders-for-shock-therapy?recruiter=1913642&recruited_by_id=c65ca3c0-be59-012f-66c6-4040ea65fa16&utm_source=share_petition&utm_campaign=psf_combo_share_initial&utm_medium=native

My experience with hacking, phone viruses, trojans, and security software

I removed Norton from a neighbor’s computer cause it had popups saying your computer has more errors than normal computers. Not sure of the wording. On my Windows 11 pc,  I tried using zone alarm which is a network monitor which tells you which apps connect to what sites on the internet, but i had to uninstall as it broke everything on my pc. Had to restart in safe mode. Microsoft has a virus scanner that is built in that i use and norton turns off. Its free.

On my mac I have an open source network monitor, lulu, its nice.

I installed mcafee anti virus on my android phone but since have uninstalled it as I noticed a user playing my pirates game said norton said it was for phishing. I think that is cause i had mcafee running while i developed my not yet signed by google pirates game and it incorrectly flagged it as a virus app. They were around the same time period, a matter of months.

During pandemic, 2020 to 2022 I had a virus on my phone and mac. I couldn’t get it off. It’s off now. Ask me if you’d like more details. The problem imcluded my phone sending texts I didnt write or send myself to multiple people.

I would like to sue Pegasus virus makers. Whatsapp sued them. I hate phone and desktop malware so much. Jeff Bezos phone was hacked with pegasus and as a result an undercover journalist was gruesomely murdered. If you see him in pics with other people on their phone, he doesnt use one himself anymore as far as i know.

iOS and Android Job Search apps are approved and available to download

Android:

https://play.google.com/store/apps/details?id=com.greenrobot.jobs

iOS:

https://apps.apple.com/app/job-search-by-greenrobot/id6740187513

Web:

https://jobsearch.greenrobot.com

Please consider sending me a message if there’s something you don’t like, or if all is well, leave a 5 star review. Thank you.

andy@greenrobot.com