personaforge/README.md
2025-04-28 09:40:05 -04:00

93 lines
3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 👥 PersonaForge
PersonaForge is a lightweight personality generator for The Sims 2. It balances randomness with user choice without complexity.
It helps if you want to:
- Have a specific Sim but arent sure how to fairly distribute leftover points.
- Need a fast and balanced Sims that still has a natural personality without min-maxing
- Are just tired of flying blind
## 💡 Why This Exists
With Sims 3 and later, creating personalities is as simple as selecting a trait. Sims 2 doesnt have traits in the same way later installments do. You had to figure out what kind of Sim you wanted based on certain qualities and points you had to spend. Even if you knew what you wanted, you didnt know how to spend the rest. This was created to solve that.
## 🛣️ Project Roadmap
| Phase | Goal | Status |
| ----- | ------------------------------------------- | ------ |
| v0.1 | Core random point generator (working) | ✅ |
| v0.2 | PersonalityProfile class | ✅ |
| v0.3 | Interactive JSON export | ✅ |
| v0.4 | Archetypes with weighted biases | 🔜 |
| v0.5 | Profile import/load from JSON | 🔜 |
| v1.0 | Stable "Release" version with documentation | 🔜 |
## 🧩 Tech Stack
- .NET 8.0
- C# (focused on clarity, safety, minimalism)
- System.Text.Json for serialization (no external libraries)
- Pure backend logic (no UI planned)
## 📐 Design Principles
- Simple with no bloat or feature creep
- Stay true to The Sims 2
- Respect randomness
- Futureproof for new archetypes, quirks, or expansions
- Portable and clean
## 📦 Example JSON Output
```json
{
"Name": "Max Casey",
"Qualities": {
"Outgoing": 6,
"Nice": 4,
"Playful": 6,
"Neat": 5,
"Active": 4
}
}
```
## 🚫 Not Planned
- No Sim 3-style traits.
- No UI. (Maybe a fork)
- No CAS-style tool.
## 📌 Stretch Goals
- Cross-platform dotnet tool. (e.g. `dotnet tool install`)
## 🗓️ Update Cycle
| Type | Frequency | Notes |
| ------------ | ---------------- | ---------------------------------------- |
| Minor Update | Every 36 months | Small enhancements, non-breaking changes |
| Patch Update | As needed | Bug fixes, security updates |
| Major Update | As needed | Framework upgrades, major refactors |
- Reserve months: June (Mid-Year Chill) & December (End-Year Freeze)
## 🛡️ Status
- [x] Active Support
- [ ] Limited Support (Security patches only)
- [ ] Maintenance Mode (Dependency-only updates)
- [ ] Archived (No active work planned)
## 🎮 Relaxation Practices
- 20% creative/recovery space built into development
- Mandatory cooldowns after major launches (minimum 1 week)
- Crisis Mode Activates if:
- Critical vulnerabilities
- Framework-breaking issues
## License
I license the source code under the BSD-3-Clause license - see [LICENSE](LICENSE) for details.