Blender Game Engine Fork - Ketsji Lives

I missed this thread, just because I stopped visiting the forums for a while for several reasons (one of them, I crashed in my motorcycle xD, but I’m fine) anyway I found this very interesting and I hope to see a new beginning for our beloved game engine .

Thanks to all the people involved, specially to BluePrintRandom wich is the guy who has an amazing faith for the game engine and a non stopping way to keep engaged to his projects. Way to go man! :cool:

I’m seeing an issue with the way you responded to this…that gives me a lot less faith in you than before.
I do not have issues with endObject()…I know how to work with it. This isn’t even about just one specific function… My concern is for newbies and general stability…if that does not interest you…I cannot see myself ever using your fork…I know this sounds harsh, but you need to be smarter than just adding new features…I’m trying to help you…and you blew it off in and immediately switched gears to showing something “shiny”…that’s great to add features, but if no one can make a stable game with it…there is zero point to such efforts…

Good luck all the same.

So, I use the engine daily. sometimes adding and removing 100s of items in a frame.

the only time I get crashes with end object is with specific scenarios.

what if a game object could track all constraints and relationships, and end them all, and remove themselves the next frame and mark themselves invisible / suspend physics?

I was not blowing you off,
I was saying this is the type of situation where more info can solve the bug.

too vague of a bug is too much source to dig through.

also, sometimes it’s not the object being ended that causes the crash, but the next frame when something tries to update to a invalid pointer,

have you ever used a debug build?

Happier note - pbr kinda working in upbge

we have isolated the code and now are looking at how to update it / feed it lightfields

lol calm down BPR…My point was such functions can be re-written, but I will leave you alone about it. again, good luck.

there is a cost to everything. noob proofing especially. unless you have ever noob proofed something, you will never understand the high cost for an impossible goal.

there is the api, there is the documentation. do it right or expect a crash. its called COMPUTER CODING for a reason.

the biggest cost to noob proofing is dev time. next is processing power. it takes computational effort to check, and check, and double check every line all the time.

if you really wanted stability, then you would only be adding lots and lots of rules. which is good. i like rules.

a program that is unstable is a program that is unpredictable. ending the active_camera always causes crash. thats stable.

that is no way to grow a user base…I would make two methods…one safe, albeit slower and one lightning fast for advanced users…but I’m not putting my time into it…so let him do it as he wishes. but…

…I’m seriously just trying to give him some constructive crits and direction…this method of not fixing bugs first and just jumping into features will sink his ship…you can quote me on this.

i agree, fixing bugs is very important. but doing things right the first time is more important.

sometimes you have to make bugs before you can fix them :wink:

Again, I would look at how Godot handles the ability to delete objects without crashing (even if there are data types that depend on them). The queue_free() function and the less safe free() are in a sense, the two function types that Justin talks about.

I would also reiterate that the sum of a game engine is far more than visuals you can show off. Sure, pretty graphics do an awesome job as a marketing tool, but users finding a buggy, un-intuitive, and unwieldy engine underneath that frosting will do a great deal of damage (so you need to make sure that functions work the way people think without having to do any logical gymnastics).

I’ve been using Blender for just about a year, got into the game engine around five months ago or so, and I use endObject tens of times per frame during gunfights – no crashes.

Just moved over to UPBGE (learnt how to build blender myself, yay!) and opened up one of my projects. Lots of projectiles being added and ended – still no crashes.
Overall performance is a tad better than standard BGE.
So far the engine doesn’t seem to be any less stable.
What is there to criticize?

IMO you’re just nitpicking.

For me the focus was not necessarily about that specific function…it just served as a good example as a lot of times I see new people getting crashes using endObject() in the engine…
using endObject() as an example just kind of stuck. When I first came to BGE I had a similar issue…however I also never used python and there was about a one month learning cycle for me…that is the basics, I’m still learning :)…I was not new to code, I was however new to python and a lot of concepts were foreign to me…like variable declaration and initialization…and the semicolon :)…I still throw semicolons in from time to time…it’s often the first thing I check when I have an error :slight_smile:

That’s why one should always RTFM.

i dont like the que idea, it sound like a big opportunity for mem leaks if you are careless. if you dont like “logical gymnastics”, then stay away from coding.

If the team would rather keep all of the quirks and not place much effort on quality-of-life issues, feature/API polishing, and safer functions then that is fine with me. Just don’t expect much growth in the userbase, as you would need to formulate a compelling reason as to why people would want to use a GPL3 engine with no exceptions.

Godot does not leak memory when removing data by the way.

Exactly. But that’s just the technical side. Currently, the legal issues are completely unclear when you want to publish a game. The active license model is good for rendered images but not good for games. Especially not if a game developer does not want to make his know-how publicly available to everyone, but just his game. For me, a stable development and reliability in the elimination of faults is also important.

Hi BluePrintRandom,
I think it’s great that you’re trying to move something. You have my full respect and appreciation. But that is also a hard way, which involves a great deal of risk. Let’s work together. Just write me what you want to do in the next time. It would be much too bad if a dead horse is pulled over the field. It’s better if the horse pulls the plough (Comparisons sometimes hung). (-:

Hello BluePrintRandom,
I have looked at GITHUP the KETSJI environment today. I understand that the project would to be continued hopefully. But I think we should also be honest with the community and not signal a hope that is not justified (so my impression). I have a lot of respect for your courage to face this challenge almost alone. Since PanzerGame left the project in January, nothing has happened. Also, there is no translated version for any platform. Maybe I fail to see it too. But if the project Ketsji is to survive, something must happen above all in the organization.

According to my analysis, at least three programmers in fulltime are necessary for a secure future and a programming that can really ensure the advancement. This is really the minimum if everyone is very committed.

It is also necessary to clarify all the permits that have to be obtained from others by changing the code at a certain point!! This can be necessary by eliminating errors or by other developments. As long as there are no fast and legally safe processes, everything seems to me somewhat improvised and unfit for growth towards professional prospects and applications. I think we should tell all the dedicated people honestly how it is about the software.

Sorry if I clearly name the things here from the point of view of a professional use. Even though it may not at the moment please everyone.

Peter

well…

We are a ragtag bunch of developers, doing what we can.

I have paid bounties on small changes I think that could save the GE, and we can work on more sweeping changes later.

We are unit testing youles work and then merging it (updating sources)

we are also participating in Jams and Helping others, and also have full time day jobs.

If you want to help great.

showing up here talking shit instead of talking to me was probably a poor choice.

Good luck Ketsji! We need BGE to live!

If I can get a Mac build running, I would like to join the development team. That might take me a while though I’ve run into some very interesting errors…

Anyway, on the topics brought up here I think we can be adamant about the future of our engine without being overly sensitive. I think we would be wise to consider how to make this engine both powerful for experienced devs and LEARNABLE for newcomers more than anything. I picked up the BGE as a middle schooler knowing jack squat about anything and let me tell you, it was a fight to get anywhere. If it wasn’t for GameBlender (which was still live at the time) I would have probably given up and gotten nowhere. As it is I think the BGE has two things going for it over other contemporary engines:

1: New game developers are drawn to its open-source, easy to work with design.
2: It is both powerful AND lightweight. BPR, Fred, Haidme, S(d?)geoff, and countless others have proven what can be done with dedication and skill.

The biggest problem I’ve seen so far:
The BGE culture tends to have a “I can do it so the problem must be you” culture about it. We think that since we know a hacky answer then it’s problem solved and the new guys just have to figure it out. That’s fine as a USER of the program, but as a DEVELOPER it is our job to make the program approachable by the potential user-base. So if we stick with that mindset, even WHEN we have the best engine all around our user-base will be restricted to us, and new recruits will be few and far between. To be clear: we do not have to hold users hands. We DO need to make it intuitive, be willing to attack things that have “always been this way,” and most of all respond positively to almost everything that comes our way. This is entirely possible.

…phew. Sorry for the epistle y’all. I’ve just been observing for a while, and I really care that this project succeeds spectacularly. I’ve used basically every other option out there, including Godot and ALL of them fall short of what the BGE/Ketsji is/can be. I’ll let y’all know when I’m able to start working with ya.

2 Likes