Pycraft Progress Report
Tags: programming, python, gamedev, opensource
Published: 2022-05-29 18:27:14

This is transferred roughly weekly from my Twitter profile (here: https://twitter.com/PycraftDev) to here on Dev! This is for the week 21/03/2022 - 27/03/2022.

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

* You can find the latest developer preview of Pycraft (v0.9.5-2) here: https://github.com/PycraftDeveloper/Pycraft/tree/Pycraft-v0.9.5-2

* You can also find the latest documentation for Pycraft https://python-Pycraft.readthedocs.io/en/latest/

## March the 21st – 2022
I had more time tonight than I was expecting, so instead of updating the folks at dev, which I'll be doing tomorrow, and instead focused on fixing bugs in Pycraft and continuing Linux compatibility Of which there have been a lot of changes to make, I know there are people out there who have converted the project into a Linux based project, although my attempt should allow for both Linux and Windows compatibility instead of one or the other And by extent of this I've had to make two fundamental changes right at the very core of the project and another to the game engine, starting with paths, in Linux paths are denoted by a "//" symbol, but Pycraft uses "\\" by default because it was built in windows And this has now changed so the project can work out which OS you are using and decide accordingly what path to use, also there have been changes to event handling as for some reason my distribution of Pygame on Linux will not accept a mouse input as an event So instead, still using Pygame, we have two different methods of detecting mouse inputs now, both function identically and can work in addition to using a controller. Currently there are still some issues that have been brought out in testing, to do with the benchmark Functionality, which looks to be an easy fix, but then also mouse movement in the game engine does not appear to work at all, although moving the camera with a keyboard works fine, as does using a controller I've also given the error messages a bit of TLC, there are some places where error messages that did not need to be worried about where displayed and causing programs to crash, this has now been smoothed out improving the user experience, once again I've been extremely Busy so I've moved some progress to make the most efficient use of time!

## March the 22nd - 2022
Not much progress on Pycraft today, instead for the next few days all progress will be based on updating the folks at dev, I've uploaded another 14 days’ worth there, as well as in the documentation and also giving the projects websites A bit of a tidy up, this is in preparation for the release of Pycraft v0.9.4 in full, at which point we can move on to more exciting progress in the game engine in Pycraft v0.9.5 very soon, I've got a very busy week this week, then next week starts off busy But then relaxes in a big way, so then most of the rest of the progress will be made!

## March the 23rd - 2022
Pycraft progress update time, I've got about 6 more days of being really busy, but then after that things ease of for a while so I can focus on Pycraft, today I have updated the folks at dev with all the progress to the most recent week And also made a few tweaks and improvements to the project, I would like to get @AMD's GPU line-up of graphics cards supported for temperature readings by the project, this is for adaptive mode, as well as for the benchmark section which I've also spent some time Today redesigning, mainly it’s the final results screen that will be changed to feature the CPU and GPU usage, as well as thermals over the course of the investigation as well as providing a more detailed set of results, this has been modelled in visual basic and Will be implemented into Pycraft as part of the next series of updates for the project. The entire installer is also very close to being finished, then there are a few tests that need to be performed before the project is released, but we want to take the time to Make sure the numerous features implemented in this update are working properly and also not causing issues. Once the game is further into development, the geometric design on the home screen will be changed to show images of your progress, likely key views You will encounter as you explore. Once game development really starts in a few weeks’ time, then more of the updates will be focused on the details as well as features coming to the game, although lot of them have already been planned out!

## March the 24th - 2022
Pycraft progress update time, and today I've been working on testing the project in its current state, with a small amount of work on the installer, which will get more work next week when the stuff I'm working on at work is finished But I've found a few fundamental issues with the project in its current state, these will be fixed before the latest version is released. There are a few bugs related to the benchmark GUI, there are some file paths that are not properly organised, and do not follow the new project guidelines about Linux support, which will be outlined in the documentation on release, but there are some file paths and files missing from the benchmark section, especially in the OpenGL test. Additionally there are small changes between the way The project operates in VScode/in a text editor including python's IDLE, and how it operates in the terminal, this will be fixed, but is an issue right with the core of the project so is difficult and complex to fix There are 2 main sections of the project, there is the core, this section details how to project starts up, how to handle files and threads, and what GUIs to show, and the second section is the different GUIs the project has and all the details they relate to I'm planning to make a diagram to detail this better! I've attached on the post below a preview of the redesigned benchmark results GUI, there will be a choice between which things to test and the changes here (not the bugs also in this section) will be worked on later.

## March the 25th - 2022
Pycraft progress time! I've hopefully fixed the issues with sharing the last update quickly, and attached the new benchmark results screen design, this will be as part of Pycraft v0.9.5, also coming to Pycraft v0.9.5 is screen transition animations Lighting, better collisions, day and night cycles, weather cycles, a better terrain, improvement for the inventory section and general maintenance all around, it's going to be a huge update, Pycraft v0.9.4 was a larger update than I'd normally make, and I'm making Big inroads in getting the project towards a finished state, although I don't want to make the project feel rushed and incomplete, so for now there is still small things to work on for Pycraft v0.9.4, almost every bug I discussed last night has been fixed, with Mouse issues to do with the camera panning around on Linux devices still to do, I'm not sure how complex this issue is right now, and any solution I make will likely be temporary as it will change in Pycraft v0.9.5 anyway, this bug does not affect windows machines To my knowledge. Everything else has been tested and is working fine the benchmark section is working as is the very core of the project, one more section of the installer still to do though, hopefully it'll be this weekend and next then I'll be ready to release Pycraft v0.9.4!

## March the 26th - 2022
Today I had a bit more free time than I was expecting, so I've been working on the final bit of the installer today, the update section is now nearly complete, as is the project as a whole, and don't forget, almost all of the details for Pycraft V0.9.5-1 have already been tested and previewed, this means we could be reducing development time for the first few builds of Pycraft v0.9.5 significantly, but for now the installer is nearly complete, hopefully by the end of this weekend it will be all done Then it's a matter of bug fixes, if anyone has encountered any bugs in Pycraft, please feel free to let me know here on twitter or on GitHub, or via email and the bug will be investigated and fixed, but time is running out now and all the bugs I'm aware of have nearly Been fixed, with a final Linux related issue with the camera in game, this will hopefully be fixed, and then at the start of Pycraft v0.9.5-1 development we will be improving the controller implementation slightly. For those unfamiliar Pycraft v0.9.4 was all about the installer for Pycraft, currently it's Windows OS' only but this will change and has added an installer, uninstaller and update utility to Pycraft (with a repair section coming later) as well as fixing issues with previous Pycraft versions and adding full support for Linux with active testing now started. Pycraft v0.9.5 will be focused on the game engine, getting in the foundations which we will build on as we move towards Pycraft v0.9.10 which will by then be beginning to make the project look like a real game As for timing, I don't want to give a release date as yet for Pycraft v0.9.4 because I don't want to rush anything and there might be some final bugs to check, but it'll be released in the next few weeks, before Easter at worst, then Pycraft v0.9.5 will begin Development and this will continue through probably most of the rest of the summer depending on how busy I am and how well I can implement the planned features! Pycraft v0.9.10 is a very long way off, absolutely in years, although by that point we will have the Core (or a good part of it) for the project made!

## March the 27th – 2022
Pycraft v0.9.4 - the installer, the improvements (mainly bug fixes) to the benchmark, additional Linux compatibility and many, many bug fixes is finished, but don't celebrate yet, I've done a lot of testing throughout the development of The project, but now the update is finished I want to make sure all the bugs I have fixed are properly solved and the project is working fine and there are no bugs still to do, there is one Linux rated issue with mouse movement that seems restricted to my Hardware setup, and either way it's now been fixed and a better solution is coming anyway. There are also additional improvements coming to the controller support in Pygame (outside the game) that will make that a bit easier to use, we are aware of some Limitations Of the controller support, which will also be solved, but for now the project is finished and testing has begun, especially focused on the installer which we want to make sure is working fine!

Thanks for reading folks!