Add project docs, MIT license, and AI dev guidelines

This commit is contained in:
Kareem Horstink
2026-07-26 14:11:18 +00:00
parent 0dc103275f
commit cbb77576bb
3 changed files with 112 additions and 0 deletions
+41
View File
@@ -0,0 +1,41 @@
# Contributing to FrogFPS
## Coding Standards
### C# Conventions
- Use `PascalCase` for class names, `camelCase` for methods/properties
- Godot nodes: use `[Export]` for inspector-exposed fields
- Signals: connect via code using `Connect()` or `[Signal]` attribute
- Prefer composition over inheritance where possible
### Scene Files (.tscn)
- Keep scene hierarchy flat — avoid deep nesting
- Use unique node names (no "Node", "Node2D", etc.)
- Group related nodes under a named parent
### Git Workflow
- Small, focused commits with descriptive messages
- Branch naming: `feature/<name>`, `bugfix/<name>`
- Pull requests should include what/why, not just what changed
## AI Development Guidelines
When working with AI assistants on this project:
1. **Context first** — share relevant scene structure and existing code before asking for implementations
2. **Godot patterns** — AI should follow Godot 4 C# conventions (signals, `_Process`, `_PhysicsProcess`, etc.)
3. **Incremental changes** — one feature at a time; verify each works before moving on
4. **Scene integrity** — don't modify `.tscn` files directly unless necessary; prefer code-based node creation
## Quick Reference
| Concept | Pattern |
|---------|---------|
| Node script | `public partial class MyClass : Node3D { ... }` |
| Export variable | `[Export] public int Health { get; set; } = 100;` |
| Signal | `[Signal] public delegate void HealthChangedEventHandler(int newHealth);` |
| Process loop | `public override void _Process(double delta) { ... }` |
| Physics loop | `public override void _PhysicsProcess(double delta) { ... }` |
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2025 Imrayya
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+50
View File
@@ -0,0 +1,50 @@
# FrogFPS
A Godot 4.7 + Mono (.NET 8) FPS game project.
## Tech Stack
- **Engine:** Godot 4.7 (Forward Plus)
- **Language:** C# (.NET 8)
- **Physics:** Jolt Physics
- **IDE:** VS Code / Rider recommended
## Getting Started
### Prerequisites
- Godot 4.7+ with .NET SDK installed
- .NET 8 SDK
### Build & Run
```bash
# Open in Godot Editor (recommended)
godot --path .
# Or build from CLI
dotnet build FrogFPS.sln
```
## Project Structure
```
.
├── Base.tscn # Root scene node
├── FrogFPS.csproj # .NET project file
├── FrogFPS.sln # Solution file
├── project.godot # Godot project config
└── icon.svg # Project icon
```
## AI Development Notes
This project is set up for AI-assisted development. Key conventions:
- C# scripts follow Godot 4 patterns (`[Tool]`, `Node3D`/`CharacterBody3D` base classes)
- Scene files are in `.tscn` format (text-based, version-controlled)
- See `CONTRIBUTING.md` for coding standards and AI interaction guidelines
## License
MIT License — see [LICENSE](LICENSE) for details.