personaforge/README.md
Tony Bark 0ae58c67fa Zodiac signs JSON
- Preemptive start on reading JSON files
2025-04-28 12:43:51 -04:00

100 lines
3.1 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
Because The 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 personality stats with a strict 25 point budget. Even if you knew what you wanted, you didnt always know how to spend the rest. PersonaForge aimed to solve this problem.
## 🛣️ Project Roadmap
| Phase | Goal | Status |
| ----- | ------------------------------------------- | ------ |
| v0.1 | Core random point generator | ✅ |
| v0.2 | PersonalityProfile class | ✅ |
| v0.3 | Interactive JSON export | ✅ |
| v0.4 | Archetypes with weighted biases | ✅ |
| v0.5 | Command line tool | ✅ |
| v1.0 | Stable "Release" version with documentation | 🔜 |
| v1.x | Profile import/load from JSON | 🔜 |
## 📌 Stretch Goals
- [ ] Import The Sims' Zodiac signs
- [x] Cross-platform dotnet tool. (e.g. `dotnet tool install`)
## 🧩 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
```shell
personaforge --name "Max Casey" --archetype "Party Animal" (--export)
```
```json
{
"Name": "Max Casey",
"Archetype": "Party Animal",
"Qualities": {
"Outgoing": 7,
"Nice": 6,
"Playful": 6,
"Neat": 3,
"Active": 3
}
}
```
## 🚫 Not Planned
- No Sim 3-style traits.
- No UI. (Maybe a fork)
- No CAS-style tool.
## 🗓️ 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.