pocket-creatures 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,426 @@
1
+ Metadata-Version: 2.1
2
+ Name: pocket-creatures
3
+ Version: 1.0.0
4
+ Summary: A terminal-based virtual pet game with ASCII art, stats, and random events.
5
+ Author: Robin
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/CaptainDreadbeard/pocket-creatures
8
+ Project-URL: Repository, https://github.com/CaptainDreadbeard/pocket-creatures
9
+ Project-URL: Issues, https://github.com/CaptainDreadbeard/pocket-creatures
10
+ Requires-Python: >=3.8
11
+ Description-Content-Type: text/markdown
12
+
13
+ # 🐾 pocket-creatures
14
+
15
+ > **A cozy little virtual pet game that lives in your terminal.**
16
+ > Adopt a creature, keep it happy, and watch it grow — all from your command line!
17
+
18
+ ---
19
+
20
+ ```
21
+ /\_/\ (\(\
22
+ ( o.o ) ( -.-)
23
+ > ^ < o_(")(")
24
+
25
+ Your new best friend is waiting...
26
+ ```
27
+
28
+ ---
29
+
30
+ ## 📖 What Is pocket-creatures?
31
+
32
+ **pocket-creatures** is a terminal-based virtual pet game written in Python. You adopt a creature, give it a name, and take care of it by feeding it, playing with it, and putting it to sleep. Your pet has real stats — hunger, happiness, health, and energy — that change over time. Neglect your creature and it'll get grumpy; shower it with attention and it'll thrive!
33
+
34
+ Random events keep things interesting: your pet might find a treasure, catch a cold, or learn a new trick when you least expect it.
35
+
36
+ **Perfect for:**
37
+ - Python beginners who want a fun first project to install and run
38
+ - Anyone who misses the Tamagotchi era
39
+ - People who spend a lot of time in the terminal and want some company
40
+
41
+ ---
42
+
43
+ ## ✨ Features
44
+
45
+ - 🐱 **Multiple creature types** — each with unique ASCII art and personality
46
+ - 📊 **Real-time stats** — track Hunger, Happiness, Health, and Energy at a glance
47
+ - 🎲 **Random events** — surprises that keep every session fresh
48
+ - 💾 **Auto-save** — your pet's progress is saved automatically when you quit
49
+ - 🎨 **ASCII art animations** — your creature reacts visually to its mood
50
+ - 🏆 **Milestones & aging** — watch your creature grow through life stages
51
+ - 🩺 **Status effects** — pets can get sick, tired, or extra-hyper
52
+ - 🌈 **Colourful terminal UI** — works on Windows, macOS, and Linux
53
+
54
+ ---
55
+
56
+ ## 🖥️ Before You Begin: What You'll Need
57
+
58
+ Don't worry if you've never run a Python program before — this section walks you through everything step by step.
59
+
60
+ ### 1. Check if Python is Installed
61
+
62
+ Open your terminal (instructions below) and type:
63
+
64
+ ```bash
65
+ python --version
66
+ ```
67
+
68
+ or, on some systems:
69
+
70
+ ```bash
71
+ python3 --version
72
+ ```
73
+
74
+ You should see something like `Python 3.8.0` or higher. **pocket-creatures requires Python 3.8 or newer.**
75
+
76
+ > **How to open a terminal:**
77
+ > - **Windows:** Press `Win + R`, type `cmd`, press Enter. Or search for "Command Prompt" or "Windows Terminal" in the Start Menu.
78
+ > - **macOS:** Press `Cmd + Space`, type "Terminal", press Enter.
79
+ > - **Linux:** Press `Ctrl + Alt + T`, or search for "Terminal" in your app launcher.
80
+
81
+ ### 2. Install Python (if needed)
82
+
83
+ If you got an error like `'python' is not recognized` or your version is below 3.8:
84
+
85
+ 1. Visit [https://www.python.org/downloads/](https://www.python.org/downloads/)
86
+ 2. Click the big yellow **"Download Python"** button
87
+ 3. Run the installer
88
+ 4. ⚠️ **Windows users:** On the first screen of the installer, make sure to tick the box that says **"Add Python to PATH"** before clicking Install!
89
+ 5. Close and reopen your terminal, then check `python --version` again
90
+
91
+ ---
92
+
93
+ ## 📦 Installation
94
+
95
+ Once Python is ready, installing pocket-creatures is just one command!
96
+
97
+ ```bash
98
+ pip install pocket-creatures
99
+ ```
100
+
101
+ > **What is `pip`?** It's Python's package manager — a tool that downloads and installs Python programs from the internet automatically. It comes bundled with Python.
102
+
103
+ If you see a "permission denied" error, try:
104
+
105
+ ```bash
106
+ pip install --user pocket-creatures
107
+ ```
108
+
109
+ ### Upgrading to the Latest Version
110
+
111
+ Already have it installed and want the newest version?
112
+
113
+ ```bash
114
+ pip install --upgrade pocket-creatures
115
+ ```
116
+
117
+ ### Verifying the Installation
118
+
119
+ After installing, confirm it worked by checking the version:
120
+
121
+ ```bash
122
+ pocket-creatures --version
123
+ ```
124
+
125
+ You should see a version number printed. If you do — you're all set! 🎉
126
+
127
+ ---
128
+
129
+ ## 🚀 Running the Game
130
+
131
+ Starting pocket-creatures is simple. In your terminal, type:
132
+
133
+ ```bash
134
+ pocket-creatures
135
+ ```
136
+
137
+ The game will launch directly in your terminal window. On your **very first run**, you'll be greeted with a welcome screen and asked to:
138
+
139
+ 1. **Choose your creature type** — pick the one that calls to you!
140
+ 2. **Give your creature a name** — make it personal 🐾
141
+ 3. **Watch your adventure begin**
142
+
143
+ > **Tip:** Make your terminal window a bit wider and taller for the best experience. Aim for at least 80 columns × 24 rows.
144
+
145
+ ### Alternative Launch Commands
146
+
147
+ ```bash
148
+ # You can also run it as a Python module if the command isn't found:
149
+ python -m pocket_creatures
150
+
151
+ # Or with python3 specifically:
152
+ python3 -m pocket_creatures
153
+ ```
154
+
155
+ ---
156
+
157
+ ## 🎮 How to Play
158
+
159
+ ### The Main Screen
160
+
161
+ When you launch the game, you'll see your creature displayed with ASCII art in the centre of the screen. Around it you'll find:
162
+
163
+ ```
164
+ ╔══════════════════════════════════╗
165
+ ║ 🐾 Biscuit | Age: 3 days ║
166
+ ╠══════════════════════════════════╣
167
+ ║ ║
168
+ ║ /\_/\ ║
169
+ ║ ( ^.^ ) "I'm hungry!" ║
170
+ ║ > ~ < ║
171
+ ║ ║
172
+ ╠══════════════════════════════════╣
173
+ ║ ❤ Health ████████░░ 80% ║
174
+ ║ 😊 Happiness ██████░░░░ 60% ║
175
+ ║ 🍖 Hunger ████░░░░░░ 40% ║
176
+ ║ ⚡ Energy ██████████ 100% ║
177
+ ╠══════════════════════════════════╣
178
+ ║ [F]eed [P]lay [S]leep [Q]uit ║
179
+ ╚══════════════════════════════════╝
180
+ ```
181
+
182
+ ### Controls & Commands
183
+
184
+ Press a key at any time — **no need to press Enter** after single-letter commands!
185
+
186
+ | Key | Action | Effect on your pet |
187
+ |-----|--------|--------------------|
188
+ | `F` | **Feed** | Reduces hunger, slightly increases happiness |
189
+ | `P` | **Play** | Boosts happiness and energy (costs some hunger) |
190
+ | `S` | **Sleep** | Restores energy and health (pet is unavailable while sleeping) |
191
+ | `M` | **Medicine** | Cures sickness (only appears when your pet is ill) |
192
+ | `C` | **Clean** | Cleans up your pet's space, boosts happiness |
193
+ | `I` | **Info** | Shows detailed stats and your creature's history |
194
+ | `H` | **Help** | Displays an in-game help screen |
195
+ | `Q` | **Quit** | Saves your game and exits |
196
+
197
+ > **Keyboard shortcut tip:** You can also use the **arrow keys** to navigate menus and press **Enter** to confirm selections.
198
+
199
+ ---
200
+
201
+ ## 📊 Understanding Your Pet's Stats
202
+
203
+ Your creature has four core stats. They all change over time, so check in regularly!
204
+
205
+ ### ❤️ Health (0–100)
206
+ Your pet's overall wellbeing. Health drops slowly when your pet is hungry or exhausted for too long. Give medicine when sick.
207
+ - **80–100:** Thriving
208
+ - **50–79:** Doing okay
209
+ - **20–49:** Needs attention
210
+ - **0–19:** Critical — act fast!
211
+
212
+ ### 😊 Happiness (0–100)
213
+ How cheerful your creature is. It drops when your pet is ignored, hungry, or sick.
214
+ - Play with your pet and keep it fed to maintain high happiness.
215
+ - A very unhappy pet may refuse to eat or play.
216
+
217
+ ### 🍖 Hunger (0–100)
218
+ How hungry your pet is — **higher is hungrier.** Feed your pet before this gets too high!
219
+ - Hunger rises steadily over time.
220
+ - At 80+, your pet starts losing health.
221
+ - At 100, your pet is starving — health drops quickly.
222
+
223
+ ### ⚡ Energy (0–100)
224
+ How energetic your creature is. Playing costs energy; sleeping restores it.
225
+ - At low energy, your pet becomes sluggish and won't want to play.
226
+ - At 0, your pet falls asleep automatically.
227
+
228
+ ---
229
+
230
+ ## 🎲 Random Events
231
+
232
+ Life with your creature is full of surprises! Random events can happen any time you interact with your pet. Some are good, some are bad — all are part of the adventure.
233
+
234
+ **Examples of events you might encounter:**
235
+
236
+ | Event | Description |
237
+ |-------|-------------|
238
+ | 🎁 **Found a treasure!** | Your pet discovered a shiny object — happiness boost! |
239
+ | 🤧 **Caught a cold** | Your pet is sick and needs medicine |
240
+ | ✨ **Learned a trick!** | Your creature discovered a new skill |
241
+ | ⛈️ **Stormy night** | Bad weather made your pet anxious — happiness drops |
242
+ | 🌟 **Extra energetic** | Your pet is buzzing with energy today |
243
+ | 💤 **Feeling extra sleepy** | Your pet needs more rest than usual |
244
+
245
+ > Events are displayed as a pop-up message on screen. Read them carefully — some require action from you!
246
+
247
+ ---
248
+
249
+ ## 🌱 Creature Life Stages
250
+
251
+ Your creature grows and changes over time. Each life stage brings new ASCII art and behaviors:
252
+
253
+ | Stage | Age | Description |
254
+ |-------|-----|-------------|
255
+ | 🥚 **Egg** | Day 0 | Your adventure begins! |
256
+ | 🐣 **Baby** | Days 1–2 | Tiny and needy — check in often |
257
+ | 🐾 **Young** | Days 3–6 | Playful and curious |
258
+ | 🌟 **Adult** | Days 7–13 | Well-rounded and independent |
259
+ | 👑 **Elder** | Day 14+ | Wise and a little slower-paced |
260
+
261
+ ---
262
+
263
+ ## 💾 Saving & Loading
264
+
265
+ pocket-creatures **automatically saves your progress** whenever you quit with `Q`. The next time you launch the game, your pet will be right where you left it.
266
+
267
+ ### Where is my save file?
268
+
269
+ | Operating System | Save file location |
270
+ |---|---|
271
+ | Windows | `C:\Users\YourName\AppData\Local\pocket_creatures\` |
272
+ | macOS | `~/Library/Application Support/pocket_creatures/` |
273
+ | Linux | `~/.local/share/pocket_creatures/` |
274
+
275
+ > **Note:** `~` means your home folder. `YourName` is your Windows username.
276
+
277
+ ### Backing Up Your Pet
278
+
279
+ Want to keep your save safe? Copy the `save.json` file from the folder above to a safe place. To restore it, just copy it back.
280
+
281
+ ---
282
+
283
+ ## 🛠️ Troubleshooting
284
+
285
+ ### "pocket-creatures: command not found"
286
+
287
+ This usually means Python's script folder isn't in your system's PATH. Try these alternatives:
288
+
289
+ ```bash
290
+ python -m pocket_creatures
291
+ # or
292
+ python3 -m pocket_creatures
293
+ ```
294
+
295
+ **Permanent fix on Windows:**
296
+ 1. Search for "Environment Variables" in the Start Menu
297
+ 2. Click "Edit the system environment variables"
298
+ 3. Click "Environment Variables…"
299
+ 4. Under "User variables", find `Path` and click Edit
300
+ 5. Add `%APPDATA%\Python\Python3x\Scripts` (replace `3x` with your Python version number, e.g. `312`)
301
+ 6. Restart your terminal
302
+
303
+ ---
304
+
305
+ ### "pip: command not found"
306
+
307
+ Try using `pip3` instead:
308
+
309
+ ```bash
310
+ pip3 install pocket-creatures
311
+ ```
312
+
313
+ Or invoke pip through Python directly:
314
+
315
+ ```bash
316
+ python -m pip install pocket-creatures
317
+ # or
318
+ python3 -m pip install pocket-creatures
319
+ ```
320
+
321
+ ---
322
+
323
+ ### The ASCII art looks broken or garbled
324
+
325
+ Your terminal may not support Unicode characters fully. Try:
326
+
327
+ 1. **Windows:** Use **Windows Terminal** (download free from the Microsoft Store) instead of the classic Command Prompt
328
+ 2. **All platforms:** Make sure your terminal's font is set to a monospace font like `Consolas`, `Courier New`, or `Fira Code`
329
+ 3. Set your terminal's encoding to UTF-8:
330
+ ```bash
331
+ # Windows Command Prompt only:
332
+ chcp 65001
333
+ ```
334
+
335
+ ---
336
+
337
+ ### Colors aren't showing / terminal looks plain
338
+
339
+ Some older terminals don't support colors. pocket-creatures detects this automatically and falls back to plain text. For the best experience, use:
340
+ - **Windows:** Windows Terminal or VS Code's integrated terminal
341
+ - **macOS:** The default Terminal app or iTerm2
342
+ - **Linux:** Any modern terminal emulator (gnome-terminal, konsole, alacritty, etc.)
343
+
344
+ ---
345
+
346
+ ### My pet's stats seem wrong after reloading
347
+
348
+ If your save file gets corrupted (this is rare!), you can reset your game:
349
+
350
+ ```bash
351
+ pocket-creatures --reset
352
+ ```
353
+
354
+ > ⚠️ **Warning:** This will permanently delete your current pet. Make a backup first if you want to keep your save!
355
+
356
+ ---
357
+
358
+ ### The game crashes on startup
359
+
360
+ 1. Make sure you have Python 3.8 or newer: `python --version`
361
+ 2. Try reinstalling: `pip install --upgrade --force-reinstall pocket-creatures`
362
+ 3. Check if there's an error message — if so, copy the full message and open an issue on GitHub (link below)
363
+
364
+ ---
365
+
366
+ ## 📁 Project Structure (for the curious)
367
+
368
+ If you're a developer or just want to peek under the hood:
369
+
370
+ ```
371
+ pocket_creatures/
372
+ ├── __init__.py # Package entry point
373
+ ├── __main__.py # Launch point (python -m pocket_creatures)
374
+ ├── game.py # Core game loop and logic
375
+ ├── creature.py # Creature class, stats, and life stages
376
+ ├── events.py # Random event system
377
+ ├── renderer.py # ASCII art and terminal UI rendering
378
+ ├── save.py # Save/load game state to disk
379
+ └── assets/
380
+ └── ascii_art/ # ASCII art files for each creature and mood
381
+ ```
382
+
383
+ ---
384
+
385
+ ## 🤝 Contributing
386
+
387
+ Found a bug? Have an idea for a new creature type or random event? Contributions are warmly welcomed!
388
+
389
+ 1. Fork the repository on GitHub
390
+ 2. Create a feature branch: `git checkout -b my-new-feature`
391
+ 3. Make your changes and add tests if applicable
392
+ 4. Open a Pull Request with a clear description of what you changed
393
+
394
+ Please be kind and constructive in all interactions — this is a friendly project!
395
+
396
+ ---
397
+
398
+ ## 🐛 Reporting Bugs
399
+
400
+ If something goes wrong, please open a GitHub issue and include:
401
+
402
+ - Your operating system and version (e.g. Windows 11, macOS 14, Ubuntu 24.04)
403
+ - Your Python version (`python --version`)
404
+ - Your pocket-creatures version (`pocket-creatures --version`)
405
+ - The full error message or a description of what happened
406
+ - Steps to reproduce the problem
407
+
408
+ ---
409
+
410
+ ## 📜 License
411
+
412
+ pocket-creatures is released under the **MIT License** — free to use, modify, and share. See `LICENSE` for full details.
413
+
414
+ ---
415
+
416
+ ## 🙏 Acknowledgements
417
+
418
+ - Inspired by the classic Tamagotchi virtual pets of the 1990s
419
+ - ASCII art crafted with love
420
+ - Built with ❤️ for anyone who ever wished their terminal had a little more life in it
421
+
422
+ ---
423
+
424
+ <p align="center">
425
+ Made with 🐾 &nbsp;|&nbsp; Happy creature-keeping!
426
+ </p>