Game Programming Technicalities Question

Anything not relating to the X-Universe games (general tech talk, other games...) belongs here. Please read the rules before posting.

Moderator: Moderators for English X Forum

Post Reply
User avatar
Alee Enn
Posts: 2575
Joined: Sat, 28. Mar 09, 16:03
x4

Game Programming Technicalities Question

Post by Alee Enn » Wed, 26. Dec 18, 20:58

I know nothing about programming, or game programming, but I can still have questions.

So the TARDIS ... bigger on the inside than on the outside. Now, if I was to make a box in a program like Blender (I'm sure there are better programs out there, but like I said, I don't know anything about programming, so forgive me) a regular cardboard style box, with four sides and two flaps on the top and two flaps on the bottom. The box would have a tangible inside and an outside and the inside would be smaller than the outside.

But what if I was to want to make the TARDIS? Making the outside, the Police box is easy. Putting doors on it that open is easy. Making the inside hollow so you can stand inside it is easy. But what about making the inside bigger than the outside while still having the outside?

I'm not explaining myself very well, please forgive me. Still thinking in computer game realities .... what if I opened the door to the TARDIS, walked in to the inside (which is bigger than the outside) and left the door open, while my friend (or other player) was stood outside the TARDIS with it still being Police box sized on the outside? And be able to walk around it, while I in the same instance, with the TARDIS door open, and stood inside it?

**NOTE** I have no desire to make a TARDIS in a computer game, and as stated, I know nothing about programming as I don't have a brain capable of understanding programming (yes I have tried). I am merely asking from a theoretical point of view if, as far as making it in a computer game, it is possible ... also don't ask which computer game, take it as making it in Blender (or other program) FOR a computer, and whether it could be done without a loading screen or transferring to another instance.

I hope I explained it clearly enough .... somehow.
Formerly "Alien Tech Inc."

Rapier
Posts: 11373
Joined: Mon, 11. Nov 02, 10:57
x3tc

Re: Game Programming Technicalities Question

Post by Rapier » Thu, 27. Dec 18, 00:03

Portal. The game, and the portals within them. Basically, you could see and walk from one part of the level to another. In that case, they were parts of a continuous level design, but there's nothing stopping you having two disconnected (other than the TARDIS door/portal) areas in the same level space - one is the outer level and the other the TARDIS 'within' it (from the point of view of the player). I think this would pretty much give you what you're describing.
Rapier - The Orifice of all Knowledge

Godwin's Law is not one of the Forum Rules.
Search just the forum with Google

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Thu, 27. Dec 18, 21:16

Alee Enn wrote:
Wed, 26. Dec 18, 20:58
...I'm not explaining myself very well, please forgive me. Still thinking in computer game realities .... what if I opened the door to the TARDIS, walked in to the inside (which is bigger than the outside) and left the door open, while my friend (or other player) was stood outside the TARDIS with it still being Police box sized on the outside? And be able to walk around it, while I in the same instance, with the TARDIS door open, and stood inside it?...
All of this is "doable" but it is strictly dependent upon the engine being used.

Just remember that all computer "3D" displayed on a "2D" computer screen is a lie. It's all lies... All of it. :) It is no more a "real space" in a 3D display than there is in your own dreams and it's all controlled to be experienced however the designer wants you to experience it. That being said, efforts are usually made to make it as realistic an experience as possible. But, that's by convention, not by necessity.

What you're describing is not difficult to do, but it really depends on the tools the game/rendering engine gives you. It could even be done with a very basic rendering engine, but there would be some caveats depending upon the point-of-view. Some very old MMOs were capable of this long before any of the much more advanced game engines were thunked up. Remember - It's all a lie. :)

PS (add) - I know nothing of Blender's game engine and am only mildly acquainted with Cycles, Blender's material set. I don't see why Blender wouldn't have extensive camera controls available to you. At the most basic, using the most hamfisted method I can think of, one could animate a dynamic texture to be the display for a camera view relative to the position of a user avatar. That would be a terrible way to go about doing it, but it'd work.(Would likely result in a "slideshow" experience, considering the overhead, whenever a player's view encountered that texture. :)) I'm sure Blender's game engine would have a better method, but I'm just demonstrating a way it "could" be done, no matter how undesirable that method would be.

I you want to use Blender's game engine for this, you'll need to post in the relative forum for game development. Since the community is pretty supportive, I'm sure someone would be able to give you some tips.

User avatar
fiksal
Posts: 16570
Joined: Tue, 2. May 06, 17:05
x4

Re: Game Programming Technicalities Question

Post by fiksal » Mon, 31. Dec 18, 06:58

I havent tried this myself in Unreal, but looks like Unreal can do portals. (As I expect it to)
https://wiki.unrealengine.com/Simple_Portals


And an fyi, Unreal is a fairly free game engine that you can download and use. I (currently) recommend
Gimli wrote:Let the Orcs come as thick as summer-moths round a candle!

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Mon, 31. Dec 18, 12:59

fiksal wrote:
Mon, 31. Dec 18, 06:58
I havent tried this myself in Unreal, but looks like Unreal can do portals. (As I expect it to)
https://wiki.unrealengine.com/Simple_Portals
...
Neat. Though, maybe that's only one-way in that demo? One should,though, be able to sort of nest them and then make set invisible/disappear depending upon the location of the avatar. Probably? Or, maybe a script that would switch the material source to be reversed depending upon the avatar's position?

Unreal's node-based mats and modular structure for just about everything, overall, is pretty darn cool.

User avatar
fiksal
Posts: 16570
Joined: Tue, 2. May 06, 17:05
x4

Re: Game Programming Technicalities Question

Post by fiksal » Mon, 31. Dec 18, 16:24

I am not sure but it appears to be the right kind of portal.

You can use of as a mirror or a window and below it explains how to teleport target. So that's effectively walking through it.
Gimli wrote:Let the Orcs come as thick as summer-moths round a candle!

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Mon, 31. Dec 18, 22:28

fiksal wrote:
Mon, 31. Dec 18, 16:24
I am not sure but it appears to be the right kind of portal.

You can use of as a mirror or a window and below it explains how to teleport target. So that's effectively walking through it.
It's the right kind of mechanic, to be sure. I just looked at the node structure (pics) in my first post, not knowing much about Unreal's specifics, and then tried to interpret it based on the little I know of general node-based material structures. I was wrong, of course. :) It first looked like it would only work if, for instance, the player was looking at Portal 1 getting a feed from Portal 2's camera position and not vice-versa. But, that's incorrect, which I learned after reading the accompanying text. :)

^--- TLDR: Dum@ss didn't RTFM. :)

User avatar
fiksal
Posts: 16570
Joined: Tue, 2. May 06, 17:05
x4

Re: Game Programming Technicalities Question

Post by fiksal » Tue, 1. Jan 19, 04:23

I cant say if this will do exactly what the Portal (game) does. But aside from this sexy gameplay mechanic, portal mechanic is fairly useful thing to have in an engine. From multi process / multi node communication to transitions between scenes / environment that happens without you noticing. I'd expect, Unreal has a solution for that.
Gimli wrote:Let the Orcs come as thick as summer-moths round a candle!

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Tue, 1. Jan 19, 10:46

fiksal wrote:
Tue, 1. Jan 19, 04:23
I cant say if this will do exactly what the Portal (game) does. But aside from this sexy gameplay mechanic, portal mechanic is fairly useful thing to have in an engine. From multi process / multi node communication to transitions between scenes / environment that happens without you noticing. I'd expect, Unreal has a solution for that.
Well, for the materials, actual, working, "Security Cameras" are cool. :) Though, it'd probably have to be switchable, since a full bank of those might result in a slide-show. (Dynamic render to texture function)

On transitions, it'll work, but certain camera effects can't be done, at least according to the text. ie: No antialiasing in rendered frames. There are probably others like certain lighting effects, etc, that wouldn't be done, either. An ambient node might work for some, but I don't know how Unreal would handle that there, like for the ambient display of a television and casting shadows with it. (Another oddity is that the rendered texture is at the same resolution as the game. I imagine some camera fudgery would make that work fine, though. Still, it's rendering that second camera at full res and then translating it for the Render-to-Texture function. It makes sense, given that it's all dynamic and it's better than the vidcard coughing up blood or something. :) )

I found this for seamless transitions: https://docs.unrealengine.com/en-us/Eng ... lStreaming (ie: preloading)

The portals would work great for "Portals" (Like in "Portal)") but not seamless transitions I wouldn't think. They "could," though. But, that doesn't seem to be what they're for. I wonder if they could be combined, though? ie: Camera for the render-to-texture in one instance while the avatar watches a sort of "security camera" live feed in another? I bet something would break, though. ie: "Can't Find Local Camera Ref" etc..

User avatar
fiksal
Posts: 16570
Joined: Tue, 2. May 06, 17:05
x4

Re: Game Programming Technicalities Question

Post by fiksal » Tue, 1. Jan 19, 16:50

@Morkonan
Good questions, - I dont know. Best to just try it :)
I've not implemented this in any games, nor I tried it in Unreal. Maybe I can give it ago at some point.

Yes, I wasnt talking about Streaming. Mostly thinking back to how a character would transition/teleport from outside and into a building. This was done in some games like that.
Gimli wrote:Let the Orcs come as thick as summer-moths round a candle!

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Wed, 2. Jan 19, 07:16

fiksal wrote:
Tue, 1. Jan 19, 16:50
@Morkonan
Good questions, - I dont know. Best to just try it :)
I've not implemented this in any games, nor I tried it in Unreal. Maybe I can give it ago at some point.

Yes, I wasnt talking about Streaming. Mostly thinking back to how a character would transition/teleport from outside and into a building. This was done in some games like that.
It depends on how that "teleport" is done. Doing it seamlessly generally requires preloading/streaming. (Open the door and walk in) But, if the interior of the house is a complex instance, it's more likely to be a new area. Interacting with the door causes a door animation of it opening and then... (Loading, Please Wait....) Ding! New area with an initial spawn point for the character linked to the corresponding entrance. People who scream for "realism" though don't like that suspension of disbelief when the Loading Screen hits them.

A teleport pad would work the same way, just no door. :) And, you could probably hook up a set of levers/buttons so you could teleport anywhere from one single pad, depending upon how many instances can be linked together by the engine. For instance, IIRC, in "Teraria" you can create teleport pads and then link them together. You can use switches/levers/buttons and circuitry designs to make master teleport pads that are connected to many others and will teleport you to different locations. But, there is/was an engine limit somewhere that ended up limiting such pads to 3 or 4 different locations they could teleport players to.

I bet you could create a little "Bot Battle" game using their method of dynamic displays/render-to-texture. The player goes to an arcade, sits at a console, puts on "VR goggles" and then see's from the perspective camera of a little Battlebot in an arena.

But, the beauty of games "lying" is that you don't have to obey conventional thinking like that. So, what actually happens is the animation of the player putting on goggles and then a cut as the player camera/avatar is assigned to a battlebot figure they then move around. To the player, it looks like they're "piloting" a toy robot. But, instead, they are that robot, just in a preloaded area they can't see while they're an avatar. (It'd be a waste to preload that, though, considering the transition, so it'd be better as a new instance maybe, just with a battlebot character substituted for the player avatar. A lot of overhead freed up with that "lie.")

User avatar
fiksal
Posts: 16570
Joined: Tue, 2. May 06, 17:05
x4

Re: Game Programming Technicalities Question

Post by fiksal » Wed, 2. Jan 19, 16:27

Morkonan wrote:
Wed, 2. Jan 19, 07:16
fiksal wrote:
Tue, 1. Jan 19, 16:50
@Morkonan
Good questions, - I dont know. Best to just try it :)
I've not implemented this in any games, nor I tried it in Unreal. Maybe I can give it ago at some point.

Yes, I wasnt talking about Streaming. Mostly thinking back to how a character would transition/teleport from outside and into a building. This was done in some games like that.
It depends on how that "teleport" is done. Doing it seamlessly generally requires preloading/streaming. (Open the door and walk in) But, if the interior of the house is a complex instance, it's more likely to be a new area. Interacting with the door causes a door animation of it opening and then... (Loading, Please Wait....) Ding! New area with an initial spawn point for the character linked to the corresponding entrance. People who scream for "realism" though don't like that suspension of disbelief when the Loading Screen hits them.
Unfortunately I don't recall what games did what I am thinking.

I was thinking the same about the loading exterior to interior transitions. In the past many games lacked resources to pre load interiors. For some games the interiors were all together different scenes/levels, not connected to exterior.

You are spot on the loading bit, but when I referred to Streaming I only meant the practice of streaming in parts of one big level and unloading parts that are far away. You can do same with interiors.

With teleporting I meant that you could place a portal as an entrance to an interior space or entrance to another big scene or level. Player will not know a difference that when he steps inside he will actually teleport to another scene. That's what I think some games did with exterior to interior transitions or transitions between levels. After which I imagine streaming would take over and unload the old level entirely (if there's no way back).


Yeah the battle bot arcade idea could work that way
Gimli wrote:Let the Orcs come as thick as summer-moths round a candle!

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Wed, 2. Jan 19, 17:26

fiksal wrote:
Wed, 2. Jan 19, 16:27
...With teleporting I meant that you could place a portal as an entrance to an interior space or entrance to another big scene or level. Player will not know a difference that when he steps inside he will actually teleport to another scene. That's what I think some games did with exterior to interior transitions or transitions between levels. After which I imagine streaming would take over and unload the old level entirely (if there's no way back).
As I was falling asleep last night, it popped into my head "OH! THAT'S WHAT HE WAS TALKING ABOUT." Totally random, out of the blue... Crazy how and when the brain decides to initiate an "emergency dump." :)

"Ah, yeah... going to sleep. Perfect... just get comfy.. There. Ready."

"BRAIN SAY U NO SLEEP MUST THINK DIS NAOW NAOW!"

What popped into my head was a chessboard teleporter type set up, then blocked off with planes with render-to-texture mechanics with only cardinal directions allowed. Not sensible, but that's what my brain said and it's not too particular about what it says that late at night. :)

The only problem with your suggestion isn't that it wouldn't work, it's that the texture displayed wouldn't have certain display settings or camera effects applied to it. For instance, and I assume this is because speed of display is more important than quality, there wouldn't be any anti-aliansing. So, it'd be noticeable that it's "different." There could be others, like dynamic shadows, since it's actually a "rendered" frame. Basically, and if I understand it correctly, it wouldn't apply specific hardware settings to the render or would just apply a generic, quick, render setting. That's smart, since it's meant for less critical stuff in that regard and render-to-texture would have to kick off for every frame. ie: The r2t mechanic would probably ignore a lot of the toggled display settings in favor of speed and low-overhead.

My PC finally coughed up blood and died. I think mysterious forces are at work to convince me it's time to get back into modeling and finally work with Unreal and some other stuff. :)

Note: One thing that might be interesting is to see if there is a specific "Rifle Scope" mechanic. All that I found were quick fudges using masks and a "Zoom" function, which I don't really like. It shouldn't mask out the surroundings, but I know that mechanic seems to be widely popular, maybe because isolating that zoom to a specific screen location makes for needless overhead? Anyway, messing around with mechanics like that and using them in weird ways is why mucking around with game engines is fun. :)

User avatar
fiksal
Posts: 16570
Joined: Tue, 2. May 06, 17:05
x4

Re: Game Programming Technicalities Question

Post by fiksal » Thu, 3. Jan 19, 04:52

Morkonan wrote:
Wed, 2. Jan 19, 17:26
"BRAIN SAY U NO SLEEP MUST THINK DIS NAOW NAOW!"
If now we must then we must :)
Morkonan wrote:
Wed, 2. Jan 19, 17:26
The only problem with your suggestion isn't that it wouldn't work, it's that the texture displayed wouldn't have certain display settings or camera effects applied to it. For instance, and I assume this is because speed of display is more important than quality, there wouldn't be any anti-aliansing. So, it'd be noticeable that it's "different."
Re-reading the Unreal's way, I agree, anti aliasing is a biggy. It's possible there are other ways to do it in Unreal, this is just what I found quickly.
Morkonan wrote:
Wed, 2. Jan 19, 17:26
There could be others, like dynamic shadows, since it's actually a "rendered" frame. Basically, and if I understand it correctly, it wouldn't apply specific hardware settings to the render or would just apply a generic, quick, render setting.

I'd hope dynamic shadows would be included, otherwise it's becoming less useful.
Youtube appears to have some examples of how it looks. This is from 2 yr ago, no example of dynamic shadows
https://www.youtube.com/watch?v=y2b0evmnBCE
and looks like someone implemented one on their own
https://www.youtube.com/watch?v=j7rYvPtuEFg

Morkonan wrote:
Wed, 2. Jan 19, 17:26
My PC finally coughed up blood and died. I think mysterious forces are at work to convince me it's time to get back into modeling and finally work with Unreal and some other stuff. :)
Sounds like a good cause )
Morkonan wrote:
Wed, 2. Jan 19, 17:26
Note: One thing that might be interesting is to see if there is a specific "Rifle Scope" mechanic. All that I found were quick fudges using masks and a "Zoom" function, which I don't really like. I
How do you want to see through the scope then? You want to see something around the zoomed in part too?
Gimli wrote:Let the Orcs come as thick as summer-moths round a candle!

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Thu, 3. Jan 19, 14:17

fiksal wrote:
Thu, 3. Jan 19, 04:52

I'd hope dynamic shadows would be included, otherwise it's becoming less useful.
Youtube appears to have some examples of how it looks. This is from 2 yr ago, no example of dynamic shadows
https://www.youtube.com/watch?v=y2b0evmnBCE
and looks like someone implemented one on their own
https://www.youtube.com/watch?v=j7rYvPtuEFg
Saweet! Thanks!

IIRC, UE was originally released with dynamic shadows turned off and only burned-in/prerendered shadows available for the free release version. Licensed versions got, among other things, dynamic shadows. (I was very pissed off...:) )

But, that's still a great effect there. Note in one short instance you can tell that one of the portals-in-a-portal views doesn't have a texture on it. And, I think I can see an "infinity mirror" effect in one, but I don't know if that was intentional or not. (Probably so.)
How do you want to see through the scope then? You want to see something around the zoomed in part too?
Basically, as you bring the scope up, you see the aperture and can tell it's magnifying. As you bring it to your "face" you can still see your surroundings. Not all scopes have an "eye cup" that completely blocks out situational awareness. Something with, perhaps, a very slim general view outside of the "cup" would be ideal.

The point being that it's a "fudge." I don't mind that at all, since it's all a lie anyway. :) But, still... it's one of those things that I'd like to see done just because it can be done, not because it's immediately practical. It's... "neat." :)

In the Wing Commander series, there was a zoomed in view for your target on a side-screen. The original series was all 2D sprites and I don't recall the later editions series as well. But, the principle "might be" the same. Though, it could have just been an alternate rendering, but that seems to be pretty heavy.

Is there a "target view" in X4 that shows a zoomed-in view of a target while the rest of the view stays the same? I'd assume it's done with a "zoom camera." And, if so, I wonder how its set up and what its resolution is. Just curious.

Ah, this is interesting - https://answers.unrealengine.com/questi ... /view.html

It seems you can set up an actor to have "components" like a camera, but you can also have "child actors" (ie: Parented to the actor) and can reassign cameras to be "actors." So, if I'm understanding this correctly, you can then get the view from the actor (scenecapture) without having to use render-to-texture materials. IOW - That would give a "camera view" with all the dynamic stuffs. Great for mirrors in driving games, like in that example, but may be more overhead than needed in a multicamera sort of setup that views locations not centered on the actor. Those remote locations would have to be rendered for those sorts of camera displays, meaning they'd have to be loaded, meaning things could get really chunky. That's why r2t would be a better solution for that sort of thing, one supposes.

User avatar
Alee Enn
Posts: 2575
Joined: Sat, 28. Mar 09, 16:03
x4

Re: Game Programming Technicalities Question

Post by Alee Enn » Fri, 25. Jan 19, 00:08

I found this earlier today ... this is what was in my head with the question, the ability to see inside the TARDIS while being outside it and seeing that the inside is clearly bigger.

and yes, as he shows in the video, it's loading a new instance when he enters or leaves the TARDIS.

EDIT: sorry, I was sure I'd linked the video ... https://www.youtube.com/watch?v=s8UIDCqBasQ&t=3s
Last edited by Alee Enn on Fri, 25. Jan 19, 13:28, edited 1 time in total.
Formerly "Alien Tech Inc."

User avatar
Morkonan
Posts: 10113
Joined: Sun, 25. Sep 11, 04:33
x3tc

Re: Game Programming Technicalities Question

Post by Morkonan » Fri, 25. Jan 19, 13:09

Alee Enn wrote:
Fri, 25. Jan 19, 00:08
I found this earlier today ... this is what was in my head with the question, the ability to see inside the TARDIS while being outside it and seeing that the inside is clearly bigger.

and yes, as he shows in the video, it's loading a new instance when he enters or leaves the TARDIS.
Cool! Do you think you can make it work for what you're doing? It should be suitable. You'll have to judge what its footprint it in performance terms for your use. I don't have any experience with it... yet.

Post Reply

Return to “Off Topic English”