Creating a 2D Videogame Engine

I’m creating a 2D videogame engine. I know it may sound crazy, but I promise it will be worth it.

I want to make it clear that I’m not here to reinvent the wheel and that my intention is to do something very specific using libraries and frameworks that are already created and stable.

Let me explain better. My original idea is to make a videogame engine for 2D web games where you don’t have to code, but use nodes. That is, a visual language like Unreal Engine’s Blueprints.

I think it’s a very good exercise to practice many things. Programming, yes, but above all deeper concepts at the level of functionality, physics, etc.

Raw interface design - Game engine
Raw interface design made in Paint 😅

Tech stack

My intention is for it to be a game engine that works perfectly from the browser, without downloads. I still have to finish defining what technologies I will use and how I will save the information, but broadly speaking it will be like this:

  • Typescript as the programming language
  • Nextjs (React) for the front and backend.
  • For styles, Tailwind.
  • Pixijs as the rendering library
  • Matterjs as the physics library
  • More libraries for specific components

I have planned an interface very similar to the basic configuration of Unity. A hierarchy, a central screen with tabs. A panel on the right where you can view components and information. And a lower section for asset management and logs.

Surely, as always happens to me, I will crash once I start developing and realize that it is impossible. But I want to try it and I think it’s a very cool side project to put in the portfolio if it comes to fruition.

In my imagination I see it as a natural evolution of Scratch. Where students and teachers of more advanced courses can teach how to program visually richer experiences. So yes, I don’t want it to be just a test project, I want it to be something that has a use.

It is true that as I develop it and depending on the result I have several phases written:

  • Phase 1. 2D game engine. Visual scripting. Web games.
  • Phase 2. Add 3D capabilities with three.js
  • Phase 3. Create a Desktop app bundle with Electron.

But for now my focus will be on Phase 1 and making it a well functional game engine in 2D.

I hope to be able to come back with the first results very soon.

Until next time!


Posted

in

,

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.