Pycraft Progress report #3
Tags: programming, python, opensource, gamedev
Published: 2021-12-07 20:36:12

This is transferred roughly weekly from my Twitter profile (here: https://twitter.com/PycraftDev) to here on Dev! This is for the week beginning the 29th of November!

You can find the latest release of Pycraft (v0.9.3) here: https://github.com/PycraftDeveloper/Pycraft

Pycraft then, I have fixed the issues in game of returning to the home screen, and loading the inventory and map system, as well as setting up the project to work with the audio modules which will be loaded hopefully as before so that should be a relatively simple addition, once that has been finished, I'll add the jumping animation and sprinting effect to the game. Then from there it’s just adding in the load screen from the previous version of Pycraft, and a series of bug fixes and performance improvements, then we can benchmark the project to see how it handles large complex objects and prepare for the release of Pycraft v0.9.3 (there might be a potential issue with running the project with extra data like with profiling in the terminal that relates to an issue with ModernGL, although I'm hoping for an easy fix!), I have also started publishing the documentation for Pycraft, it's going to be a long process, and got off to a rocky start and will be a few days before I'll start sharing links! Documentation will be available on ReadTheDocs (here: https://python-pycraft.readthedocs.io/en/pycraft-v0.9.3, be aware this link is likely to break as the documentation is worked on!) And GitHub wikis. I'd also like to say that Pycraft v0.9.3 should be released before Christmas, all going well, then there will be a break from programming to focus on the documentation. Progress on Pycraft v0.9.4 will have begun by the new year!

Well today saw a small number of changes as I try to get screenshots to work so I can get that to work in windowed mode in game, aside from that (I'm near a solution), I have also enabled error messages and the ability to go back from the game engine to the main body of Pycraft (like the home screen, inventory and maps) so we are a few steps closer to Pycraft v0.9.3 being released, maybe this weekend if all goes well.
I'm planning to add sound effects like the step FX to the game, and finish the jump animation in game. One thing to add, it takes about a day at least to publish Pycraft (that's including to PYPI) if all goes well, and after Pycraft v0.9.3 is live, time will be spent on the installer and building documentation before work on Pycraft v0.9.4 begins!  I have also spent today experimenting with OpenGL in Python with a soon to be released project "Visual-Music" (here: https://github.com/PycraftDeveloper/Visual-Music), I have already posted about that, although don't worry most of my time will be dedicated to Pycraft And that won't be received many updates (although I'll keep it up to date!)

Hello everyone! Today I spent my free time publishing the project I shared yesterday Visual-Music, which you can find here: https://github.com/PycraftDeveloper/Visual-Music
As well as adding sound events to the game, unfortunately I didn't have time to get on to adding the jump animation but the music (and sound effects) that was added to the game went smoothly, and have worked on improving the screenshot function, so now it works on windowed mode and full-screen, and is slightly more improved than before! We are well on track for releasing the final update before Christmas hopefully by the end of the week, and I've also been researching how to implement more features to the project for v0.9.4 which will be released later! I'm already concerned about getting the new project compiled for the release of Pycraft v0.10, but that's a long way off yet and will be likely fixed.

Today I fixed screenshot taking, and going between the play menu, home screen, inventory and map GUIs, I have also worked on some animations for the jump effect which is now complete! I think the plan will be to leave the map in its current state, it needs a lot more time to re-make, but should be relatively simple. Also, the plan is now for a bug fix Friday and maybe a few more features to add, oh did I mention I've re-added in the footstep sound as it was before! This update should hopefully be strange, because there will be a massive change behind the scenes, but the actual visuals (apart from the map) should be relatively unchanged (although the visuals are much better), then I think the plan will be to release the new version then on Sunday, all going well, although it takes a really long time to upload and distribute everywhere, so bear with me there, then there will be a break from programming the game directly to work on the documentation and Installer, there will be a small change as the installer is added into Pycraft, and probably a small change to re-add the load screen back into the project (if I can't work it out in the final few days) And I'll also be working on sharing data between the two engines which shouldn't be too difficult! At current there are a few bugs that I'm aware of:
There is an issue with returning from the game engine to Pygame, the GUI runs once then freezes for some time, and related to this, if the game engine is in full screen, then entire desktop will go black and be unresponsive for a few moments.
There is also a known issue that could arise where the project doesn't compile with pyinstaller, py2exe or nuitka (preferred), but I might be able to figure that one out!

Today saw the completion of the jump animation, as well as improving the footstep sound creation, work has also started on improving the transition between the main body of the program and the game engine because at present they are very nearly two independent programs, that's going well, in fact there isn't much more to do there, and lots of bugs have been fixed, the issue with the display and closing it whilst full-screen has been fixed (because it'd completely Black out the desktop) and also we have also fixed the issue with loading inside the terrain. The movement speed has also been adjusted to represent real life values. All that's left to do is a small amount of bug fixing and continuing to integrate the two projects.

Hello there everyone! You've hopefully heard by now, but Pycraft v0.9.3 is now live! As a result, tomorrow I'll be taking a break from programming, although I've already started work on detecting when Pycraft is out of date though python, and plan to work on the installer On the Monday. I plan to re-work the installer, but keep the installer from what I'd already made, there will also be an uninstaller and the ability to customise your install, add shortcuts to the desktop and possibly the option to download compiled installs there is going to be a lot of features to work on, and it will take a lot of time to get there, which is why I'm taking the entirety of December to work on the installer, work on the documentation and work on integrating the installer to the home screen of Pycraft where you'll be able to see when updates are available, and be able to launch the installer. (You will also be able to update its required packages). And naturally time will be spent on the documentation! Updates may not be so regular this month, but I'll try to keep up the constant reports!

I said I was planning to take a rest day today on Pycraft... Well, I've fixed a bug with sound loading in game, and in the benchmark too, and also worked on detecting when Pycraft is out of date, integrating the start of the installer to Pycraft But that was all in about an hour, I couldn't resist. I also ran tests on texture loading, tomorrow I plan to see how complex of an object it can render (I'm not sure if the implementation currently uses VBOs behind the scenes, we shall see eh! (I hope it does, that would Save an enormous amount of time!)

Thanks for reading, and I have a plan to format these posts better here on Dev!