A small game development framework for teaching programming to young kids.
Project description
hac-game-lib
Hyrule Astronomy Club - base library for a game development
Introduction
This library is used as a base to teach coding to kids from 6 to 12. It aims at giving an environment to new and learning developers (including kids) that let them focus on the algorithm instead of the lousy display or precise management.
This is obviously extremely simple and does not aim at being anything serious for game developers (although it can probably be used as a nice base now).
There is a Youtube channel that contains tutorials.
Here is a quick view of what can currently be achieved with that library:
The base game makes use of:
- The main "game engine" (gamelib.Game.Game)
- Many different types of structures (from gamelib.Structures): Wall (well the walls...), Treasure (gems and money bag), GenericStructure (trees) and GenericActionnableStructure (hearts and portals)
- Game()'s menu capabilities.
- Player and NPC (from gamelib.Characters)
- Inventory (from gamelib.Inventory)
- Player and Inventory stats
- RandomActuator (NPCs in level 2) and PathActuator (NPCs in level 1) (from gamelib.Actuators.SimpleActuators)
Requirements
Python
The hac-game-lib only supports Python 3+. It will not run with Python 2. We use pipenv to manage dependencies.
Run Pipenv to install the requirements (only colorama):
pip3 install pipenv
pipenv install
If you want the developmnent dependencies you need to run:
pip3 install pipenv
pipenv install --dev
Runing tests
To run the unit tests use the following command:
python -m unittest discover -s tests
Terminal color and emojis
It is not really a hard requirement but colored emojis are really bringing the games created to life.
We then recommend to have a color emojis font installed like Noto Color Emojis (on most Linux distributions you can install it from the package manager, search for "noto-color-emoji").
If your terminal application is not displaying color emojis, please have a look at this file and follow the instructions.
Running examples
To run the examples using pipenv:
pipenv shell
(hac-game-lib) cd examples
(hac-game-lib) python3 01_board_and_wall.py
Limitations
There is tons of limitations but for the most important ones:
- Only one player is supported.
- There is little protections against messing up with the internal. This is on purpose, I want the kids to learn to use the API not mess up with the internals of every single class.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for hac_game_lib-1.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 303c52e4d45255d80a3a992dc157878538b75ef9031dd865c868268ae45c1908 |
|
MD5 | 4a09bda471294fbdc741174458db37fa |
|
BLAKE2b-256 | b60f3368a399668b212462e0b52e687c904e1acbfc70bbc476298f6602d41705 |