Whats the BGE progress?

In BGE: I made simple terrain in Blender. Saved. Downloaded 3rdPersonCamera from these forums. Opened it in Blender; works. But I have no idea how to combine the terrain scene and the 3rdPersonCamera. I asked it in these forums, but got no real answer.

BGE needs similar usable templates. The player character is so well known entity that today nobody should need to code a line for it.

This is not right, if you don’t need to code then where’s the fun? Game Dev is not supposed to be easy, otherwise crappy games are made (Take Steam for example, it’s full of crappy games made with Unity with paid assets). That’s why we don’t see crappy BGE games on Steam.

But I have no idea how to combine the terrain scene and the 3rdPersonCamera. I asked it in these forums, but got no real answer.

If you don’t know how to “File -> Append/Link” then you need to watch more tutorials… No wonder you got no real answer…

yeah, but unless your making a robot-themed game about Epic studios, you wouldn’t want to use the robot character in your final game anyway. CryEngine did the exact same thing, provide the new users with a bunch of high quality assets and a character to start building a game with. The thing is, your probably not going to use those assets in the final game anyway, so while they might look good in early testing, in the end they are useless.
in blender, setting up a basic third person character (although the model would probably just be a cube) takes around five minutes. You get to create and understand how the logic bricks work and you have control over all of the characters behavior. The Unreal Blueprints are strange and confusing compared to Logic Bricks or code. As for moving your terrain into a new scene in blender, crtl c, or just appending the model should work.

One of the benefits of using unity or unreal, is you’re not hacking stuff to get, good real time mirror reflections and emission planes. The lighting system just seems to much better as well. Overall much more polished.

Just playing around with unity, I’ve got to admit coding in C# seems a bit difficult. You got templates/generics and quaternions. It’s quite confusing. Just miss the overall speed of blender where you can use hotkeys to rapidly scale rotate and move objects around.

Manipulating objects in unity is much much slower.

The particle system in unity is really polished though. Not to discount any of the efforts made by fellow blender users. But it would have been nice to have a particle system that works out of the box in BGE.

Ok, so the conclusion is that we will have to wait for the opengl re-code. So no hardware instancing and hardware skinning yet. And the render engine is not yet up to date with the latest opengl like 3.3.

BGE needs similar usable templates.

There are quite few good templates in resources. Theres a 3rd person armature complete with animation, run, walk, jump, punch, kick, army crawl, and more. All you have to do is parent your human mesh. (Armature is parent) Mobius made a nice camera follow that works well this armature. There are first person templates, Socials FPS will still work last I knew. and a few more, might have to tweak them a little, you just have to look for them.

The Unreal Blueprints are strange and confusing compared to Logic Bricks or code.

That’s the truth. Holy crap UE4 Blueprints are hard, but I’m learning, slowly. I like BGE logic bricks much better. I wish there were more of them. Copying properties from other scenes would be nice. But there is a python script in resources that does that well.

Manipulating objects in unity is much much slower.

I agree, it was always a chore for me to move around in Unity 3D view. Plus Unity was a little too heavy for my poor old machine. UE4 is nice because it uses the WASD and mouse buttons to move around in the 3D view, just like playing a PC game.

Particles in UE4 are really good also. Particles bounce off walls and floors, shed light onto walls and floors, also receive light from lamps etc. They also have a built in LOD for particles.
BGE should have particles for sure. But I suppose you could always make your own.

I still like Blender better, any version from 2.49 to the current version is fine for me. But if I wanted to make a full blown game with as many missions and levels as “Far Cry 3” for example, that’s where Unity/UE4 would be better.

For me on my low-spec Linux machine it is like so.
Unity:

  • Assets Store doesn’t work. Just doesn’t. Shows up white. Appearantly a bug of Linux version.
  • Can’t drag windows.
  • I can’t find a way to manipulate object transparency.
  • The UI - damn! It is such horrible. It looks such old(maybe in pro version it looks better?).
  • Building often throws issues.
  • I understand neither C#, neither JS.
  • The graphics are fine.
  • Community sucks. Maybe I could get used to Unity’s community and then when I’d try Blender, in it’s community I’d feel like in heaven.

Unreal Engine 4:

  • Nice UI.
  • The system looks pretty nice.
  • The graphics are awesome, but hard to setup.
  • The engine lags like a sh*t.
  • After I press the close button, I have to wait several minutes before I close it, than I have to wait 5 mins, than restart to gain back normal computer speed.
  • Playing in low resolution the TPS or basic car template results in 30 FPS, playing full resolution results ~15.
  • The advanced car physics template appears to be broken, all the LODs act strange. Sometimes I even don’t see car. Mostly I see max 1 or 2 objects of scene(like a tile of road and decal or something like that, it flickers very often), but the terrain surface is visible all the time. The FPS is around 10.

After those rewievs you can see why I really don’t use them even for testings. And for CryEngine - it is not possible to get it running on Linux at all:D Yeah, Blender is good engine. Just needs a lot of good devs and money to progress. If I’d finish a game and successfully sell it, I’d have a bit to donate for BGE:D

Yeah, I gave up on unity after about 2 days testing, it just seems lke too much hard work to learn another tool. I left it on my mac just in case, because at least it is lighter than unreal engine, but I’ve gone back to blender again, and breaking out python to do things more programmatically.

Something about this thread seems… familiar

Little stability is the biggest problem I have with Unity. That and the fact it lacks what I would consider “basic” tools, such as splines and a model viewer. Ironically, the fact that blender uses Python is probably my biggest issue with the BGE. For others, python is what keeps them using it.

How is Python a problem? Because you don’t like the language or because you want more logic bricks? Logic bricks are implemented with C++, that’s a lot more complex than Python.

Python is a lot slower than something like C# due to it being an interpreted language and not a compiled one (but the trade-off is that you don’t need a compiler at all).

Logic Bricks in contrast execute C++ code, so a mechanic done by a logic brick is much faster than a similar one done in Python. However, the logic bricks have a number of limitations that have not been resolved in over ten years (cannot use properties as motion values ect…).

My problem with logic bricks is readability and spaghetti blocks, especially if you have hundreds of objects in the scene. Each object could potentially have its own logic brick. Not sure if you can easily inspect in the properties window what objects have a logic noodle but I couldn’t find a way other than clicking through each object or naming the object with something unique to identify them as logic bricks.

Python, as an interpreted language will always be at the lowest end of the scale in performance, but the upside is duck typing and easier to understand syntax. Of course people used to java or c# style syntax will always complain. The white space indentation style can take a little getting used to.

Unity uses c# or mono which is a cross platform implementaton of dotnet. To be honest, it hardly matters as the unity API just like blender’s game API is what you need to be alert to. Languages that use JIT or just in time compilers are faster than scripts but not as fast as c++.

Still, all this being said, I’d rather develop a small game in BGE, as a fully playable game with great optimazation and AAA graphics are no way near on my horizon, and of no real concern to me.

How is Python a problem? Because you don’t like the language or because you want more logic bricks? Logic bricks are implemented with C++, that’s a lot more complex than Python.

you technically can use C++ with blender, but it’s difficult because you have to add what you want in blender source and than recompile. If blender was able to use another language like C#, I would write code in the BGE more often. As a programmer, I’m just too used to more structured, common, languages like Java and C# to want to learn a completely different language like Python.

 Many people complain about the blender logic bricks beginning to look like spaghetti after awhile. I used to have this issue until I started using the state machine. For those who don't know, it's located under the controller bricks in the logic editor. It essentially allows you to organize your bricks into different layers. It also lets you do testing, because only the bricks in the layers that you want to test will fire, letting you test if specific behaviors work.

The same procedure as last year, madam?

Logic Bricks are only meant to be used for smaller actions like opening a door when the player hits it’s collision box.
For complex things like character behaviour the python interface was made.
I think there isn’t a single gameengine with which you can create a complete and polished game using logic bricks only. It would be very hard to maintain. Even GDevelop or Stencyl use pre-coded behaviour bricks for complex stuff like jumping.

In theory that’s bad, in practice it’s irrelevant. It doesn’t matter how slow Python code is if it’s fast enough to run my game at 60fps. Most of the functionality you’re going to use in BGE through Python is actually implemented in C++. People makes games in javascript (HTML5), in Java, ActionScript or Lua. Those are also interpreted languages, they are also slow, but games are still made with them, why? Because they are fast enough.

FreatsOnFire, for example, is implemented completely in Python and it’s good. Ren’py is also another example.

You can make pretty good npc behaviour with logic bricks.I have done some.

As a coincidence, for my new game that will never be finished, I’m working on a bge module that allows scripting through a java virtual machine, because I intend to use scala to write the logic. A side effect is that it also supports scripts written in any language that “runs” on top of a jvm (Python, Javascript, Java, F, Clojure, Kotlin and tens more).
It’s not hard at all to do (I did it, so a blind baboon also could) but, if I recall correctly, last time I tried to whisper about the possibility of something like that I was told to shut up and write some documentation if I really had time to spare. So I don’t think there is much interest in alternative languages for the bge logic.

What are the benefits of doing that?

xLostscience
For my project, the benefit is that I can avoid python. For a broader audience, you add options to the user, for a very tiny, little price in terms of code maintenance (for non compiled scripts the system requires a dedicated ScriptLoader).
For example, I would expect artists to be more familiar with javascript than python - because of web related jobs in the field. That’s not an option right now. LUA is (or was?) quite widespread in the gaming field. That’s not an option either.
It is the kind of option that allow user to take with them their previous knowledge if they decide to try bge.
At no extra maintenance cost, I want to stress this. You can write 3000 interpreters and have 3000 languages, but then you have to update 3000 different modules every time you change something.

I’m not quite sure about using vms or frameworks…

This is why it slightly scares me to use mono on my mac that comes bundled with unity. I’m not quite sure what happens, does it install the mono runtime, will I be at risk of dotnet related virus’es. Will my mac sandbox the mono runtime?

If it was me, I would have gone one better and opted for a nice language like google go for scripting, it out performs any scripting language, is compiled but has a much nicer syntax than c++. Plus you don’t need to put your machine at risk with dotnet and java alternatives. It just makes me shiver to think I might be using something like this.

Can anyone clarify how unity uses mono? Otherwise I’m gonna uninstall this pronto!