Okay here’s a quick question im just being curious over here , so the big question over here is
that is it possible to link seemlessly without the player knowing?
So let me break it all down here:
Let’s say that you are making a Game right and you are designing levels. So basically its a levels
type of game ,now you wan’t the player to see all the up comming levels from the first level. So basically scene 1 = Level 1 & scene 2 = Level 2 & Scene 3 = Level 3 and so on…
So now in Scene 1 is it possible to link scenes together? So that the player can already see levels 2 & 3
from level 1 which is in scene 1.
And thats not the end guys so now as the player gets towards the end of the first level which is in scene 1
The player can already see scene 2 ahead of the player and so if its a keep walking forward or run …
then the player instantly runs into the second scene without knowing that they’re in the second scene but
they know that they are in the second level.
If the player decides to look behind he can easily see the previous level and even go back…
SO WHY AM I SAYING THIS BECAUSE I WANT TO KNOW IF SCENES CAN BE LINKED AND SEEN ALREADY BY THE PLAYER WITHOUT THE PLAYER GOING THROUGH LOADING SCREENS !!!
Is it possible if so then how can it be done this should be a technic that can be used for open Levels being loaded seemlessly without loading screens ,will it have a negative impact on performance? Can blender cope with 100 levels?
For one scene to be visible from another it has to be loaded into memory. So yes this is possible, it would just strip any performance advantage of having separate levels.
Be aware this is not a trivial “problem.” To build a properly robust system, it’d take several weeks. One resource I did make along these lines is a so called ‘open world template’. It loads/frees chunks of a world (a very simple world) as the player gets near them: Open World Template.zip (1.07 MB)
Basically the naming of the blends in ‘Sections’ tells the system when to load them.
That they share is the screen in front of the player and the time (assuming the scenes are running at the same time).
You can present them in a way that it looks there is a relationship. This is a need trick to add a background scene without the need to worry the player can ever cross the back plane.
To follow what sdfgeoff mentioned, this is not a trivial or easy problem.
I think you should fake your open world, like how the first 3D Zelda games had (any many after).
Have a “visual” in Scene 1 for Scene 2, and when you walk near this visual, you transition scenes. You can see examples of that in OoT let’s plays, and it’s worth doing for most “open-world” games and indie game developers.
Edit: This is basically what Monster has suggested.
As sdfgeoff said, forget about scenes if you are making open world game. Use only blend files and libload. However the most important thing for open world games is LOD system - when to load an object, how to handle it (distance) and when to unload it from your scene.
This is very tricky and very, very hard to do even you are CD Project and making The Wither 3 this is still a huge problem. It is not directly connected to what the engine can do, but what tricks you can do about it.
My advice is to stay away from open world games unless you are experienced multimillion game dev company.
This uses a kdtree to turn objects visible and invisible and remove/add physics
One could use the same system instead, to add a object from a hidden layer and deform it 1 time, set it’s normals, vertex color and Reinstance it’s physics mesh, it would only be adding a few tiles at a time ever, with static draw call batching and splat mapping the world could be massive and look convincing.
(rather then invisible/no physics terrain and structures load in and out)
was the most awesome way to make a huge open world IMHO. I think It quit working in recent versions and I never could modify it to my own needs (damn shader language ::Shakes Fist:
The general method is to use separate .blends and libload. I personally use scenes, because it is easier and unloaded scenes are using up RAM and not CPU power. (What I mean is, so long as a scene isn’t active, it will not be putting strain on the CPU) Even if you’re final game is over a gigabyte it will still easily fit into the RAM of most modern computers. There are some programs which will load entire games (like skyrim or Witcher 2) onto the ram of a pc to shorten the loading screens.
My point is that if your game is aimed at computers made in the last 10 years or so which would have at least 4 gigs of ram you shouldn’t really have to worry about splitting up your game to save memory, as the entire game will most likely easily fit onto the RAM. Optimizing the individual scenes for the CPU and GPU is what you have to worry about.
I think Openworld videogames are fun to experiment with.Even if you are not good at it.The fun is having a massive world that you can make.I only wish they were more easy to make.
I think the only people that can talk about BGE’s “limitations” are those that know every bit of it.
If you don’t know a good amount of techniques and tricks, then it’s unfair.
Your skills and your creativity are what limit it.
And the title does not have anything to do with the content. Why?
Well i think that using blender’s Lod system is just about the best way to use for an Open World !!! Also turning shadows off is a good idea saving us a huge amount of performance for an open world Game.
I think that im also going to give this a try:
Originally Posted by superflip View Post
What about linked blends over libloads. I remember doing this in the past. Just don’t remember the pros/cons. Also to me…This https://blenderartists.org/forum/sho…-(glsl-shader)
was the most awesome way to make a huge open world IMHO. I think It quit working in recent versions and I never could modify it to my own needs (damn shader language ::Shakes Fist:
Are all possibilities in the Blender Game Engine endless? Despite all its Limitations
I think the only people that can talk about BGE’s “limitations” are those that know every bit of it.
If you don’t know a good amount of techniques and tricks, then it’s unfair.
Your skills and your creativity are what limit it.
And the title does not have anything to do with the content. Why?
I truly agree to your statement Thank you for your response.
Response to Lostscience /Originally posted by Lostscience:
I think Openworld videogames are fun to experiment with.Even if you are not good at it.The fun is having a massive world that you can make.I only wish they were more easy to make.
Dude they can be made on blender i think that it just needs abit more time dedication and skill. So little bit of persistence
should get you going well of to start with.
It is said that 1 needs to perfect/polish the open world before players can start having fun in the actual world !!!
the bge needs shadow cascades and terrain lod like in modern engines. i think these are the biggest limits.
heres how i get shadows in big worlds: i have an empty with my sun parented to it with a z local position defining the offset, and rotating the empty for the angle. then, i constraint the empty to the active_camera world position. you get pixel wiggle when get camera moves, but i can live with that.
Hey guys so because now im using Cars in this case how do i now spawn them in to the Main world scene after the player has successfully
selected the vehicle they wish to drive?
Must i link the vehicle from its own blend file into the main world scene first and then ,spawn it directly after the player’s selection? How can that work / is they a better way of doing this? (please if there is then please demonstrate)
Ideology : Scene = variety of cars > Player selects a single car > Main world scene car is spawned directly
and player can drive. Look i don’t know im just doing my best at designing this system…
i have a Game Assets.blend in which all my objects and vehicles are in, then i libload that scene at level start so its all ready access.
in the car selector, have it save a variable into the logic.globalDict to be referenced when spawning your car. preferably, the cars object name which you can plug right into the addObject(). you can even check if the variable is present, and spawn a default car if you start the game right in the map for testing.
designing a stable system is alot of trial and error. its like a big problem solving game, which is why i love it.