Portalized (GUI update)
-
- OGRE Retired Team Member
- Posts: 3335
- Joined: Tue Jun 21, 2005 8:26 pm
- Location: Rochester, New York, US
- x 3
-
- Goblin
- Posts: 239
- Joined: Sun Oct 14, 2007 8:10 pm
I haven't seen your source code, so cannot know for sure, but I was just thinking - maybe it is not too difficult to implement - have you thought of creating a temporary "mimic" physical body at the other side of the portal? Synchronizing it with the base counterpart perhaps can do the trick. Surely, this would not be a primitive, but a convex hull, which you have to update according to what part of the object is "sticking out" of the portal. Also, pretty sure it must not be affected by gravity.
Hope it makes sense
Hope it makes sense
The mistery of Yoda's speech uncovered is:
Just an old Forth programmer Yoda was.
Nulle rule sine exceptione (lat.)
Just an old Forth programmer Yoda was.
Nulle rule sine exceptione (lat.)
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
Self-quote:
(man, the power of NewtonGD, it's freaking amazing...)
I have to say but one thing. If this works out the way I'm planning for it to... this might turn into a full-blown portal simulator, where if you stick an object half way it will not only collide on both sides, but get pulled by forces and what-not (portal on wall and ceiling, an object half-way will eventually get sucked in due to the gravity "through" the portal).Big Note: Please note, however - I DO have a concept idea of recreating the dual-sided collisions with the benefit of my system. This is not the final release, and if I get my math right, you may just get the benefits from both systems in Portalized. I cannot guarantee you that it will work, but I will not say that it won't. Keep your fingers crossed .
(man, the power of NewtonGD, it's freaking amazing...)
-
- OGRE Retired Team Member
- Posts: 3335
- Joined: Tue Jun 21, 2005 8:26 pm
- Location: Rochester, New York, US
- x 3
Yeah, create a ghost on each side of the portal, but don't allow collisions between those overlapping representations. Body1 is affected by forces on the original side of the portal, while Body2 is affacted by forces on the destination side. You can "glue" then together with a custom rigid joint in Newton. I'm sure this is slightly unstable though. It probably will blow up with moderate force applied, since removing that many DOFs in a joint is tricky. Worth a try though. There also might be better ways to stick the two bodies together (really stiff springs?).
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
You nailed it, exactly what I'm doing.Praetor wrote:Yeah, create a ghost on each side of the portal, but don't allow collisions between those overlapping representations. Body1 is affected by forces on the original side of the portal, while Body2 is affacted by forces on the destination side. You can "glue" then together with a custom rigid joint in Newton. I'm sure this is slightly unstable though. It probably will blow up with moderate force applied, since removing that many DOFs in a joint is tricky. Worth a try though. There also might be better ways to stick the two bodies together (really stiff springs?).
Except:
- ghost is still only a graphical representation, the ghost body is there only for pushing or pulling (otherwise there may be small errors where physically it won't matter but you'll "see" it graphically)
- it's a bit hard to "glue" them due to the arbitrary portals... but newton's custom joints allow for it
Yeah, this'll probably work once I get it right...
-
- Halfling
- Posts: 79
- Joined: Mon May 28, 2007 4:28 pm
Re: Portalized (update: Version 0.24 - NEW movable portals!)
the posibilities of your portalized portal tech, combined with the dissorder gravity stuff, is pretty huge now. but its still just potential. what kind of game are you going for with this? it would be a good time to refine what you have to fit an overarching concept, rather than going nuts trying to get every game mechanic to work, then having to throw a lot of it out later to fit a good design. although your posibilities so far seem endless, the more you go wild with the tech, the more you are boxing yourself in on the design. so far, you will be very pushed to create level designes to fully utilize all the features you have without breaking the game.
have you a visual style in mind? (sci-fi, grunge industrial, cartoon etc.)
i am not a tech guy, i am an art and design guy, but i am very fond of your work so far, hense my questions/thoughts above.
have you a visual style in mind? (sci-fi, grunge industrial, cartoon etc.)
i am not a tech guy, i am an art and design guy, but i am very fond of your work so far, hense my questions/thoughts above.
our current pc game in development: http://archangel-studio.blogspot.com/
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
The style is sci-fi.
-snip story-
This story is perfect, since I am absolutely crap at AI, and there won't be a need for AI in Portalized. Maybe in Portalized 2 or something, when you encounter the infiltrator. But first of all, lets just stick to Portalized 1 .
-snip story-
This story is perfect, since I am absolutely crap at AI, and there won't be a need for AI in Portalized. Maybe in Portalized 2 or something, when you encounter the infiltrator. But first of all, lets just stick to Portalized 1 .
Last edited by nullsquared on Sun Dec 23, 2007 11:01 pm, edited 1 time in total.
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
Just so you're all updated, I'd like to say some pretty-ness will indeed be added . I'm teaming up with Pelpix (from the [now dead] Exite forums) for textures and Jaanus for models (both from face punch) - super small team, active, easy to manage, really enthusiastic.
For example:
- the cube is normal mapped, specular mapped, diffuse mapped, and (baked) AO mapped (as Pelpix describes that Source² does)
- the metal grate, yes, doesn't tile - the AO map for it wasn't made for tiling, 'twas just a test
- floor, etc. Stuff will look pretty
I'm also planning on point-light variance shadow mapping.
Here's the original wall (so much detail can be obtained by such simple shaders, the wall here is shaded with a diffuse and specular map, that's it):
For example:
- the cube is normal mapped, specular mapped, diffuse mapped, and (baked) AO mapped (as Pelpix describes that Source² does)
- the metal grate, yes, doesn't tile - the AO map for it wasn't made for tiling, 'twas just a test
- floor, etc. Stuff will look pretty
I'm also planning on point-light variance shadow mapping.
Here's the original wall (so much detail can be obtained by such simple shaders, the wall here is shaded with a diffuse and specular map, that's it):
-
- Goblin
- Posts: 208
- Joined: Sat May 05, 2007 4:49 pm
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
-
- OGRE Moderator
- Posts: 7157
- Joined: Sun Jan 25, 2004 7:35 am
- Location: Brisbane, Australia
- x 535
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
As things are right now, nope. It's a feature on my long TODO list, but it's all the way on the end. Why? Well, to make light go through portals, there's really not much you can do other than duplicate the lights the same way everything else (camera, physics objects, etc.). Except that duplicating the lights would be a total nightmare (since you want them to only go through the portal, and not shine backwards into some other part of the level), and a killer for the performance.PolyVox wrote:Cool, so can shadows be cast through portals?
Right now my TODO list is as so:
- fix materials (shadowing works great when I used 1 material, but it went bonkers with more - I'm guessing one of my materials is differing a bit and destroying the seamless-ness)
- make shadows soft (variance shadow mapping)
- finish portal physics (I never truly went around to implementing dual-sided stuff, I got it working as a sample, but I never actually implemented it with the portals)
- re-implement sound (I used to have sound in my older versions of the engine, but now it's just gone somehow :O)
- etc.
-
- Halfling
- Posts: 82
- Joined: Sat Sep 17, 2005 3:28 pm
- Location: Sweden
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
-
- Gnoblar
- Posts: 5
- Joined: Sun Dec 30, 2007 8:23 am
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
-
- Gnoblar
- Posts: 5
- Joined: Sun Dec 30, 2007 8:23 am
Well, I can tell you that I won't be playing at the speed you are. I have a Radeon 9800 and a Celeron 2.8 ghz single-core along with about 1.75 gb of RAM. I think I will be tuning the graphics settings a little lower, though I am sure I will run the portals and their iterations just fine.
By the way, I had a suggestion for the use of dynamic portals. Since dynamic portals can be placed anywhere, you will often be facing towards the rear end of them. Currently, I can see that you do not have a texture for that end. Wouldn't it be interesting to have a portal on both sides of these dynamic planes? The portals on the back sides would lead to each other, creating some interesting effects. For instance, if you vertically placed one dynamic portal in the middle of a room and vertically placed another dynamic portal in the middle of another room and then walked around one dynamic portal while simultaneously looking at it, you will see a 360 degree view of the other room. There is no telling how this would affect game performance, but this would probably be better than simply having a textured back for each portal.
By the way, I had a suggestion for the use of dynamic portals. Since dynamic portals can be placed anywhere, you will often be facing towards the rear end of them. Currently, I can see that you do not have a texture for that end. Wouldn't it be interesting to have a portal on both sides of these dynamic planes? The portals on the back sides would lead to each other, creating some interesting effects. For instance, if you vertically placed one dynamic portal in the middle of a room and vertically placed another dynamic portal in the middle of another room and then walked around one dynamic portal while simultaneously looking at it, you will see a 360 degree view of the other room. There is no telling how this would affect game performance, but this would probably be better than simply having a textured back for each portal.
-
- Gnoblar
- Posts: 5
- Joined: Sun Dec 30, 2007 8:23 am
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11
Yeah, sorry for not really putting anything here.
Stuff is still in the works, but the 0.5 release development is under cover (0.5 is where a public demo comes in).
In the mean-while, proof of dual-sided collisions:
http://www.youtube.com/watch?v=JwL-nTODl2E&feature=user
Not only is it completely functional, but stuff can collide with itself. I don't think even Portal does that
Hm. Well, since you guys are programmers and all... I guess I'd like to share some more things
Mainly, Lua support. For example:
Then, in the game's console:
And...
The engine did absolutely *nothing* before-hand. No resources, no shadows, no levels, nothing. Then, BAM! Some simplistic Lua and you have a full-on level testing going. With awesome shaders and real-time physics and everything.
This is how level creation is going to be done for the Disorder engine, via Lua.
Shot of the console and some real-time Lua:
BIG thanks to QuickGUI! Awesome GUI library for Ogre. Highly recommended.
Stuff is still in the works, but the 0.5 release development is under cover (0.5 is where a public demo comes in).
In the mean-while, proof of dual-sided collisions:
http://www.youtube.com/watch?v=JwL-nTODl2E&feature=user
Not only is it completely functional, but stuff can collide with itself. I don't think even Portal does that
Hm. Well, since you guys are programmers and all... I guess I'd like to share some more things
Mainly, Lua support. For example:
Code: Select all
-- ! -- test lua script -- ! --
d_addDefaultResourceDirs()
d_initAllResourceGroups()
d_setCameraPos(7, 7, 7)
d_setCameraLookAt(0, 0, 0)
light0 = d_createLight("light0")
d_setLightRadius(light0, 15)
d_setLightPos(light0, 0, 7, 0)
d_setLightColour(light0, 1, 1, 1, 1, 1, 1)
d_setLightDir(light0, 0, -1, 0)
--light1 = d_createLight("light1")
--d_setLightRadius(light1, 15)
--d_setLightPos(light1, 2, 7, 0)
--d_setLightColour(light1, 1, 1, 1, 1, 1, 1)
--d_setLightDir(light1, 0, -1, 0)
dd = d_getDataDir()
level = d_createScriptedObject(dd .. "/models/level1.lua")
for i = 1, 50, 1 do
so = d_createScriptedObject(dd .. "/models/ball.lua", true)
d_applyImpulse(so, 0, 15, 0)
end
d_enableShadows(true)
function lerp(a, b, n)
return a + ((b - a) * n)
end
function tick(d)
local x, y, z = 0, 0, 0
if d_isKeyDown("W") then
z = z + (-1 * d)
end
if d_isKeyDown("S") then
z = z + (1 * d)
end
if d_isKeyDown("A") then
x = x + (-1 * d)
end
if d_isKeyDown("D") then
x = x + (1 * d)
end
d_moveCamera(x, y, z)
end
Code: Select all
dofile(d_getDataDir() .. "test_lua.lua")
The engine did absolutely *nothing* before-hand. No resources, no shadows, no levels, nothing. Then, BAM! Some simplistic Lua and you have a full-on level testing going. With awesome shaders and real-time physics and everything.
This is how level creation is going to be done for the Disorder engine, via Lua.
Shot of the console and some real-time Lua:
BIG thanks to QuickGUI! Awesome GUI library for Ogre. Highly recommended.
-
- OGRE Expert User
- Posts: 1422
- Joined: Sat May 22, 2004 5:28 am
- Location: Bucharest
- x 8
-
- Gnome
- Posts: 351
- Joined: Thu Oct 21, 2004 1:34 pm
- Location: Diepenbeek, Belgium
- x 3
-
- OGRE Expert User
- Posts: 829
- Joined: Sat Oct 02, 2004 2:20 pm
- Location: California, USA
-
- Old One
- Posts: 3245
- Joined: Tue Apr 24, 2007 8:23 pm
- Location: NY, NY, USA
- x 11