Escher's Relativity is doable

If you feel like you're up to the challenge of building your own Ages in Blender or 3ds Max, this is the place for you!

Re: Escher's Relativity is doable

Postby Sirius » Tue Sep 27, 2011 12:18 am

D'Lanor wrote:I have never experimented with setFlags() and sendToClients() because well... their settings are the same in every Python file, just as you are setting them. Plasma.py tells us the following about setFlags():

Code: Select all
    def setFlags(self, name, sendImmediate, skipOwnershipCheck):
        pass

So I guess flag 1 makes sense for those two. setFlags() is always paired with sendToClients() which sends a new value to all players.
Does that help ?
Code: Select all
def sendToClients(self,key):
    """Sets it so changes to this key are sent to the
server AND the clients. (Normally it just goes
to the server.)"""
    pass
def setFlags(self,name,sendImmediate,skipOwnershipCheck):
    """Sets the flags for a variable in this SDL"""
    pass
It still doesn't explain well how setFlag works however.

tachzusamm wrote:(Sirius, did you really manage to get Mouse drags captured? If yes, how? I was only able to detect key presses.)
Actually... no, I couldn't get the value of the mouse being dragged. I could only get notifies of it (mouse clicks are considered as control keys). There might be a way to detect its position, but it seems you can only detect it through GUI draggables (or maybe special clickables)... so that won't be a neat way. I'll check again if there is no better way.
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Escher's Relativity is doable

Postby tachzusamm » Wed Sep 28, 2011 11:49 am

D'Lanor wrote:No, I mean this Blender setting in "Book"...

Oh, that. Yes, the AgeSDLHook is setup as it should.

D'Lanor wrote:From what I can see you have everything set correctly so I don't know where that reset is coming from. Can you show us the full Python code?

Sure.
I wanted to do some Refactoring first. This piece of software for the Transporters is no longer just a simple script - it growed to about 1800 lines of Python until now. Including comments, excluding glue.

By the way, I now implemented a zooming / moving function for the simple type camera, which normally can only set its FOV, so it did not move over the avatar's head when zooming in. Now it does, and it does smoothly. I was not able to trap the mousewheel, so we have to use "+" and "-" on NumPad, but it works.

Plus, and that was something I thought never possible with simple cams, I managed to let the subworld-camera avoid walls. So, in other words, the camera maintains its line-of-sight. Written from scratch in Python, using the new zooming capabilities. It does not avoid colliders, but directly checks the LOS, and moves forward when a wall is in the way, until the avatar can be seen again.

Regarding the false SDL state on Age start: I check now for being solo on Age load, so the effect does not appear offline any longer, but the value is still set on start, when it should be cleared. Has to be checked online, I guess.

Okay, enough told.
So here comes the full package.

I think its time to release it, because others are waiting to contribute. :D

Blender Sources (including commented sources of Python code):
Relativity_V1.4_SRC.rar

And just the Age:
Relativity_V1.4.zip

When contributing: Please do read the documentation I wrote in Blender.
When playing: Please always keep your Relto book with you!
And, as said above: Use '+' and '-' for zooming in SubWorlds (you start in main, btw.)

Thank you,
~Tach

EDIT: Link to the Transporter script only:
relaTransport_V1.5_py.zip

(Edit2: Blender sources link updated to RAR because ZIP had errors.)
Last edited by tachzusamm on Thu Sep 29, 2011 2:02 pm, edited 2 times in total.
User avatar
tachzusamm
 
Posts: 575
Joined: Thu May 29, 2008 2:03 am
Location: Germany

Re: Escher's Relativity is doable

Postby diafero » Wed Sep 28, 2011 1:09 pm

Wow, that's great... especially the LOS stuff sounds promising, you seem to have a good hand with the Python API :D

However, using those keys is a bit dangerous... Offline KI's flymode also uses them. Not sure how this will end up.
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2966
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Escher's Relativity is doable

Postby D'Lanor » Wed Sep 28, 2011 2:09 pm

Very cool to play with this. :)

I have been trying to debug that pesky SDL variable for hours but I haven't found anything that could cause it to reset.

At one point I even "corrected" the reversed version order in the sdl file itself. It has the latest version at the top while the advice, which can be found in some sdl files, clearly states that it must be at the bottom. Well, apparently that makes no difference (at least offline).

So maybe we should just call this a bug in the singleplayer game for now, which you have already created a workaround for. Let's see if it behaves better online in a multiplayer environment.
"It is in self-limitation that a master first shows himself." - Goethe
User avatar
D'Lanor
 
Posts: 1980
Joined: Sat Sep 29, 2007 4:24 am

Re: Escher's Relativity is doable

Postby Karkadann » Wed Sep 28, 2011 3:49 pm

Wow Im still getting lost in it, Structures I can do Programing and coding is still a bit of a mystery But you Guys did a great Job thanks, It was the Very first age I started with Way back in AutoCad and with Your Guys's help It turned out better then I could have imagined.
Since this has become a community thing do we have any plans on releasing this on the DI Shard and the UAM with the rest of the fan Ages,

Thanks again.

Kark
Last edited by Karkadann on Fri Aug 17, 2012 9:40 am, edited 1 time in total.
The Optimist see's the glass half full, The Pessimist see's the glass half empty.
Its the Realist who see's the glass is half full with air, half full with water
User avatar
Karkadann
 
Posts: 1223
Joined: Sun Aug 02, 2009 10:04 am
Location: Earth

Re: Escher's Relativity is doable

Postby tachzusamm » Thu Sep 29, 2011 5:14 am

diafero wrote:However, using those keys is a bit dangerous... Offline KI's flymode also uses them. Not sure how this will end up.

It will just execute both: Your up/down movement, and my zooming (IF you are in a subworld). Nothing dangerous, it does not harm.
Only a bit unexpected, though; so I included a detection of your Offline KI's flymode, and when it's activated, I just skip the zooming.
See update below.


D'Lanor wrote:At one point I even "corrected" the reversed version order in the sdl file itself. It has the latest version at the top while the advice, which can be found in some sdl files, clearly states that it must be at the bottom. Well, apparently that makes no difference (at least offline).

Now that you mention it: I *thought* I saw it reversed in an SDL example, but can't find it anymore. Maybe I just dreamt it. :)
I tried to find out in the Plasma sources how it's treated, but did not really understand the process. And this would only help for MOUL, of course.
So to be safe, I reorganized it as well now. See update below.


D'Lanor wrote:So maybe we should just call this a bug in the singleplayer game for now, which you have already created a workaround for. Let's see if it behaves better online in a multiplayer environment.

Karkadann wrote:Since this has become a community thing do we have any plans on releasing this on the DI Shard and the UAM with the rest of the fan Ages,

Yes, I would love to see this happen. Karkadann, you mentioned it would be better to release a "finished product" only, but this can again take a while - and to be honest, I can't wait to see lots of players walking on the stairs in Relativity.
So let's find a date for putting it online.
This weekend?


Update of Python source:
relaTransport_V1.6_py.zip

Update of Age files (Python and SDL):
relaUpdate_Python_SDL_2011_09_29.zip

:)
User avatar
tachzusamm
 
Posts: 575
Joined: Thu May 29, 2008 2:03 am
Location: Germany

Re: Escher's Relativity is doable

Postby diafero » Thu Sep 29, 2011 8:38 am

It will just execute both: Your up/down movement, and my zooming (IF you are in a subworld). Nothing dangerous, it does not harm.
Only a bit unexpected, though; so I included a detection of your Offline KI's flymode, and when it's activated, I just skip the zooming.
See update below.

Actually when I tried it, the +/- keys did not work at all... but maybe that is jsut some wine bug again :( [EDIT: They are working now, never mind]
Btw, how are you detecting Flymode? I should mark this somewhere to be sure I do not change that API... xUserKI* did not provide any API guarantees so far (the only file meant to be used externally was xLinkMgr, where everything internal starts with "_").
I prefer e-mails to "diafero arcor de" (after adding the at and the dot) over PMs.

"Many people's horizon is a circle with a radius of zero. They call it their point of view."

Deep Island Shard | Offline KI
diafero
Deep Island Admin
 
Posts: 2966
Joined: Mon May 05, 2008 5:50 am
Location: Germany

Re: Escher's Relativity is doable

Postby tachzusamm » Thu Sep 29, 2011 9:08 am

I detected it using this piece of code:
Code: Select all
# In the beginning of the file:
doCheckFlymode = True
try:
    import xUserKIFlymode
except:
    doCheckFlymode = False

# later when I react on + and -:
        if (action == kCamZoomIn):  # reaction on "+"
            if doCheckFlymode:  # check for Flymode
                if len(xUserKIFlymode.flyingObjects): return
            self.CameraZoomIn()   # do the zooming
User avatar
tachzusamm
 
Posts: 575
Joined: Thu May 29, 2008 2:03 am
Location: Germany

Re: Escher's Relativity is doable

Postby Corvus » Thu Sep 29, 2011 11:31 am

This age looks great. I love the view you get when sitting on the bench. The transporters are really cool. Can't wait to explore with others.

I would like to have a look on the blend file, but unfortunately I get an error while depacking:"CRC_Fehler in Relativity\Relativity_087.blend. Die Datei ist fehlerhaft." I downloaded several times and also tried the repair function, but it didn't help.
"To regard the imagination as metaphysics is to think of it as part of life, and to think of it as part of life is to realize the extent of artifice. We live in the mind."

-Wallace Stevens-
User avatar
Corvus
 
Posts: 204
Joined: Fri Feb 15, 2008 11:21 am
Location: Germany

Re: Escher's Relativity is doable

Postby Sirius » Thu Sep 29, 2011 12:30 pm

:shock: :o
Tachzusamm, Karkadann, all your work is incredible !
I just tested this Age, it is really wonderful ! The models/textures are great, and so does all the animations, subworlds, etc.
I was completely lost in there.
There are still minor bugs with camera, but that's not too annoying. Maybe you should try to increase the camera acceleration/zoom.

It just misses some ambiance sounds, a calm music, and a sky.

+1
User avatar
Sirius
 
Posts: 1506
Joined: Mon Jul 26, 2010 4:46 am
Location: France

PreviousNext

Return to Building

Who is online

Users browsing this forum: Google [Bot] and 0 guests