Prepairing the BGE for upgrades, then Kickstart

Thanks for your insight BeerBaron

I plan on making levels out of the same 32 pieces, over and over, with different UV maps,

so that is 32 draw calls, to draw 1000’s of pieces, and I think the technique has been used before elsewhere but I am not sure.

If it’s not that great of a savings, that is good to know, same goes with static draw call batching,

I will focues on the android port, the reason I was considering static draw call batching and instancing was to make up
for the low power of current android GPU compared to desktops… I will have to reconsider my plans.

I was going by this document -
http://rastergrid.com/blog/2010/10/gpu-based-dynamic-geometry-lod/

I will focus the kickstart on 100% bge android compatibity including libs and events like touch, accelerometer etc.

If it’s not that great of a savings, that is good to know, same goes with static draw call batching

No, you absolutely want to cut down on draw calls on mobile, but not necessarily with instancing. When instancing, you draw the same data multiple times. With static batching, you combine lots of meshes into a single mesh. It is irrelevant whether those meshes are all the same (you may be able to use all your 32 pieces at once). What matters is that they all fit into one draw call (same shader, same textures, same uniforms). Note that you don’t need a system to achieve this effect, you can just combine meshes in Blender - but it’s of course more convenient to have a system that detects commonalities and does the work for you.

Edit (In response to you posting that image):
This is a really fancy instancing/LOD/culling approach. This won’t work on mobile, as it uses lots of features that aren’t available there at all, like geometry shaders and transform feedback.

So that type of LOD/instancing/culling would probably be good for the bge, but not for a android port ?

I wonder if there is a method to stream data from a file into and out of a .blend using a loading bubble?

have linear velocity change the shape of the bubble? libLoad/libFree tend to crash, and are not really as good
as a solution as something like ‘The bubble’

A legal question here, probably if bge gets portability to android more people will do games for mobile but

  • does android or ios or GPL supports open source engines to be sold at privative stores?
    -if games can be sent to stores, who its responsable to check on every game if the developer leaves access to the repositories?, because by blender’s license you are obligated to give access to the source code.

a seperate blend opened by a blender player needs no GPL,

the blender player is GPL not the .blend

there has been work to encrypt the .blends,
this way a hacker would actually have to understand the source
enough to get the encryption key from inside the
blender player to open the .blend to look at assets.

So the bussiness plan its to sell encripted blend files that the clientes will open with blender, like a console game?

It simply won’t work on Android. I don’t think this approach is good for anything at this point, pretty much everywhere you used transform feedback and geometry shaders in the past, you will want to use compute shaders now. (This article was written before compute shaders were available in OpenGL)

You don’t have to do LOD and culling on the GPU, either. Most games probably don’t. You can save yourself a lot of trouble by not forcing things onto the GPU.

I wonder if there is a method…

There’s all kinds of methods for basically anything. Do the simplest thing that could possibly work. Many games don’t need LOD or level streaming at all, don’t assume that they do. If loading assets from a file crashes, that’s just a bug that needs fixing.

NOT LEGAL ADVICE:

the blender player is GPL not the .blend

If you redistribute the Blender player in binary, you must offer to provide the source code upon request to anyone who receives that binary.

Contrary to what seems to be common wisdom, you also have to offer all the source code for your scripts. The fact that you stored them in .blend files (encrypted or not) is irrelevant. Unfortunately, the official Blender FAQ got this wrong for a long time.

Citing from the GPL FAQ:
“[…] However, when the interpreter is extended to provide “bindings” to other facilities (often, but not necessarily, libraries), the interpreted program is effectively linked to the facilities it uses through these bindings. So if these facilities are released under the GPL, the interpreted program that uses them must be released in a GPL-compatible way.”

The game engine quite clearly binds the python interpreter to the game engine facilities, which are licensed under the GPL. Therefore, any script that calls any game engine function must also be licensed in a GPL-compatible way.

The current FAQ correctly states:
“Python scripts – if they use the Blender API calls – have to be compliant to the GNU GPL as well. We are currently reviewing this with Free Software Foundation though.”

You sell the blender player bundled with the .blend

but 1 marketplace that links to all blendergames would
be pretty neat.

And I have not really even pushed my alienware alpha
on the bge yet graphically, I just have been trying
to get older hardware running with decent fidelity.

Can people sell bge games on the blender market right now?

so why is the answer different everytime I hear it?

everything on the blender market is gpl?

any games loaded from external libraries are gpl?
if blender loads something off the net that is gpl?

Wrectified is already do to be cc 4.0

BPR, The bge is outdated tech. You might want to take this engine ( http://sourceforge.net/projects/isdge/ ) and to port some of the bge into it. It will do the Mobile in a better way!

1.) This licensing stuff is complicated and non-obvious
2.) A lot of people (including the Blender Foundation) would like that the GPL does not force scripts to be GPL-compatible, even when the GPL FAQ clearly states otherwise
3.) The GPL-FAQ intepretation is not necessarily the same interpretation a court might follow, should it ever come to such a case (so far there hasn’t been one)

everything on the blender market is gpl?

Yes, every script on the Blender Market is licensed as GPL or GPL-compatible. As a consequence, everyone who receives a copy is entitled to freely redistribute scripts from the Blender Market.

any games loaded from external libraries are gpl?
if blender loads something off the net that is gpl?

It does not work that way. If you publish a game which contains scripts (that use the BGE API) and you do not license your code in a GPL-compatible fashion (could also be MIT or BSD licensed) you are in breach of the GPL license. That means your license to use the BGE is automatically revoked. In practice, this is just another legal liability. It seems unlikely that anyone would actually enforce the GPL against you. (Again, this is not legal advice)

Wrectified is already do to be cc 4.0

CC licenses are not meant to be used on code. For the code, choose a license that is GPL-compatible, such as GPL, LGPL, MIT, Apache, BSD…

You’re making a lot of assumptions there. Sure, the BGE might be old cruft, but all codebases eventually have that property. In terms of design, the BGE is still more “modern” (for better or worse) than the C-based core of Blender, which I shall assume will somehow be the part of the interaction engine as well? The current BGE also has the property of actually existing. Whatever its failures are, it is well-tested and (I believe) pretty stable. The “interaction engine” has no developers, no development plan, no design document - for all I know it only exists as an idea casually mentioned in various blog posts (and forum comments).

This seems about right to me,
for all it’s flaws, The bge is a brute at what I use it for,

it works well for me,
I don’t know where it’s weaknesses all lie other then things need to be more compartmentalized so an upgrade is not pulling teeth.

then a upgrade needs to be made,
I think there has already been some large refactor patches accepted in the past.

^^ This ^^


The refeactors have already begun,

there has also been work to seprate the functions
used by logic bricks from inside the code for the logic bricks,
exposing the functions to the API.

Hundreds of bugs have fallen,

new features have been added.

Read the commit logs for Tristan (PanzerTank), Or LordLoki , or HG1

HG1 fixed the world shader and exposed it to python,

The engine can now add groups with rigid body joints
(my first request)

The bge, you used to know, may not be the BGE that is.

the refactor is a bit like dividing a Conjoined twin while they do the backstroke ,
from what I understand, however efforts have been made and succeeded.

https://developer.blender.org/differ...ors=panzergame

https://developer.blender.org/differ...mMMAh1mGejk/#R

https://developer.blender.org/differ...8JZJZ6sLOku/#R

I think the bge users are having a hard time organizing themselves in order to fund some new features. But thats understandable since the world of game engines got democratized.
But im curious to know what is needed to finalize the bge to make android games?

Library work,

touch screen events

The render needs to be isolated to 1 file and use hooks to get at functions in other modules,
so that it can be replaced by a android version, or a new desktop version as a stretch goal

Moguri said it would take him about 1 week full time to repairer/prepair for the ability to use a plug in render

brita said it could take months to write a android compatible render, but I did not get a response back from moguri,

I will see if I can get a dev to sign on, moguri did not say no, but he did not say yes either,

I will get a more detailed plan together and then launch the kickstart, I put it on hold until I have a better campain

I see, yeah more planning and detail is need for the kickstarter.

talked to panzerTank for a bit, he says he would do it, but has not messed with
android enough yet,

Since this thread has such a clear topic of “Fund Raising for Game Engine Improvements” I thought I’d give my input:

I went for a 64k bike ride around my surrounding area yesterday. It was a really nice day.

My bike is a 25-year old mountain bike that is heavy, at 38-pounds, but it gets the job done.

It’s blue and green, and is in good shape. It is slower, but can still do anything a new bike can do

Did I tell you about my bike?

Bike. Bike. Bike. Bike.

I wish I could go bike rides,

I take care of 2 people, and even at night they need me,
I have not had a day off in 3.5 years…

I used to walk across the country, (literally)

that said. If your rim bearing was old and bad… and slowing
you down

I would find a way to get a new bearing,
not buy a new bike.