Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

DevLog – ISM Engine

A topic by Isemlorex created May 22, 2025 Views: 325 Replies: 1
Viewing posts 1 to 2
(1 edit)

🧪 # DevLog 0 – Introducing ISM Engine

A personal game engine project. (Name ideas are welcome!)

⭐ ### Why I’m Building This

I’ve tried using popular game engines like Unity and Godot — people say they’re beginner-friendly. But honestly? I don’t agree.

Too many input fields, tabs, and panels. Everything feels bloated and over-complicated. I have game ideas, but I couldn’t implement them because the engines kept getting in the way. So… I decided to build my own.

Not a Unity competitor. Not an Unreal rival. Just something smaller, cleaner — and way more beginner-friendly.


🎯 ### My Vision

👉 Drag-and-drop node editing, inspired by Obsidian.

👉 Clean, minimal UI using modern libraries (Tailwind, Shadcn).

👉 Designed for indie devs, solo creators, and beginners.

👉 A tool that helps you focus on building your world, not fighting the UI.


Screenshots

Welcome Screen (project creation, opening) image.png

Settings/ Help image.png Settings/ General image.png Canvas Screen image.png Nodes Screenshot 2025-05-22 223804.png Elements Library (Left Sidebar) Screenshot 2025-05-22 223951.png Scene Editor with Layers and Connected Elements Library at Right Screenshot 2025-05-22 224015.png Labeling (This is important text on connection) image.png

Live

🛣️ ### Roadmap & Plans

✅ Project system

✅ Elements Library

✅ Canvas, Nodes, Connections

✅ Autosave system

🔄 Scene Editor (currently in progress)

🔄 Scene Sequencer (currently in progress)

⏳ Undo / Redo system

⏳ Asset Management

⏳ Play / Test mode

⏳ Export to standalone project

⏳ Scripting support (maybe Scratch-style using Blockly)

⏳ Node Presets (dialogue, menus, etc.)

⏳ Cutscene support

⏳ UI creation system (ready-to-use buttons, sliders, etc.)

⏳⏳⏳ 2D Physics

⏳⏳⏳ Raycasting / Fake 3D

⏳⏳⏳ Linux & macOS support

⏳⏳⏳ Game Presets (Platformer, Sidescroller, etc.)

⏳⏳⏳ Plugin support

⏳⏳⏳ Improved fake 3D + basic physics

⏳⏳⏳ More language support


⚙️ The Technology Behind / History

ISM Engine is built using some of the most modern and accessible coding tools available today — with a bit of AI help along the way (thanks to Firebase Studio, Google AI Studio, ChatGPT Codex, and Microsoft Copilot).

I originally tried building this engine in Python, C#, and pure JavaScript, but eventually decided to go with TypeScript, which feels like the most beginner-friendly and scalable option for me right now.

At first, the project was based on Next.js, but due to its limitations in offline use, I migrated everything to Vite for a faster and cleaner dev experience.

From there, I integrated:

I also explored NeutralinoJS and Tauri, but eventually switched to Electron, since none of the alternatives worked reliably enough for my use case.

One of my goals is to keep the engine fully offline, with local file-based storage only — no database, no backend, no cloud dependencies.


🧪 Planned Technologies

  • Three.js / WebGL – for future 3D support
  • Lua or Blockly – for drag-and-drop or scriptable logic systems
(1 edit)

DevLog 1 – ISM Engine

More than 100 days has passed since I’ve introduced to you the ISM Engine with DevLog0. This topic covers the improvements and additions to the ISM Engine since DevLog0. I hope to release the alpha version of this engine at the end of 2025.

Whats New?

I divide the things that are new and has a value to mention.

Canvas:

image.png

  • Now in Canvas you have only 3 option in Left Sidebar which are “Scenes, Objects and Scripts”. I think that this removed the chaos in there. Later I will add Audio section to here.
  • There was an issue about saving nodes in canvas, that is fixed.
  • Connection points on nodes polished.
  • Zoom controls added and the minimap toggle is now functional.
  • The background has changed, now it is not just flat. Has dim dots like in obsidian canvas.

Scene Editor

image.png

image.png

  • There was an issue about listing connecting elements in scene editor. That is now fixed. Somehow it was not showing up newly created elements but only pre-defined elements.
  • Scene Editor now has its own little welcome instructions.
  • Object sprites or solid colours can be visible.
  • Objects are now transformable (resize), movable.
  • New Hierarchy system added to the layers. Basically, every object in current layer has a number. According to this number the engine decide which object is above, which one is below in the current layer. This can be changed with mouse wheel while hovering the object.
  • Zoom controls added.
  • Autosave added.
  • Outer area added. Users can put objects out of view now. This is created with 10x Resolution formula.
  • Save, settings, play, export buttons added to right sidebar. Scene play does not work well currently, also exporting is not working. Scene settings has few options, it will be improved.
  • The eye logo on the layers are functional now, they hide and un-hide layers. Also there is a transparency tooltip appears when you hover on layers that you can edit their transparency basically with mouse wheel.

Script Editor

image.png image.png image.png

  • The whole system built on Google’s Blockly.
  • I’ve added the same background with Canvas and zoom controls, minimap in it to feel this is not a seperated thing.
  • Blockly’s whole UI removed. Instead I’ve created a badgeBar in bottom that has badges, upon hovering this badges users gets corresponding blocks then drag and drop it to the canvas. Also there is a searchbar above it, users simple search and find the correct block with the help of it.
  • At most bottom there is a compile bar. Which is responsible for view method. First as defaults is block mode, users see the sciprt as blocks. Secondly, users see the script as javascript. The third button is responsible for exporting this JS.
  • Users will be able to edit this JS files but this will ruin their blocks, so editing is irriversible.
  • Script editor mostly unfinished in general but it has the main thing it needs to have.

Other things

  • I removed the windows bar at top and made the in-app icons functional. (minimize, maximize, close)
  • Save system generally works well. At my last attempts I saw none lost data even if I close the developer env. the project data goes saved very well.
  • I’ve spent a huge time to re-order project files under appropiate folders. After devlog0 the project folder was a chaotic mess. Currently, I can say it is in a better condition. I’ve seperated script files that has over 2K lines in to smaller ones.

Video


🛣️ ### Roadmap & Plans

✅ Project system ✅ Elements Library ✅ Canvas, Nodes, Connections ✅ Autosave system ✅Undo / Redo system ✅🔄 Scene Editor (currently in progress) ✅🔄 Play / Test mode (currently in progress) ✅🔄 Scripting Editor (currently in progress) ⏳ Camera System ⏳ Export to standalone project ⏳ Documentation

Planned Alpha Release (End of 2025)

⏳ UI creation system ⏳ Cutscene support ⏳ Tile Editor (In Scene Editor) (I’ve already developed a small tile editor but not in engine, it is seperated) ⏳ Sprite Editor ⏳ Audio System ⏳ Animation System ⏳ Asset Management ⏳ Text - Font support ⏳ Basic collision system ⏳ Particle, shader support ⏳ Debugging tools ⏳ Game data save&load

Planned Beta Release (Unknown)

⏳⏳⏳ Node Presets ⏳⏳⏳ Gamepad Support ⏳⏳⏳ 2D Physics (improved collision system) ⏳⏳⏳ Theme support ⏳⏳⏳ Linux & ~~macOS~~ support ⏳⏳⏳ Game Presets (Platformer, Sidescroller, etc.) ⏳⏳⏳ Plugin support ⏳⏳⏳ More language support (chinese, german etc.) ⏳⏳⏳ Raycasting / Fake 3D ⏳⏳⏳ 3D Scene Node & Editor ⏳⏳⏳ Improved fake 3D + basic physics ❌ ~~Scene Sequencer~~

Full Release (Just a dream)


About

ISM Engine is a game engine which aims to break the barriers between the finished game ideas and people wants to develop games. I really hate the learning curve definition. If something is meaningful and well designed, there should not be big learning curves on it. So my philosophy is this when I developing this engine. As you can see in screenshots section you create your objects inside a leftsidebar then drag and drop them to a canvas which can be connected. You can connect your objects to your desired scene, or you can connect your scripts to desired scenes or objects. This part is heavily inspired from Obsidian.md

Upon hovering you can see a little play button on your scenes that you can go to the somewhere I call “scene editor”. In there, you can see only your connected assets and drag and drop them to your scene and decide where you want to see which object and which size. Then there is a script editor, which can be visited with little puzzle icon that appears upon hovering a script node inside canvas. In there, you can use blockly (or scratch) like coding system to give you game a live. Also there is a second option for advanced users to script their game with Javascript.

This engine is building with ai coding agents. If you are interested, follow this devlogs and leave suggestions. Feedbacks are always welcome.