Trying to make a game engine apparently.

Overview

Clockwork - a game engine from scratch

The goal of this project is to build a game engine, I still don't know what it needs to do, but will update this README as things progress.

The purpose of this repo is to document my journey and all my findings throughout the project. The clockwork-kb sub-folder is an Obsidiant Vault, feel free to clone and check it out. I don't know if I'll ever finish this project but that doesn't matter, I'm more excited to start it.

Guide:

For a start, I'll be following the tutorial series by: Travis Roman called TypeScript Game Engine Tutorial.

This will envolve a lot of copying and pasting before adding my own custom stuff. You may be wondering why I'm using TS, well, it's what I use in my day job, so, I might aswell keep using and webgl seems fun, so why not.

P.S: I might switch to C++, later on, who knows ¯_(ツ)_/¯.

Projects Using this Engine

I think the first game I'll build using this game engine will be a 2D tower defense game, anyone remember Zuma?

Future Plans:

Project to do:

  • Use Vite (WIP)
  • Update all undefined checks to null checks and make use of the new TS features.
  • Remove namespaces and switch to modules.
  • Ship package to github packages.

Engine to do:

This todo list was copied from the original project, but hasn't been updated for the last 3 years, so I may aswell try and implement some of these stuff.

  • Asset loader error handling
  • UI System with controls:
    • GameScreens
    • Panel (scrollable if set)
    • Label
    • Button
    • ImageBox
    • Checkbox
    • Radio Button
    • Window/Dialogs
  • Multi-page bitmap fonts
  • Configurable bitmap fonts
  • Configurable audio
  • State Machines
  • System fonts?
  • Advanced audio
  • Configurable materials
  • Networking (including server?)
  • 3D
    • Lighting
    • Normal maps
    • Specular maps
    • Physics
    • Object/mesh loading
    • Animation system
  • RenderBuffer/PostFX system
  • WebGL2?
  • Input handler overhaul
  • Zone overhaul - potentially change to a better format
You might also like...

Javascript engine to make fast games.

Javascript engine to make fast games.

G3 Javascript Basic javascript engine to make fast games and write clean code. 🕹️ Example code: const g3 = new G3() const Window = g3.createWindow("

Feb 13, 2022

Free, open source game engine online

microStudio is a free, open source game engine online. It is also a platform to learn and practise programming. microStudio can be used for free at ht

Dec 30, 2022

Melon.js game engine bindings for Solid

Melon Solid This project fuses the awesome frameworks Melon.js (for game development) and Solid.js (for making websites). By combining them together y

Oct 4, 2022

An ASCII (technically PETSCII :)) "Game Engine" for JavaScript

Announcement! I'm putting this project on hold, because I remembered how much I hate JavaScript. (Please don't take offense, it's just my preference.)

Nov 12, 2022

The 2D Game Engine written on JavaScript.

CherryEngine The 2D Game Engine written in JavaScript. NEW UPDATE Version 1.2 Added: TypeObjectError.js Changed: static methods are not static now, yo

Oct 26, 2022

Attempt #2 at creating a game engine with Sciter.

Attempt #2 at creating a game engine with Sciter.

JogoMaker Attempt #2 at creating a game engine with Sciter, with love and care. For Attempt #1, see this project, which was hastily thrown together as

Sep 5, 2022

2D HTML5 rendering and layout engine for game development

2D HTML5 rendering and layout engine for game development

Stage.js is a 2D HTML5 JavaScript library for cross-platform game development, it is lightweight, fast and open-source. Check out examples and demos!

Jan 3, 2023

HTML5 Game Engine

HTML5 Game Engine

Quintus Engine Quintus is an easy-to-learn, fun-to-use HTML5 game engine for mobile, desktop and beyond! The Quintus engine is an HTML5 game engine de

Dec 21, 2022

a discord-based monster catching game engine, used for Lozpekamon on our Discord server

discord-monster-catching-game a discord-based monster catching game engine, used for Lozpekamon on our Discord server How to Use Requirements install

Oct 30, 2022
Owner
Anas Mazouni
Software Engineer wannabe. Robotics fanatic. I make stuff and put it on Github for no reason.
Anas Mazouni
Trying to re-create sorting alghorithms with js.

The initial idea was to re-create sorting mechanisms from scratch using low time complexity sort algorithms. Bubble, Radix and Lexographical was the

Drayan Silva Magalhães 1 Dec 19, 2021
"Trying" to code my personal website

Preview (just a prototype) Dark mode White mode This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the developmen

zF4ke 3 Jan 31, 2022
I'm trying to create simple program for adding the digital signature to a pdf file with self-signed certificate. I use node-signpdf and pdf-lib library.

pdf-digital-signature-with-node-signpdf-ejs I'm trying to create simple program for adding the digital signature to a pdf file with self-signed certif

null 5 Dec 25, 2022
Repository trying to recreate Javascript (node) methods.

Javascript Polyfills This is an open-source project, where we try to do a polyfill for every (or almost all of them) Javascript Methods that currently

Nícolas Gabriel 9 Oct 8, 2022
Trying to learn Svelte. Based off the official tutorial. Readme has notes!

Learning Svelte! A JavaScript library An open-source front end compiler Instead of using a virtual DOM, Svelte will directly update the DOM in an effi

Areena Arora 2 Jul 5, 2022
🐻 Trying out the bear necessities for complex state management.

?? Zustand Demos My practice repository for the Zustand library--the bear necessities for complex state management. You can find some examples of how

Carlo Taleon 2 Jul 2, 2022
How often do you get asked about the gadgets or software that you use? If the answer is quite often, you should be trying show off out. Curate the list of gadgets and software and share it with your fans and followers.

Show Off - Showcase your setup! How often do you get asked about the gadgets or software that you use? If the answer is quite often, you should be try

Adithya Sreyaj 15 Nov 24, 2022
Just trying to understand how a SPA works.

TS SPA Just trying to understand how a SPA works. Nothing is optimized and I am sure there will be memory leaks but good enough to understand a few co

Pratheesh 12 Sep 10, 2022
Trying 5 Redux Alternatives (Zustand, Recoil, Jotai, Rematch and Redux-Toolkit). Expalined on CoderOne Ytb channel

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

Islem Maboud 5 Oct 3, 2022
The project integrates workflow engine, report engine and organization authority management background, which can be applied to the development of OA, HR, CRM, PM and other systems. With tlv8 IDE, business system development, testing and deployment can be realized quickly.

介绍 项目集成了工作流引擎、报表引擎和组织机构权限管理后台,可以应用于OA、HR、CRM、PM等系统开发。配合使用tlv8 ide可以快速实现业务系统开发、测试、部署。 后台采用Spring MVC架构简单方便,前端使用流行的layui界面美观大方。 采用组件开发技术,提高系统的灵活性和可扩展性;采

Qian Chen 38 Dec 27, 2022