Scripts / DEV Help Please: Load Doors

Author
Message
CRF
9
Years of Service
User Offline
Joined: 9th Nov 2015
Location:
Posted: 17th Nov 2015 00:20
I'm still new and figuring out what the engine can and can't do.

I am modeling some buildings. I am going to create them with animated doors, but I would also like to create load door versions.

1. Is it possible to create a load door which can be used to enter a new game cell (a building interior), and then exit to the same game world cell you entered from? As buildings multiply in the world space, multiple interiors existing in the same world load would would begin to drag down memory and render resources horrifically - hence the need to present interiors as separate world spaces. (And I do realize that I can load new spaces as levels... that's not what I'm looking for).

2. Would returning to the previous world space (the exterior) reset that world space or would it retain condition changes to entities made previously before entering an interior cell?

3. Does the engine handle all of these above conditions automatically, or do I need to learn how to script (I hope not... who has 4 years free to school in object oriented programing?)?

4. If any (or all) of the above features are not yet implemented, will they be? And which ones? It would be highly beneficial to know now so that I can plan my asset creations accordingly (Not to mention my obviously-going-to-be-incredible game ).

Thanks for your time!

-CRF
PM
rolfy
18
Years of Service
User Offline
Joined: 23rd Jun 2006
Location:
Posted: 17th Nov 2015 01:01
If you keep track of entity numbers you could hide/show the interiors when entering and exiting your buildings, this would help with your framerates, this would be help better asked for in the script board. All the same with a new release this week which will improve culling etc you might not need to worry about it at all and I would wait to see if it improves things as is
CRF
9
Years of Service
User Offline
Joined: 9th Nov 2015
Location:
Posted: 17th Nov 2015 02:09
@rolfy

My knowledge is noob level. What I'm trying to accomplish is similar to what Gtox did with his Sci-Fi construction pack.

The devs have stated that the goal will eventually be an infinite world space. So if I were to say, construct a massive castle out prefab block units, with over 100 rooms and that was accessible through an open gate/door, I'm not sure how you would hide the interior as it would be part of the same world space as the exterior.

Place that castle in the center of a town of 25 houses, all with accessible interiors, and well, this is where my concern comes from.

My only experience with game construction so far has been with modding using the (admittedly advanced) engine used with Skyrim.

With the creation kit I could fashion interiors directly connected with the exterior, and also interiors which were their own world space, connected with a load door.

I do not have any OOP training. I possess only a vague comprehension as to when scripting needs use, and my experience with GG is still very new, which is why I asked if capabilities for placing load assets (markers) were already coded in, or if we could expect this functionality in the future. Also if changes made during game play in world spaces remain consistent from previous encounters when revisiting them.

Perhaps the devs plan a very different mechanic for handling this, or have no plan to make world spaces recyclable.

I honestly don't know, and my newness to both GG and the ongoing engine development may be contributing to my not thinking about this from the right direction, or asking the correct questions.

I'm sorry if I asked in the wrong thread... As I'm creating assets, this seemed the place. Chances are I wouldn't understand anything said in the scripting thread.

BTW - I love your work. My hope is to match your skill level in time.
PM
rolfy
18
Years of Service
User Offline
Joined: 23rd Jun 2006
Location:
Posted: 17th Nov 2015 02:51 Edited at: 17th Nov 2015 02:59
No problem with the board just saying you would get better suited help over there. There is a way to show/hide objects and pretty sure a script is available for this over on the scripts board.
If the engine handles culling appropriately then objects hidden by walls etc will be removed from the on screen render which will improve performance immensely, basically your interiors won't be handled by the engine until you enter and they are in view...in simple terms So hold off till the update and see if you require further scripting or not, of course it would still help, we used to spawn/destroy entity's in Classic FPSC through script to get a performance boost. You could also take advantage of the LOD system using very low poly meshes for interiors and use the highest LOD when close to entering for further boost to fps. If an entity isn't seen until entering you could even use a single poly as a placeholder lowest LOD.

Quote: " Also if changes made during game play in world spaces remain consistent from previous encounters when revisiting them."
This would be handled by save/ load which is pretty high up on the voting list
CRF
9
Years of Service
User Offline
Joined: 9th Nov 2015
Location:
Posted: 17th Nov 2015 03:01
@Rolfy

Thank you! I actually understood that! (Better mark it on my calendar LOL)

Out of curiosity....

If we DO end up with infinite world space, wouldn't the engine's tracking scripts eventually become over-bloated with time? After all, every tomato knocked off of a table will add to the tracking information.
PM
rolfy
18
Years of Service
User Offline
Joined: 23rd Jun 2006
Location:
Posted: 17th Nov 2015 03:08 Edited at: 17th Nov 2015 03:13
I am no coder so wouldn't have the slightest idea how much load this uses I assume since most of your level is static and if dynamic entity's are the only things to keep track of it shouldn't get too much. For example if an object is moved then the coordinates change but the old coordinates are no longer used and can be dumped so no gain in memory. Game should be running hundreds of scripts constantly and some would be ended and unloaded from memory after use so snakes and ladders I guess. I also assume that areas may load and unload all media and stop running certain scripts until that area is returned to. The idea of loading and unloading areas in a similar way to levels just more seamlessly.
Jerry Tremble
GameGuru TGC Backer
12
Years of Service
User Offline
Joined: 5th Nov 2012
Location: Sonoran Desert
Posted: 17th Nov 2015 03:14
Lua really isn't an object-oriented language. However, you can easily use it to enter/load (as another level) the interior of buildings or rooms. This may be necessary if you have a lot of rooms, and/or if those rooms contain a lot of objects that wouldn't be practical to include in your current level based on performance demands. You can return from said room as well, however, at this time there is no way to store data on either leg of your trip. I am not literate enough in Lua to say so, but one would think you could save any info already, though I don't know if those libraries as of yet are accessible by GG. Seeing DVader's launch of a separate program from within GG this evening, I am hopeful that it may be. I must delve deeper!
MAME Cab PC: i7 4770@3.4Ghz (passmark 9945), 12GB RAM, Win 8.1/64, GeForce GTX645 (passmark 1898); Shiny new laptop: i7 4800MQ@2.7Ghz (passmark 8586), 16GB RAM, Win 8.1/64, GeForce GTX870M (passmark 3598); Old laptop: i5@2.3Ghz, 8GB RAM, Win 7/64, Intel 3000 graphics
PM
Pirate Myke
Forum Support
14
Years of Service
User Offline
Joined: 31st May 2010
Location: El Dorado, California
Posted: 17th Nov 2015 03:58
I am guessing that the script board will do you better for this question.

Moving this thread to the script board now.

Thanks
Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz, 2400 Mhz, 4 Core(s), 4 Logical Processor(s), 8gb RAM, Nvidia gtx660, Windows 7 Pro 64bit

Login to post a reply

Server time is: 2024-12-22 07:32:36
Your offset time is: 2024-12-22 07:32:36