Sign in

Jebbo

@pycraftdev.bsky.social
84 followers 37 following 2K posts

I am the lead developer behind PMMA and Pycraft and here to improve application development in Python, with a bit of art and fun thrown in!

PostsRepliesMedia
Jebbo @pycraftdev.bsky.social · 23/12/2025
... You can find PMMA on our GitHub profile here: github.com/PycraftDevel... We release programming updates regularly so stay tuned! #buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP Thanks for reading :D
github.com
GitHub - PycraftDeveloper/PMMA: PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more!
PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! - PycraftDeveloper/PMMA
092
Jebbo @pycraftdev.bsky.social · 23/12/2025
... Will help PMMA become a more optimized API overall, and will be very enlightening to us as PMMA isn't just about making something, it's as much about learning new skills too. Of course, whilst also destroying benchmarks 💪 ...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... Optimisations also. This is because we are fast approaching a point now where not only is memory getting very expensive, we are running out of it, before we can fully stress the API. Either way, being careful to get every last byte of memory savings...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... Approach which is the most likely strategy, but would require more of a design change for the render pipeline. Regardless of what we choose, the solution will likely involve instanced rendering, although we are also reviewing other rendering...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... Was predicted. The past approach assumes the scenario isn't going to change, but in applications it sometimes does, but in applications where no discerning pattern is identifiable (like a game) this strategy also breaks. Finally we have the present...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... Will involve more complex mathematics and perhaps even machine learning, but this also isn't memory efficient and can be costly to performance. It also is the most likely to cause graphical issues if the rendered frame differs too much from what...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... The current frame from there. Or finally we can attempt to 'predict' what the next frame will be and go from there. Really it all boils down to having past, present and future approaches and they all have problems. Using the future approach likely...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... The time. So, we could look to previous frames to establish what objects can be better optimised. Alternatively we could analyse the data for the current frame - being careful to consider if it's likely to change - and work out ways of optimising...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... Optimising the existing process. Instead some changes to the way the program operates will be needed. But the question then is how do we go about this? It is typical for an application to render the same content on screen for the majority of...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... This process is already heavily optimised to be as light on memory, and as fast as possible. Although we are looking into ways to continue making this process faster. However, we don't believe there is anything more that can be done by just...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
... Process behind the scenes varies slightly depending on what strategy PMMA is using. This is the most common. Once we have determined the color and geometry for an individual shape, we combine it with other shapes so we can render more efficiently. ...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
Let's take a look firstly at how PMMA renders content on screen. We render shapes on screen by calculating the individual points needed to make up that geometry, before associating each point with a reference to a color. We should note here the...
100
Jebbo @pycraftdev.bsky.social · 23/12/2025
Memory prices have gotten expensive But don't worry, I'm not here to spread more rumours about that. Instead it brings up a very important point about software development. What can we do to make our software use less memory? Let's discuss this in today's PMMA progress update!
100
Jebbo @pycraftdev.bsky.social · 13/12/2025
... You can find PMMA on our GitHub profile here: github.com/PycraftDevel... We release programming updates regularly so stay tuned! #buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP Thanks for reading :D
github.com
GitHub - PycraftDeveloper/PMMA: PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more!
PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! - PycraftDeveloper/PMMA
073
Jebbo @pycraftdev.bsky.social · 13/12/2025
... Will work, as we don't want this additional dimension to cause any additional confusion, and hope the system we are working on will be as user friendly as possible! All of this is to come in 2026, with the rest of 2025 dedicated to bug fixes!
110
Jebbo @pycraftdev.bsky.social · 13/12/2025
... Variant on this is just as fast, if not faster - so we have been throwing the book at getting this running as fast as possible, with some very exciting results! Finally, we have also begun reviewing the way the interface for creating 3D shapes...
100
Jebbo @pycraftdev.bsky.social · 13/12/2025
... Which will be coming to PMMA in 2026. We have also began to extensively explore 3D shapes and how we will be going about rendering those. For anyone unfamiliar, PMMA has a very fast 2D rendering pipeline, and we want to make sure the 3D...
100
Jebbo @pycraftdev.bsky.social · 13/12/2025
... This is because the biggest challenge with designing a system like this is not in getting the designs for each widgets right, but instead in working out how they will all interact with each other. So, we have covered widgets and themes...
100
Jebbo @pycraftdev.bsky.social · 13/12/2025
... Open with our widgets system, allowing for other widgets to be embedded into them (you can have drop downs with buttons, text, headings, check boxes and so much more if you wish) and we have been looking into exactly how this setup will work. ...
100
Jebbo @pycraftdev.bsky.social · 13/12/2025
... And theme (so, if your device is in dark mode, PMMA will match this) and then by default use this to customise a variety of the new widgets we have been working on designing. Or perhaps, not designing. See we are being very...
100
Jebbo @pycraftdev.bsky.social · 13/12/2025
So, firstly we have been integrating theme selection right into the very core of PMMA, and using that as a basis into which we can build our widgets system. Now, the default behaviour for PMMA is to pick a theme based on your operating system...
100
Jebbo @pycraftdev.bsky.social · 13/12/2025
It's been a while! But we have been busy experimenting with different features that are coming very soon to PMMA. So, in today's PMMA progress update, lets take a quick peek into what 2026 will bring. Prepare yourself!
120
Jebbo @pycraftdev.bsky.social · 17/11/2025
... You can find PMMA on our GitHub profile here: github.com/PycraftDevel... We release programming updates regularly so stay tuned! #buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP Thanks for reading :D
github.com
GitHub - PycraftDeveloper/PMMA: PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more!
PMMA is targeted at helping you build applications of any size in Python and C++ by covering areas such as rendering, audio/video playback and much more! - PycraftDeveloper/PMMA
062
Jebbo @pycraftdev.bsky.social · 17/11/2025
... It's massively beneficial to get one as fast as we can before working on the second instead of having to optimise both simultaneously. With that said though, there may be a point where the two rendering processes diverge which we will talk more about soon!
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
... For most features we wouldn't be quite as interested in chasing what may end up being a small performance improvement, but because the 2D rendering process will eventually have an accompanying 3D rendering process that uses the same techniques...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
... Of PMMA there isn't a huge performance improvement. With that said though, we also continually look at ways of making the 2D rendering process even faster, and believe we might have found another way to accelerate the process further. ...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
... Instanced rendering being all that beneficial. Of course we are continuing to review this situation as we get better at implementing this mechanic, but for the time being we believe and have seen in tests that for the majority of applications...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
... Then surely we could go to the same effort for determining if we should be using instanced rendering. This is absolutely a valid point, and we don't because this adds potentially a noticeable overhead to a rendering pipeline where we don't see...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
... Of this specific shape because this specific shape is not very customisable as indicated by it's mathematical definition. But if we go to all the effort of making PMMA intelligent enough to know when to use the render pipeline and when not to...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
... But is much better when it comes to rendering lots of different shapes. This brings me on to an interesting point though. For a long time now we have been considering adding in a pixel render pipeline that massively accelerates the rendering...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
... Large numbers of the same shape over and over again. In PMMA we don't know what shapes the player will render next. So instead we developed a render pipeline that holds up pretty well compared to instanced rendering (but is definitely not as fast)...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
I must start by saying that if your own project benefits from instanced rendering you should almost always use it. But we can't guarantee that you, using PMMA will benefit from instanced rendering. It is only really very effective when rendering...
100
Jebbo @pycraftdev.bsky.social · 17/11/2025
PMMA makes 2D shape rendering incredibly fast. Instanced rendering is a technique used to make rendering very fast and efficient. So, why doesn't PMMA use this technique? Let's discuss this in today's PMMA progress update!
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
Thanks! This is something we are working on improving currently with work on the documentation and surrounding support for people using PMMA! Its work in progress currently, but we are making good progress. :)
000
Reposted by Jebbo
Emir 🇹🇷 @ranork.bsky.social · 05/11/2025
Building in public creates accountability and attracts early adopters naturally
111
Jebbo @pycraftdev.bsky.social · 12/11/2025
... You can find PMMA on our GitHub profile here: github.com/PycraftDevel... We release programming updates regularly so stay tuned! #buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP Thanks for reading :D
github.com
092
Jebbo @pycraftdev.bsky.social · 12/11/2025
... Great success so far in our API, and intend to continue to work on as we extend the API with new features - either expanding existing ones, or introducing new systems like 3D shapes which are coming in the very near future!
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... Rendering, you'll need the 2D shapes API and that's pretty much it. No additional image rendering API, or video playback API any more, often with their own constraints on size, rotation or position. This design philosophy is one we have used to...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... For gradients, images and eventually also video playback. Because everything links back to these fundamental pillars of application development, it's much easier to know where to begin when working on a feature. You want to do any 2D graphics...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... Unified system for moving something around, and that integrates physics, animations and random or procedural generation of positions. The same applies for shapes. You can render shapes using PMMA, and it's that same API which also provides support...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... That particular approach is better than others. However, it's incredibly daunting and can be troublesome when different position approaches may not work depending on your setup or workflow. In PMMA things are a bit different. There is one...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
But strangely we are going to start by discussing Unity. I could talk all day about different strategies for moving a game object around in Unity. However, for as many different methods there are, there are as many different situations where...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
PMMA is here to make application development easier and faster. Great, but how exactly do we make application development easier? Funnily enough, in today's PMMA progress update, we will be discussing this!
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... You can find PMMA on our GitHub profile here: github.com/PycraftDevel... We release programming updates regularly so stay tuned! #buildinpublic #programming #Python #developer #gamedev #softwaredevelopment #SoftwareEngineer #coding #CPP Thanks for reading :D
github.com
093
Jebbo @pycraftdev.bsky.social · 12/11/2025
... Great success so far in our API, and intend to continue to work on as we extend the API with new features - either expanding existing ones, or introducing new systems like 3D shapes which are coming in the very near future!
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... Rendering, you'll need the 2D shapes API and that's pretty much it. No additional image rendering API, or video playback API any more, often with their own constraints on size, rotation or position. This design philosophy is one we have used to...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... For gradients, images and eventually also video playback. Because everything links back to these fundamental pillars of application development, it's much easier to know where to begin when working on a feature. You want to do any 2D graphics...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... Unified system for moving something around, and that integrates physics, animations and random or procedural generation of positions. The same applies for shapes. You can render shapes using PMMA, and it's that same API which also provides support...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
... That particular approach is better than others. However, it's incredibly daunting and can be troublesome when different position approaches may not work depending on your setup or workflow. In PMMA things are a bit different. There is one...
100
Jebbo @pycraftdev.bsky.social · 12/11/2025
But strangely we are going to start by discussing Unity. I could talk all day about different strategies for moving a game object around in Unity. However, for as many different methods there are, there are as many different situations where...
100