What is Matpix?
This project or name Matpix is a job I had several months ago where I wanted to get away from what was already done and create something that had a little sense, structure and that did not need many lines of code to create something little complex.
Matpix is a library to create projects on canvas with Apache 2.0 license that requires two other libraries that are PIXI.js a very powerful rendering engine with many options and Matter.js a fairly light physics engine and take it into account by that considers it comfortable to use, both libraries PIXI and Matter have MIT licenses if they are interested in using them in their projects here are their links from their official pages.
Required library links
Rendering engine: PIXI.js
Physical engine: Matter.js
What can be done with Matpix?
For now in this version alpha 0.0.1 I have tried to solve several errors, simplify the development, this for now in diapers this library but I will leave below a demonstration of the library running.
Even in this version you can create both graphic applications and applications with physical qualities, all in sync.
to create 2D game with thematic platform or game with physical qualities where more accurate collision events are required with this library can be done, it also has functions to create keyboard events in a very simple way.
When will the Matpix library be ready?
Since I want it to work with the least amount of errors, that is stable and more than everything that is simple and simple to develop in it, it will take a time no longer than a year without I am more unemployed to achieve the objective not in the least possible time, because I want this to go well.
You may also in the not too distant future think with a little more time and a little help a development environment with user interface to create applications with Matpix.
Why do I consider this important?
Today the struggle of the platforms is still latent and is a problem in terms of creating something that is compatible for all devices, I know there are alternatives like React Native to solve this, but there is also something that many overlook and it is the maturity of the web today and today’s browsers run code and programs that previously we thought crazy, everything is much more standardized the compatibility of code in different browsers is almost complete.
This makes it possible and there will be the gap in the development of applications on the web, which can run on different platforms as it is very compatible with most web browsers, that is why I consider the development of applications on the web to be very important since the the incompatibility frontier that currently exists in many platforms that they have to develop natively.
And to not do this very boring I will leave a demonstration of what I have achieved so far, it is something simple since I am learning from the mistakes of the past and restructuring how it has to work to simplify.
Demonstration Cat in a world with activated physics
Left Physical world / Right Graphic world
W -> Jump A -> Left D -> Right
Obviously they can only show the part that we want to show, the graphic part and not the physical part, but only to demonstrate the synchronicity that the physical bodies have with the graphics.