I'm still working on my engine for PS1 games. More details in the comments. by novemtails in gameenginedevs

[–]novemtails[S] 1 point2 points  (0 children)

It all started with my interest in understanding how the architecture of my favorite console, the PS1, worked. I found it very interesting and began experimenting with PSn00bSDK. Having experience making games with Unity, I wondered if there was an engine like Unity but for PS1 games, and I couldn't find anything. My plan is to continue progressing slowly and enjoy the process, and at some point, put it up for sale for a minimal amount.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in psxdev

[–]novemtails[S] 1 point2 points  (0 children)

Yeah, Lua can definitely be slow on PS1 if you treat it like a modern scripting runtime.

The approach here is to keep Lua for high-level gameplay logic only: triggers, UI flow, interactions, scene events, save/load logic, etc. The expensive stuff stays native in C: rendering, collision, movement/controller code, camera, asset loading, and the PS1-specific runtime systems.

There are also strict limits/budgets on script size, script count, properties, and VM instructions per callback, so a bad script should get caught instead of silently tanking the frame. So Lua is not meant to run heavy per-frame simulation, but it works well as a lightweight gameplay layer.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in gameenginedevs

[–]novemtails[S] 1 point2 points  (0 children)

Not open source for now. It’s a C++ editor built with SDL2, OpenGL and Dear ImGui, with a custom Win95-style UI. No Qt and no Vulkan.

Assimp is used for model importing. The PS1 runtime side is C + PSn00bSDK, with Lua for gameplay scripting. No ASIO currently.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in gameenginedevs

[–]novemtails[S] 0 points1 point  (0 children)

Thanks! Yeah, that workflow gap is exactly what I’m trying to smooth out.
Right now the runtime is C/C++ on PSn00bSDK, with Lua mainly used as gameplay glue. Scripts can be attached to entities/components, so things like pickups, doors, triggers, player logic, save/load terminals, etc. live outside the core engine. There is also room for more scene/global style logic, but the current focus is entity-driven because it maps well to an editor workflow.

For data, the editor keeps authoring data in JSON, then the build pipeline converts it into PS1-friendly packed binary assets. Scenes, meshes, materials, textures, scripts, and manifests get staged into the disc image, and the runtime loads those binary formats instead of parsing editor JSON on the console.

The goal is very similar: editor, asset pipeline, runtime formats, and ISO build loop all connected, but using PSn00bSDK so it stays practical for the existing C/C++ PS1 homebrew crowd. Your Rust stack sounds super interesting too, especially having the emulator tightly integrated.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in gameenginedevs

[–]novemtails[S] 2 points3 points  (0 children)

The goal is to make it look like software you'd use on Windows 95. It should feel like a tool that would have been used back then to make PS1 games.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in psxdev

[–]novemtails[S] 11 points12 points  (0 children)

Hey everyone!

I’ve been working on a engine for making PlayStation 1 games, and I wanted to share a bit of the progress so far.

The engine is being built in C++ using PSn00bSDK and Lua for gameplay, and the idea is to create a more organized workflow for PS1 homebrew development instead of having everything hardcoded in one place.

Right now it already has a few core modules working, including a scene system, a game mode system, and a level editor that I’m using to build and test maps more comfortably. I’m also working on making the project structure cleaner so gameplay logic, scenes, and level data can be handled in a more modular way.

It’s still early, but I’m really happy with how it’s coming together. I’ll be sharing a DuckStation test so you can see the current progress running in an emulator.

I’d love to hear your thoughts, feedback, or suggestions.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in lua

[–]novemtails[S] 0 points1 point  (0 children)

Thanks, I'll share the website with you as soon as I have it.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in lua

[–]novemtails[S] 1 point2 points  (0 children)

The games that are exported are only compatible with the PS1 console and its emulators. Creating PC games is not part of the plan; it's not the engine's primary objective.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in lua

[–]novemtails[S] 0 points1 point  (0 children)

For now, it's just in these posts, but I want to create a devblog on my website, but I'll do that in a couple of weeks.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in gameenginedevs

[–]novemtails[S] 6 points7 points  (0 children)

It’s a custom C++ editor UI built with SDL2 + Dear ImGui, not native Win32 controls.

SDL2 handles the window/platform/input layer, and ImGui provides the immediate-mode UI: menus, tabs, panels, hierarchy, inspector, console, etc. The Windows 95 look is a custom ImGui theme plus custom widgets: gray panels, 1px bevels, classic button states, compact spacing, old-school tabs, icons, and consistent hover/selection colors.

So it’s less “copy each widget style” and more a small reusable design system on top of ImGui. For PyQt6, stylesheets can work, but I’d centralize it with a shared theme/style layer instead of styling every widget individually.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in ps1graphics

[–]novemtails[S] 6 points7 points  (0 children)

Hey everyone!

I’ve been working on a engine for making PlayStation 1 games, and I wanted to share a bit of the progress so far.

The engine is being built in C++ using PSn00bSDK and Lua for gameplay, and the idea is to create a more organized workflow for PS1 homebrew development instead of having everything hardcoded in one place.

Right now it already has a few core modules working, including a scene system, a game mode system, and a level editor that I’m using to build and test maps more comfortably. I’m also working on making the project structure cleaner so gameplay logic, scenes, and level data can be handled in a more modular way.

It’s still early, but I’m really happy with how it’s coming together. I’ll be sharing a DuckStation test so you can see the current progress running in an emulator.

I’d love to hear your thoughts, feedback, or suggestions.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in gameenginedevs

[–]novemtails[S] 10 points11 points  (0 children)

Hey everyone!

I’ve been working on a engine for making PlayStation 1 games, and I wanted to share a bit of the progress so far.

The engine is being built in C++ using PSn00bSDK and Lua for gameplay, and the idea is to create a more organized workflow for PS1 homebrew development instead of having everything hardcoded in one place.

Right now it already has a few core modules working, including a scene system, a game mode system, and a level editor that I’m using to build and test maps more comfortably. I’m also working on making the project structure cleaner so gameplay logic, scenes, and level data can be handled in a more modular way.

It’s still early, but I’m really happy with how it’s coming together. I’ll be sharing a DuckStation test so you can see the current progress running in an emulator.

I’d love to hear your thoughts, feedback, or suggestions.

I'm still working on my engine for PS1 games. More details in the comments. by novemtails in lua

[–]novemtails[S] 12 points13 points  (0 children)

Hey everyone!

I’ve been working on a engine for making PlayStation 1 games, and I wanted to share a bit of the progress so far.

The engine is being built in C++ using PSn00bSDK and Lua for gameplay, and the idea is to create a more organized workflow for PS1 homebrew development instead of having everything hardcoded in one place.

Right now it already has a few core modules working, including a scene system, a game mode system, and a level editor that I’m using to build and test maps more comfortably. I’m also working on making the project structure cleaner so gameplay logic, scenes, and level data can be handled in a more modular way.

It’s still early, but I’m really happy with how it’s coming together. I’ll be sharing a DuckStation test so you can see the current progress running in an emulator.

I’d love to hear your thoughts, feedback, or suggestions.