# hac-game-lib - May 2019 update
May has been another fairly intense development month for the hac-game-lib. There was some breaking changes, lots of improvements for documentation and examples and ground work for some major new features.
# Release details
Let's see what it looks like in more details.
The full list is available on Github.
# Breaking changes
Let's see the horrible first: there are some breaking changes. They are due to spelling errors in some class names.
Here is the complete list of items that changed names:
|Initial name||New name|
I'm perfectly aware of the breaking nature of these changes but as the module is still very young and only available as an alpha version, I thought I was better fixing these errors right away.
The past weeks have been intense for documentation and it remains a goal to finish documenting the whole module before summer.
We also added a couple of extra instructions/documentation for side problems like the support of emojis in the terminal and - on the website - how to run a local instance for contribution purpose.
Part of the work was also done to have a properly packaged version of the module for PyPi and therefore we spent some time on making the module more 'releasable'.
There is some bug fix commits in May, but they are entirely for the features introduced with this release.
# Improvements / New features
This month's work has been focused a lot on doors. More accurately on what we call "overlappable items". These are BoardItems that can be overlapped and if they also are restorable, then the player can go through and they remains on the board (or more accurately: they are restored to their initial place when the player leaves).
As usual, we made a specific object that does all the right configuration automatically: gamelib.Structures.Door. The editor is on par with the library and supports doors already.
This created a lot of issues with howe the Board was managing items but we are now good!
One of these bugs was that after a player or NPC leave an area with more than one overlappable and restorable item, the board was leaving a trail of player like in that image (the player is the flying saucer and the blue and oange surface is only overlappable+restorable items):
When the expected behavior was more like that:
In case you are in awe with the design of that board, don't be: it's a debug level that serves only that purpose 😃.
I also started to work on behavioral and advanced actuators. They will allow you to create NPC that finds their path automatically toward a destination or take decisions based on conditions. This is very early work and it will change a lot in the upcoming months.
Last but not least, the base_game.py (now known as hgl-base_game.py), is host to a new NPC: Unipici. This is to show how to create basic interactions with a NPC. Unipici can interact with the player by damaging or restoring his life on demand, and also give the player rewards based on answers to her riddles.
This is really an example on how to manage interactions with the player and how to get fuzzy answers to open questions and rate them.
A lot of new interesting things for new and returning programmers to learn in a fun context! The kids from our class continue to enjoy it!
As usual, to install that new version, we strongly recommend to do it in a virtual environment:
pip3 install virtualenv --user virtualenv hgl cd hgl source bin/activate pip3 install -i https://test.pypi.org/simple/ hac-game-lib
If you like that content, feel free to share it on social platforms:
If you have any question or feedback, feel free to communicate in the comments.