Visual programming

I have mastered modeling, sculpting, texturing, animation, rendering, painting, anatomy and to an extent music creation. The only thing that is left is programming, I picked up a 900 page book on learning C#, didn’t seem hard at all, got some chapters in then realized the software I used was too modern and that the book I read from was outdated. So I told myself, you’re an artist, concentrate on what you do best, so I dropped it.

Unreal engine has great visual programming, but my laptop can’t handle it and there are many modern features that I don’t really need, or that I suppose it would be neat to have but which there would be no point for a one man team to use because of the time it would take to implement them correctly in a game. I always found blender’s logic bricks neat, but they can’t do things like camera collisions, proper saving and loading, letter by letter text and I guess other things that has to do with the camera and how the character moves through the scene.

In the near future, is the free version of blender’s game engine actually going to be good enough to produce an actual game? A game which transitons smoothly in between scenes, a game with good performance that can be sold. Or is it just going to remain a fun little simulator toy? I’m in the process of making assets for a game, any engine that has decent rendering capabilities and which has powerful visual programming I might want to use.

You think blender’s game engine is gonna become good enough and if not are there any other equally easy engines to use that don’t require you to read a 900 page book on programming?

Blender is not an authoring tool, which allows you to describe your story on a pretty high level.

It is a game engine that provides some medium and low level behavior descriptions (called logic). Medium as it encapsulates things like collision calculation and low level as you need to increment counters by yourself e.g. on health bars. This brings quite a lot of freedom but quite a lot of responsibility too.

The logic bricks are basically a When happens What approach (event system). Where the build-in logic bricks do not fit your requirements you can create custom bricks via Python. To do so you would need to learn the Python syntax and a basic understanding how it works.

Be aware logic bricks and Python work in conjunction. They are not exclusive.

First, don’t give up on C#, or any programming language, for that matter. They are great fun and in 2017 they should be part of the basic knowledge of human beings. Think of all the python scripts you could write to speed up your artistic wizardry in blender (at their core, languages work all the same, once you know one, you can move to others in no time).
I wish I had the definitive methodology on how to teach them so I could tell you how to learn one but that’s still unclear to us (humans). My suggestion is: remember that the language will only take you so far, the core of writing programs in our day and age is in the use of external libraries (a subset of Unreal is a collection of such libraries).
The fact that your book is outdated is irrelevant, you need the basics, how to write a running program and to call functions of external libraries. Then you’ll move on to the different ways in which you can write your program and that will take you to the newest and flashiest rules of the language.

Forget about “visual programming”. The visual programming of the kind Unreal has doesn’t work, it has been attempted ages ago in the software development field, it’s snake oil (the unsolved issue is visual complexity growth, text stays linear, graphs visually match the complexity of the algorithms they express).

Regarding the future of bge, as far as I know we’re still in the realm of speculation. In my opinion, the last (current) bge failed as a product - as a piece of software, it sort of works - because of lack of commitment from the blender foundation. Source code ages, if no one maintains it, it ages badly and if no one cares about that, it ages bge-badly. Eyes bleed watching it.
There are people outside the foundation (the upbge team) committed to take it out of the grave, with great results. I’m not talking about the shiny features, the source code is getting better.

I still don’t see the blender foundation backing up that effort with enough moral support. I now they are concentrated on 2.8 and all the good stuff in it but I’d like to read something a bit more definitive than “perhaps we may talk with the upbge team about talking some more”.
If this support comes, will we have the bge we all want? I see no reason why not.

There is a good news that is certain, though.
The complexity of a game engine resides in its renderer. Writing a general purpose real time renderer is complex because you have to use libraries (opengl, vulkan or directx) whose design comes right out of the stone age. The real stone age, when we didn’t have fire because we didn’t know how to ignite rocks.
Blender 2.8 will have a new real time renderer (eeve). Once you get that, writing a completely new game engine on top of it is a lesser problem.

Unity has visual programming.But it is a addon you have to pay for.

The problem is that we have a finite amount of time and we’ve got to prioritize what we find most fun to work on. Reading 900 pages isn’t that much time and I would be willing to do that, but people are wired differently. The reason I hate reading most books that are in first person is because I can’t stand having someone elses voice in my head assume I give a crap about why it’s thinking or doing what it’s doing. Same with bad prose, I can’t read a page of bad prose no matter how good reviews the book got. An extreme version of that would be some geeklord assuming you know all his tech lingo in a book about programming. It’s not that I can’t understand it, it’s that it’s so annoying to read his autistic ramblings that there’s no way you’ll make it to the end of the book.

As we all know autistic people have a problem with abstractions, they don’t think of a house, they think of a specific house, they are also easily distracted and if they are distracted by something they focus intensely on that thing assuming whoever they’re in this case writing to has the same amount of fascination with whatever it is he’s talking about. They make good programmers because there aren’t many kinds of x’s or y’s or whatever, it’s either or, it’s binary unlike say the concept of a house. There can be thousands of different houses, an autistic person can’t combine two different houses and imagine a new type of house, so they naturally fail at art, programming however, great programmers. Visually oriented people think in an entirely different way, they need to see what they’re dealing with, have some understanding of why it’s there and it’s relationship to something else. Why they’re often not very fond of math in school, why exactly does this work, what’s the point of this, what’s it’s relationship to that? No questions answered so they ask themselves why bother.

The book I read was Head first C# third edition, a very nice book since everything was explained with pictures and casual language. Not paragraphs of geek talk, very clear and logical text, at the end it promised you would know how to create the game invaders from nothing but code. Too bad the book was outdated and too bad I’m not going to read through an equally long book written by someone on the autism spectrum. I hope blender’s game engine realises that great visual programming enables the engine to be used by people who understand visual mediums better than those who do math. Back in the 80s programmers made games, today they’re made by artists, it’s important to acknowledge this and enable artists to make indie games.

I feel quite uncomfortable bringing autism, which is not a super power but a serious medical condition, often having devastating effects on the life of entire families, in a discussion about what, compared to that, I’d call menial nuisance at best. It seems to me to be completely inappropriate.

I’d like to stress out though that, when I said that visual programming is snake oil, I specifically indicated the graph based visual programming. I can’t rule out the possibility of a different kind of visual representation replacing text in the future - even though I wouldn’t place my bets on it.

I’d also like to say that this is not an opinion, there’s a staggering amount of studies in neurology and cognitive science proving that sequential structures, and specifically text (which is privileged because of specifically dedicated areas), are processed faster than non sequential ones, like trees made of linked nodes, by the brain (one example among a billion “Neurocognitive Basis of Implicit Learning of Sequential Structure and Its Relation to Language Processing” Conway et al, 2008).

It’s a fact, not a debate.

Pgi, what about folders you define in and outs, that you drop logic into?
(so you can collapse or expand specific systems and have states within each folder.)

Oddly enough the bf foundation is talking about beefing bge logic, and also allowing users to use it in the viewport.


Leinadien, Autism and programers are not connected.

You must apply your passion, while keeping your own frustration in check.

Python seems hard, and I get it.

I come from being a autocad tech, then thinking I was an artist, then finding logic bricks, then
I picked up a little python.

But the thing is that to be a master at anything we must put in the time.

Start with simple crap, have it break, and ask questions to yourself as to why it breaks.

If you cannot figure it out get help.

Sometimes you can chat online with coders while you work.

Try and keep the insults or anger in check, I am often reactive when frustrated as well.

Keep@it and grow around obstacles.

Blue, If I had a clear solution I’d be a millionaire. And, more importantly, the software industry wouldn’t be using text based editors to write a gazillion dollars worth of software each year.

On the bge side, that piece of conversation that you attached frightens me because, from my limited perspective, it looks like they still don’t have a plan.
That plan should be quite obvious (at least, in my opinion): let the game engine use eeve and its data set.

To do that they have to find a way to allow the game engine to modify what eeve can render (which I suspect is a view of the data in the blender file) in a non persistent way (so that when the game ends the blender file is as it was before the game started).

Once you have that, you have your new game engine but this time without all the duplication of the renderer and its data structures.

Then you might start to talk about how do we present to the user the tools to create commands for altering the data. If they want to go nodes, go for nodes.

I hate to say it, but any time you want to do something different you need to be prepared to step outside your comfort zone and adopt new ways of thinking, in this case learning to program, otherwise you are just doing the same old things…and therefore doing nothing.

and also when you read a book in first person…how do you know what that person sounds like? Our brain makes up a voice in our head based on the writing style and punctuation(inflection)…

@pgi: I have to say, your signature is great.

In the near future, is the free version of blender’s game engine actually going to be good enough to produce an actual game? A game which transitons smoothly in between scenes, a game with good performance that can be sold.

Has been done. Heck, the blender game engine is being used on a cutting edge (literally)device. (I cannot disclose more as am under NDA). The thing is that BGE does not force a splash screen on you (unlike Unity or Unreal), so you have no way to tell what products it is used in.

Reading 900 pages

If you can learn to program by reading a 900 page book, you must be some sort of machine! Sure you’re not a cyborg? For us meat and muscle humans we need something more - experience and time

Blue, If I had a clear solution I’d be a millionaire. And, more importantly, the software industry wouldn’t be using text based editors to write a gazillion dollars worth of software each year.

  • most software runs on devices without screens such as routers, microwaves, the things that make torches flash, TV remotes and so on.
  • textual programming falls at the current known optimal of “easy to teach a computer, easy to teach a person”
  • Typing is way way way faster than clicking and dragging - no matter how you look at it. (I use i3wm - a keyboard driven window manager)

Back in the 80s programmers made games, today they’re made by artists, it’s important to acknowledge this and enable artists to make indie games.

Haven’t we had this discussion already. Oh, yup.

As we all know autistic people have a problem with abstractions

Programming is all about abstractions. If you can’t abstract, you can’t program. If you can’t mentally convert a position in space into a floating point number (or some other computerised form), you can’t program! If the statement that autistic people having problems with abstractions was 100% correct, then an autistic person would make a terrible programmer.


What is the hard part of programming
Learning to type?
Learning the syntax?
Learning what the computer is actually doing?

#1 you already know
#2 takes under a month
#3 takes a year or so

Visual programming only addresses #1 and #2 - clicking and dragging instead of typing, and the meaning of the nodes instead of syntax. But it does nothing to address #3 - the actual hard part.

How long does learning python from scratch take?
I’ve been teaching a guy who six months ago knew zero python. Couldn’t even read it. A month or so in and he could read it. A few months later he could write the basics. Now? We’re working through OOP.
This about matches up with what I found at university - it takes someone about half a year to learn the fundamentals of programming. It isn’t a “how much time per day” either, its a “how much time thinking about it once or twice a week.” That’s how long it takes for a person to comprehend what a computer is behind the smoke and mirrors that modern systems let us see.

Oh, and if you’re in for learning python while having a bit of fun, head over to codecombat

@Leinadien

i didnt read everything you said (obviously because Wall of Text)

but i’m using python to make my game, and i did not read a 900 page book about it.

There are internet tutorials if you dont like books. You can start with the basics, play around with them and make your game, then learn more if youre ready.

Blueprnint & pgi:
I have interacted with a lot of different programmers online and they all share similar personality traits and might all be on the “spectrum”, wherever that spectrum starts or ends. It’s not an insult, it’s an observation, many people of high IQ are socially inept or have trouble moving or are bad at things that other people don’t find difficult. I believe there’s raw brain power, but I also believe people use their brain differently when confronted with problems, autistic people tend to make great programmers but often bad authors or artists.

If there’s any frustration it comes only from being forced to read something in first person, instructions or commentary by someone who is on the spectrum. Thankfully I haven’t bothered to read such a book or tutorial and I would never be able to do it, not because it’s too difficult or I’m too lazy, but for the reasons I’ve laid out already. Now I’m not really whining about it, I’m just saying that visual programming would be very useful, we all know you guys have little use of it, but there are a lot of people of great talent that would find it useful. People who might be able to understand any visual medium better than someone on the spectrum. That might sound arrogant but it’s true.

If you want to shut out all that which makes modern games appealing to people, story, graphics, music, writing even gameplay. The people responsible for and who understands all these things are visually oriented people, what I said before is very true. In the 80s games were made by programmers, in the mid 90s to present day they’ve been made by artists. It’s very important to realize this, visual programming is the key, the missing piece in the jigsaw puzzle. Something ARMORY ENGINE realized, if blender’s game engine isn’t going to incorporate similar features they might as well just remove the game engine entirely from blender.

Programming is all about abstractions. If you can’t abstract, you can’t program. If you can’t mentally convert a position in space into a floating point number (or some other computerised form), you can’t program! If the statement that autistic people having problems with abstractions was 100% correct, then an autistic person would make a terrible programmer.

I mean autistic people understand what an apple is, but when they think of an apple they are unable to think of an apple as some abstract thing out there somewhere, it’s neither green red or yellow it’s just there. No they’ll have to think of a specific apple, some apple from the past. There is a spectrum so not everyone who are autistic has a problem with this, but those who are higly autistic would freak out if you hold up an apple to their face and tell them it’s an apple, then you take a bite of it and say, it’s still an apple bruh. Total freak out, because they have a problem with abstractions, now in the programming world, things don’t change, we’re dealing with numbers and things that are either or. That’s my point, now I suspect great programmers probably more often than not are on the spectrum. Which might be why they have problem writing decent tutorials on the subject.

You can start with the basics, play around with them and make your game, then learn more if youre ready.

It’s definitely not hard. Here’s another important point to be made, girls seem to perform better than boys in school, better grades. Is it because they’re more intelligent, definitely not. The amount of raw brain power that is in every boy, it far exceeds any girl’s, which is why those guys who have their testosterone channeled into brainy tasks become geniuses, same can’t be said for girls. It’s the same thing with programming and any subject for that matter, if you want a smart person to learn something you’ve got to give that person a very good reason to learn it. Don’t assume because someone isn’t willing to put in the time and effort to learn some programming or any kind of task that they’re stupid.

George Carlin once said:

People who are just smart enough to run the machines and do the paperwork. And just dumb enough to (insert whatever you want here.)

parenthesis:

On the bge side, that piece of conversation that you attached frightens me because, from my limited perspective, it looks like they still don’t have a plan.
That plan should be quite obvious (at least, in my opinion): let the game engine use eeve and its data set.

To do that they have to find a way to allow the game engine to modify what eeve can render (which I suspect is a view of the data in the blender file) in a non persistent way (so that when the game ends the blender file is as it was before the game started).

Once you have that, you have your new game engine but this time without all the duplication of the renderer and its data structures.

@pgi: I’m not a professionnal but I think we have to choose what fits better the needs of a game engine each time we bring an eevee feature into bge. For example, I don’t see why we shouldn’t use our own struct/classes for some Objects if we don’t need some attributes/functions in another blender struct EDIT: and if we need other attributes/functions which are not in this Blender struct. I don’t know why we couldn’t have our own render loop if it fits better the needs of a game engine than viewport.

We already have our code with geometry instancing, VBO/VAO etc… and now it is up to date with core profile. BUT there are some cases where there are no reason to not use specific game engine code, if it is fast and makes the things easier for us and not too confused. So we won’t implement our own GPUShader, GPUUniformBuffer, GPUFrameBuffer… but we use the blender’s ones. Concerning EEVEE, we use its data and its API. And contrarly to what has been said the goal is not to “only” make eevee materials work in bge. There are ton of things (new probe objects, post processing, shadows, world… and what else?). So this is not an easy task considering that the viewport engine is not a “game engine”.

About what has been said on interaction/interactive mode, I don’t know about what we are talking about exactly. If it is Moguri’s proposal, I only read quick doc about but it seemed to me that there were only few things missing in current bge. In our 2.8 branches, we have ~the same render (for what has been implemented for now) than in the viewport so if you are working on viewport and want interaction, just put logic bricks on your objects and press P.

Concerning the “plan”, for me i’d tend to explain it like that: Port eevee features into game engine (and try to keep the game engine as fast as possible)

Autism is the overconnection of synapses,

Brain pathways that are reinforced “rise above the noise”

In general it is harder for people with autism to learn anything,
However our unwavering focus makes up for the inflexibility.

In short we can do anything a neurotypical person can.

Be it art, science, math, or music.

We are all different.

I would like to know where your studies on Autism came from, because a good chunk of what you are saying is just bunk.

Some of what you are saying about trouble with abstractions may have a grain of truth for the severely autistic (who are often very low functioning and struggle with learning), but there’s a lot of high-functioning autistic artists out there which are quite decent at what they do (with the ability to be creative and produce an amalgamation of different ideas and objects). It’s also not true that the autistic generally sees easy distraction, as one of the points seen in actual studies is a laser-like focus on subjects and hobbies of interest (unless of course a person also has ADHD which is grossly over-diagnosed anyway).

Onto the boys performing better than girls thing, anything to back this up (because a lot of studies suggest the opposite occurs more often than not)? Generally, I’m not going to say your posts are of ignorance, but people who act like they are experts on just about everything are sometimes seen as rather annoying.

Back on the autism thing, I happen to be one of those who you might think should be an incredibly poor artist on your logic (Asperger’s here), one look at my sketchbook thread should show otherwise.

There are many interesting points in Leinadien answer, I think it might drive us off topic but the truth is that a precise answer to the future of bge, at the current time, can only be “we hope”.

First let me say that this is not, in my view, an artist vs programmer debate.
For programs, text is provable better than node based structures.
Better doesn’t imply “good”: text is a piece of crap when writing code, it’s just faster to make sense of it rather than this:

That’s what node based visual programming is. It is not an accident, I wrote, as an experiment, such a system for bge, it degrades in the same exact and fully predictable way.
What the marketing division shows you is small, nice and dandy functions but that is not what you have to write for a game, or any program willing to rise above the tar pit level for that matter, the “all hell broke loose tree of despair” is.

Now, I wrote code for the better part of the last 35 years - yep, I’m a dinosaur - and each year I hoped for the next one to be the year we stopped using text (funny thing, at that time there was people seriously betting on the ‘star trek’ vocal interface: computer, do this and bang, program written. It didn’t happen, much like the helicopters instead of cars thing).

All software industry craves for something better than text. Last round was UML based code generators. We all hope for it to be ‘the’ thing. It didn’t work. They tried resuscitating the mathematical notation (Fortress was a notable attempt at it). Fortunately that didn’t work either :D.

We all are eagerly waiting for visual programming. That son of a gun it’s just not coming.

On the book subject, I’m all with you, there are some real terrible books out there.
An introduction that I can wholeheartedly recommend is this series of videos:

We might not agree on the reason why certain books are terrible. I think that the reason why they exist, in such poor state, it’s due to pop-culture. People think that programming is an act of creation, inspired by Calliope, guided by the winds, taught by druids to disciples.
It is not, programming is a strictly scientific endeavor, creativity starts when you think about the “program” you would like to create and stops right there.
And it doesn’t matter if you use a visual or text based language, those are nothing but tools you use to prepare the translation of the system’s model.
It’s still great fun and a truly inspiring experience.
Games can proof that to the public. Computer science: it gives you Dragons.

I will point out that a significant number of artists these days spend their day programming shaders in GLSL. And that’s not BGE specific. If you go and watch some GDC talks, you’ll find many artists talking math way over a typical programmers head (or at least, way over mine)!


At one point I was following the development of DescentUnderground, which is being developed using Unreal’s blueprints. As one person put it:

We spent the entire morning working that out, and came up with a formula that was super simple, that matched exactly. I was stoked. It’s gonna be like, two lines of code, I thought, and we’d have D1 flight exactly. I went to my charts, determined carefully what constants we’d need to put in to get an exact match, and waited for a chance to discuss it with Jason.

On Wednesday, we were able to discuss the flight model with Jason. I had a pair of equations sketched on a napkin – one for acceleration and one for deceleration – and asked if we could do them. He seemed to think we could. I said “Awesome!” and waited on pins and needles for the coding to complete.

. . . and waited.

. . . and waited.

A couple hours later, I came into the office and said, “I seriously was not expecting this level of pain!” I was thinking, quick implementation, validate it with some flight, and then make sure we’d gotten all the corner cases. Instead, Jason showed me a screen full of day-glo spaghetti (apparently that’s normally what Blueprint looks like when things get complicated), and said that he had the implementation mostly working, but there were some serious glitches. Like, every so often, the ship would just jump on its own.

That’s where we left it Wednesday.

On Thursday, we were still waiting for Jason to figure it out. As near as I can tell, he slaved over that flight model all day Thursday

The next day they discover…

There was a much simpler formula that would work. One that was actually easier to implement in bluepring, one that resolved the bug, and that gave me the double reverse thrust, and it was ONE LINE.

<snip>

It’s 4 PM on Friday. Everyone around the office is laughing and joking and getting ready to go home, and Jason is slaving away at implementing my new new formula just so we can get one more iteration on this. I have no idea what it is he likes, ice cream, bourbon, what? Whatever it is, guys, we seriously owe him some of that.

This time, it really does get done in half an hour. Translational and rotational. I’ve got my tweaked constants ready to go

For reference, I implemented a formula to model the exact same thing in one line, just as the poster mentioned. Graphical programming really seems to not scale well.

A similar project that only raised one third of the funding and started several months later, but developed in some C variant, is far closer to release.

Visual programming is not new. It used to be involved for programming hardware:

  • FPGA’s. In the beginning you programmed them with a text language called VHDL. Then GUI’s came along and you could program them with flowcharts. Now all the big vendors have removed the flowcharts, and guess what? They’re back to VHDL!
  • PLC’s. They used to be programmed in Ladder Logic (quite similar to bge’s logic system actually), but nearly all modern PLC’s run … a textual language similar to BASIC or C.

So what are the current issues with visual programming?

  • Complexity does not scale well
  • Hard to make modular
  • Hard to construct tests for
  • Hard to manage “code quality”
  • Hard to compare different versions of the same code (needed for meaningful version control systems)
  • Difficult to represent higher abstractions
  • Difficult to represent loops and state machines

I can say with confidence that the several multi-thousand-line-of-code codebases that I maintain and develop would not be nearly so easy to maintain in current visual programming systems.

HOWEVER. I do think that graphical programming does have a future. I just don’t think we can currently design the interface in such a way that it works for anything other than trivial cases. If anyone has any ideas for how to do graphical programming in a new/novel way, please let me know!


I have interacted with a lot of different programmers online and they all share similar personality traits and might all be on the “spectrum”

Yup, all good programmers are on the same spectrum, but it’s not one of “autism” - it’s something else that does not currently have a name. Similar to how every racing car driver has similar personality traits, all programmers behave in similar ways. If you want to understand a little about how programmers interact with normal human beings, have a glance at this article. It’s well worth a read. In short: programmers expect people to behave in predictable ways, and to contribute in a meaningful way. If a person is either unpredictable or does not contribute, then most programmers will have little respect for that person - often giving the appearance of being antisocial.

Pgi you’re right about programming, it’s more efficient and way more powerful than anything you could hope to use visual programming for. But is it faster to learn, is it easier to learn? Definitely not, with logic bricks you can in minutes have a guy jump around on platforms, behaviours that with C# would take me months to learn how to do. Some people have priorities and a finite amount of time and attention, they’ve got to spend it wisely. That’s the purpose of the logic bricks, that’s what visual programming is good for.

Onto the boys performing better than girls thing, anything to back this up (because a lot of studies suggest the opposite occurs more often than not)? Generally, I’m not going to say your posts are of ignorance, but people who act like they are experts on just about everything are sometimes seen as rather annoying.
That’s what I said, girls do perform better in school. My point is that this isn’t because they’re in anyway smarter, it’s because they’re better behaved. Schools and society don’t appreciate creative people, they’re competition and don’t make good workers which is why they’re given bad grades, unless they’re interested in a subject which isn’t very common for a person to be because of bad teaching methods. So don’t dismiss the bad boy, if he had an interest in programming he would probably beat you at it. It’s not stupidity in fact it could probably be thought of as intelligence to not be willing to put up with some teaching methods. This isn’t always the case, sometimes people really are stupid but let’s not go off topic. The best male student 9 times out of 10 beats the best female student at pretty much any subject.

Back on the autism thing, I happen to be one of those who you might think should be an incredibly poor artist on your logic (Asperger’s here), one look at my sketchbook thread should show otherwise.

Here’s a random 3d model I picked off of CGSociety.
http://cgimg.s3.amazonaws.com/t/g91/267391/1246145_large.jpg

He could probably create spheres and cylinders, could you create his 3d model? Probably not, and I think there is reason to believe few people on the spectrum are capable of creating something like that. It’s not hard to use a pencil or a chisel, but you’re no michelangelo. It’s a mistake for programmers to think they can do the artist’s work just as well, I repeat. In the 80s games were made by programmers, from the mid 90s to present time they’re made by artists. (Except crappy indie games)

VISUAL PROGRAMMING FTW!

Ancient Greek philosophy gave as logic and logic says that your profession is as relevant to the truthfulness of your statements as the flip flops I have (or might not have, live in wonder…) at my feet.
If what you say makes sense, it has to make sense by itself.

For that reason, I value what people says independently of what they are paid to do in life. You say you’re not a professional? I don’t care. You’re the reincarnation of Ole-Johan Dahl? I don’t care. But I might beg for your autograph, before telling you that I don’t care :D.

I’ll start from the middle. It makes no sense, but that point captured the attention of my lizard brain.
I strongly suspect (zero knowledge based statement) that by “interactive mode” they mean something on the line of what happens when, in the current version of blender, you preview an animation. The blender ui stops working, the blender renderer enters a loop and it starts processing actions.
It’s reasonable to try to do that because you’ll get rid of a lot (in fact, all, but it would have to be partially replaced with other stuff) of the game engine’s code base, while still having a game engine.
If you can keep the same set of use cases with less code, that’s good. That’s great, in fact, because each piece of code has a development cost, which is high, and a maintenance cost, which is crazy high.

That is a big IF tough, so big that it can make me jump to your first point (this was great, I’m patting myself on the back).
If your render loop fits better then needs of a game engine, then we’re no longer talking about the same set of use cases, and the need to keep the code base as small as possible looses to the need to have functionalities. The right choice would be to have two different loops, one for gaming and one for editing.
The same is not true for the other example. In that case, blender objects have more stuff than what you need for the game. Creating a copy of that data with less properties adds code but not function, it increases costs for perhaps convenience. Instead, being a C++ program, one might think of adding a narrower view of the same object, using an interface (which is worth the price of the added interface because… well, it’s a long story, it has to do with the effects of decoupling two parts of a system with an abstraction layer).

I know you have your own code, and you worked hard and admirably for it. But remember why bge became a zombie: at a certain time, the foundation couldn’t justify the investment of resources in it and all that bunch of code was left to rot because it was not part of the core system.
One day you’ll find a wonderful job in the software industry that will keep you occupied 25 hours a day and you’ll have to pass the ball to someone else. That’s the nature of open source software. Well, it’s the nature of community driven open source software, which is not exactly the way blender works, but I digress.
If no one catches that ball, the next bge will become the old bge in no time.
But if you stick the code right up the foundation’s nose, they won’t be able to get rid of it so easy this time. And that’s what we want. Stick a finger in the core-blender’s nose :D.

In any case, keep up the good work with upbge.

First let me say that this is not, in my view, an artist vs programmer debate.
For programs, text is provable better than node based structures.
Better doesn’t imply “good”: text is a piece of crap when writing code, it’s just faster to make sense of it rather than this:

I would say the opposite, I believe node based programs are faster (computationally) to prove than text (in general). I mean, just in terms of size, the set of programs you can write through nodes is probably much smaller than the programs you can write with text.

In any case, I don’t believe we’ll ever get something better than text for programming (unless we figure out how to read minds and make a “brain wave” compiler to compile thoughts into a program lol). Any type of “visual” programming style will never be flexible enough for general use, and if it does become as flexible as text, then you might as well use text. For specific use, visual programming is very important (modding, map editing, level designing, …) because it helps to tailor the tools for specific needs.

I have many friends that are jacks-of-all-trades, they program, animate, texture, compose and level design. If you want to be a one-man team though, the most important thing to do is to learn to code (the very basics should be enough), so I’d get on that Leinadien - join the rest of us autistics! Unless you’re rich, then hire a bunch of programmers to do that for you.