After viewing Openbor4.0...

Here are my personal views:
For an engine, the most critical components include graphics, audio, control, networking, and scripting engines.
These areas are where the OpenBOR engine lacks significantly.
Firstly, in terms of graphics, sacrificing GPU rendering for outdated platforms is highly unwise. This is the fundamental reason why this engine lags far behind mainstream engines.
It would be best to add support for scripting languages such as JavaScript, Lua, etc., as C scripting is quite niche.
The networking aspect is virtually nonexistent.
Moreover, an engine's interference with game logic should be a bonus rather than a crucial element. Currently, OpenBOR interferes too much with game logic, limiting the scope of games it can create to a niche audience.
I sincerely hope you can consider my suggestions. Thank you very much.
 
sacrificing GPU rendering for outdated platforms is highly unwise
But which outdated platforms?

This is the fundamental reason why this engine lags far behind mainstream engines.
Looks like a Argumentum ad consequentiam fallacy to me, honestly.


add support for scripting languages such as JavaScript
I would prefer to see the world burning over having to deal with JavaScript ever again lol


networking aspect is virtually nonexistent
Online feature would be cool for sure, but we can use Parsec for that. Plus, in the split second they add online features, we would have to deal with the Rollback Netcode preachers and they are a huge pain in the ass.


Currently, OpenBOR interferes too much with game logic, limiting the scope of games it can create to a niche audience.
This is not true at all. You can create a wide scope of games of different types , as people already did it on the past.

I don't want to offend you, but almost all your points comes from a lack of knowledge of the engine.

There are flaws in the engine? Yes, like in any other. There are missing things? Yes again. But none of your points makes much sense.
 
OpenBOR is an open-source engine, and some development teams make custom modifications to the engine for unique content.

OpenBOR is very small, simple, and intuitive. When I come across special features in excellent projects, I can unpack them and figure out how they work.
To me, OpenBOR is like an open playground. It may not offer the conditions of a high-end sports venue, but for someone who just wants to relax, the playground is more than enough—and that's great.:)
 
Last edited:
In the OpenBOR engine source code, over half of the code logic revolves around the BTU type, such as AI, UI, animations, and more.
I don't expect you to fully understand me, but when I want to implement collision detection for irregular objects,
when I want to implement true-color PNG images,
when I want to implement skeletal animations,
when I want to achieve a 720P resolution with thousands of sprites on-screen while maintaining smooth 60 frames per second,
when I want to script using object-oriented programming,
when I want to create better and cleaner scripts,
when I want to implement the transmission of extremely long strings,
and so on and so forth—these are all issues that give me a headache.
Although I could choose Godot, Unity, or other engines,
I've been using OpenBOR for over a decade and don't want to rebuild my game from scratch.
It's just that OpenBOR can be better.
The reason I voice my opinions is because of my love for OpenBOR.
After using it for over a decade, I wouldn't just switch to another engine if it weren't for this attachment.
Of course, maybe I have no other choice.
Actually, I really hope everyone can take a closer look at how other engines are designed.
 
Well, I don't see any point in continuing this discussion because I don't think it will lead anywhere, especially if we're going to have arguments like this:
when I want to create better and cleaner scripts,

This is too generic and relative, no offense. "Better" is very subjective - better than what exactly? A script being "better" and "cleaner" has nothing to do with the engine.
 
In the OpenBOR engine source code, over half of the code logic revolves around the BTU type, such as AI, UI, animations, and more.
I don't expect you to fully understand me, but when I want to implement collision detection for irregular objects,
when I want to implement true-color PNG images,
when I want to implement skeletal animations,
when I want to achieve a 720P resolution with thousands of sprites on-screen while maintaining smooth 60 frames per second,
when I want to script using object-oriented programming,
when I want to create better and cleaner scripts,
when I want to implement the transmission of extremely long strings,
and so on and so forth—these are all issues that give me a headache.
Although I could choose Godot, Unity, or other engines,
I've been using OpenBOR for over a decade and don't want to rebuild my game from scratch.
It's just that OpenBOR can be better.
The reason I voice my opinions is because of my love for OpenBOR.
After using it for over a decade, I wouldn't just switch to another engine if it weren't for this attachment.
Of course, maybe I have no other choice.
Actually, I really hope everyone can take a closer look at how other engines are designed.

Of course the engine could be "better". But on specific points, I have no polite way of saying this - you simply don't know what you're talking about. I've seen your threads and projects. You name drop a lot of coding features, but don't really offer any fundamental understanding of how and why OpenBOR (or any other engine) works the way they do.

I'll try to address these, best I can.

when I want to implement true-color PNG images,

First, OpenBOR DOES support true color, you just have to know a little something about how sprites work. It is true that individual sprites are 8bit, and for a very good reason. Without getting into too much long winded technial stuff, the bottom line is professional developers don't use true color. Ever. No, not even the big AAA graphic powerhouse 20 gagillion shaded polygon projects. Individual assets are 8-bit, sometimes 10-bit or 16-bit (which OpenBOR ALSO supports through alpha channels). Per our google overlords:
  • 8-bit per channel (24-bit RGB or 32-bit RGBA):This is the most common format for individual assets (textures, sprites). Each channel (Red, Green, Blue, and Alpha) gets 8 bits, allowing 256 levels per channel.
  • 16-bit per channel (48-bit RGB or 64-bit RGBA): Used in high-fidelity rendering, or for specific assets requiring more color precision and dynamic range (e.g., cinematic scenes, HDR textures).
  • 10-bit per channel (HDR Pipelines):Commonly used in HDR rendering pipelines, particularly for projection or final image display. This is more relevant to how the game engine outputs the final frame, rather than how individual sprites or textures are stored.
  • Intermediate or Lighting Passes: Sometimes, certain passes in rendering (e.g., HDR lighting or post-processing) might use 10-bit or higher precision.
Individual sprites and shaded textures in games are typically authored and stored in 8-bit per channel formats. If HDR precision is needed, 16-bit per channel formats might be used, but this is more common in AAA titles where fidelity is critical.

when I want to implement skeletal animations,

No, we don't support skeletal animations, and don't plan to. But how does that stop you? In our view, that's design time work, and better left to tools optimized for it, not bloatware in an engine.

when I want to achieve a 720P resolution with thousands of sprites on-screen while maintaining smooth 60 frames per second,

What?! No engine can do this out of the box - at all. Hundreds maybe, which OpenBOR has no problem with. You're not getting thousands out of any engine without some serious knowledge in sprite batching techniques, and if you knew how to do that, you wouldn't be posting this.


when I want to script using object-oriented programming,

This again shows a lack of knowledge. OOP is a paradigm not a function. Encapsulation, inheritance, and polymorphism have nothing at all to do with language functionality. OpenBOR script doesn't include the syntactic sugar, but you absolutely can apply OOP. Been there, done that, bought the T-Shirt.

when I want to create better and cleaner scripts,

...uhm... write better and cleaner scripts. If you are cobbling together a bunch of procedural spaghetti, that's your own fault. Ask us, and we can help. Also, I can't believe you’d mention this in the same breath as wanting support for JavaScript – widely regarded as one of the messiest languages ever conceived.

when I want to implement the transmission of extremely long strings,

I'll give you this one. Strings are limited to 512, and there's not much we can do to change that right now. The technical reason for it is all script variables are handled by a union structure under the hood (and there are reasons for that too). So increasing string size would mean increasing memory load for all script variables. If you think that means the engine sucks... Fair enough.

After using it for over a decade, I wouldn't just switch to another engine if it weren't for this attachment.

Doesn't matter if you've been here for 10 years or 10 minutes - it's the wear, not the age. Right now, you don't have it. And here's the thing: That's okay! There's not a thing wrong with not knowing something. The catch is, you need to approach with the mindset of "how do I do I achieve X result" and ask accordingly, instead of "I want X feature because it's cool". This isn't me speculating or defending a codebase. You want to make certain types of games, like say, an FPS? You go get Unity and run wild, because it's the best there unless you've got a few million to toss around for Unreal. In our genre, OpenBOR is the top dog.

DC
 
Back
Top Bottom