Pycraft Progress report #5
Tags: programming, python, opensource, gamedev
Published: 2021-12-21 19:43:24

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 13th of December!

_You can find the latest release of Pycraft (v0.9.3) here: https://github.com/PycraftDeveloper/Pycraft
You can also find the latest documentation for Pycraft here: https://python-pycraft.readthedocs.io/en/pycraft-v0.9.3/ although be aware there is a lot of changes occurring here, and the link may be subject to change._

## December 13th - 2021

Pycraft update time! Today has seen work on a project that I'm building that will speed up the documentation process, automatically adding line numbers and formatting the code appropriately, and also it will store each line of documentation in a text file, so it can automatically re-use text for repeated lines, cutting down on time to write code, in addition it will store all historical documentation too, automatically completing and updating the text file and documentation, promoting when lines aren't already known (and giving a progress indicator so I know how much documentation is left to write), this is designed to speed up the documentation writing process, especially with how fast the project is changing. This code is well on the way to being complete I've dedicated a lot of the past few days to that, so much so I'm aware I've not updated the folks here: https://dev.to/pycraftdev, but I'll up a reminder on to do that ASAP tomorrow! Things arnt too exciting because of the work on the documentation at the moment but by automating the process and spending some time on it now hopefully I can make a solid start and it'll be easier later on!

## December 14th - 2021

I'll start with saying I've updated the folks here: https://dev.to/pycraftdev so if you want you can check that out now! I've also been working on squashing a few bugs in the project So now the experience is a bit cleaner and better for memory use, the issue with returning to Pygame from ModernGL being really slow is still present, and I'm working on that one, I'm also working on hiding the game engine until its fully loaded Which will be incorporated into the loading screen which will be (re-)added into the project in Pycraft v0.9.5. Tomorrow I'll also be sharing the new start screen which has been redesigned by @demirdogukan this will be added to either the current update or Pycraft v0.9.5, so I'll just put into two paragraphs what's happening in each update to avoid confusion:

Pycraft v0.9.4 is the release being worked on currently, this includes work on the installer, documentation and bug fixes

Pycraft v0.9.5 is the next update Afterwards, and will feature collisions, light/shadowing/shaders, the new startup screen, as well as some general animation changes!

That's the plan as far, and now then, I'm afraid it's time to post progress on the documentation, it's not the most exciting part of the project, but one that once started will take much less time to update, so I've very nearly finished the document writer and have been working on publishing the project ReadTheDocs here: https://python-pycraft.readthedocs.io/en/pycraft-v0.9.3/ although there is still work to do with the layout as well as the GitHub wikis page on the Pycraft repository, both are getting the documentation, but each formatted slightly differently so will be at different levels of progress so now really it's time to start adding descriptions to each section of code and a sentence or two for each line which will be stored in the project I'm working on to save time! The plan into have documentation finished or nearing completion by Christmas although the installer will take into the start of the new year probably, this update has already taken longer than planned, I'll admit, but lots of progress has been made!

## December 15th - 2021

Unfortunately, I cannot find the update for this day, apologies there!

## December 16th - 2021

Pycraft update time, today has seen the completion of the documentation writer program, now I'm going through and assigning documentation to each line this process is designed to be sped up significantly by the program because I'm aware these updates are boring, documentation is boring to write and general boredom all around, I'm getting messages asking if there is anything I can do the make it more interesting, and I'm doing my best, I'm also working on fixing bugs and issues with the project, and also working in integrating the installer into Pycraft, that's finished now, it can check for updates to Pycraft and its required modules, I'm also planning to work on the installer after finishing the documentation, I've been really busy personally this week, but hols are coming up so I'll be able to really push forward, the medium article will be written after Christmas, and by Christmas I hope to be a fair amount through the documentation process, bearing in mind I'm starting entirely from scratch after each update from now on there will be an update to the documentation but that should not take too long based on the library of code I'm building, so this delay is a one-time thing, sorry about the delay and I'm working as hard as I can to get back to my usual antics.

## December 17th - 2021

More work today on the documentation, but progress is strange, I'm not directly writing the documentation, I'm writing a library that stores the line of code and what it does, and then going through and adding the two together and formatting it appropriately when I run the project, except until I have a full library the documentation won't be written, as the code will always ask for documentation on lines it's unfamiliar with to avoid publishing the documentation with sections missing, but I can assure you, this technique is fast once its set up, but will take some time to setup, which is what I've been doing the last few days, and I'll be sharing the code in a separate repository on GitHub tomorrow as soon as I can, but it's not really well written, or efficient, but it does the job and I'm sure if I announced to redesign it, I'd get a multitude of messages yelling at me to get a wriggle on, so the documentation is coming along nicely, oh and it's the holidays for me know, so I'll be able to dedicate entire days to writing, instead of a few hours an evening!

## December 18th - 2021

Hello there everyone, Pycraft weekly update time, I dragged myself away from writing the documentation for Pycraft (I spent 7 hours writing today) to publish the documentation writer on GitHub, it's not great, or really very efficient, but it does the job and I wasn't going to spend my Christmas writing code for that, I want to have the documentation written by it just after Christmas, I've written from the start to the end of the benchmark module, that may not seem like much, but remember that every repeated line of code only needs writing once, so I'm actually a good chunk of the way through the next module as well at least, aside from that I'll be spending the next 5 days solidly on that at least, then I can focus on the more interesting part of programming! I've been planning subconsciously where to go next and what to do, so I'll be ready to continue!

## December 19th - 2021

More documentation writing, progress is slow, but steady, I'm all the way through the Achievements, base and most of the way through the benchmark module, and I'm not just rewording what the code says, I'm going into a lot of detail where possible and where necessary! But I'm aware of the time and going as fast as I can through that, and don't forget, it's like building a library of code, if a piece is repeated, or similar, then a piece of the documentation fills automatically, and as I go through and write, the more I get "documentation writer skipped this line because its already known" which is really promising, so progress is speeding up! So slow and steady, but really making tracks!

Thanks for reading!