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.
- pocket_creatures-1.0.0/PKG-INFO +426 -0
- pocket_creatures-1.0.0/README.md +414 -0
- pocket_creatures-1.0.0/pocket_creatures/__init__.py +0 -0
- pocket_creatures-1.0.0/pocket_creatures/ascii_art.py +49 -0
- pocket_creatures-1.0.0/pocket_creatures/game.py +108 -0
- pocket_creatures-1.0.0/pocket_creatures/main.py +25 -0
- pocket_creatures-1.0.0/pocket_creatures/pet.py +114 -0
- pocket_creatures-1.0.0/pocket_creatures/save_manager.py +23 -0
- pocket_creatures-1.0.0/pocket_creatures.egg-info/PKG-INFO +426 -0
- pocket_creatures-1.0.0/pocket_creatures.egg-info/SOURCES.txt +13 -0
- pocket_creatures-1.0.0/pocket_creatures.egg-info/dependency_links.txt +1 -0
- pocket_creatures-1.0.0/pocket_creatures.egg-info/entry_points.txt +2 -0
- pocket_creatures-1.0.0/pocket_creatures.egg-info/top_level.txt +1 -0
- pocket_creatures-1.0.0/pyproject.toml +27 -0
- pocket_creatures-1.0.0/setup.cfg +4 -0
|
@@ -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 🐾 | Happy creature-keeping!
|
|
426
|
+
</p>
|