PAST Prototype Walkthrough

Posted By: fastlane69

PAST Prototype Walkthrough - 08/07/07 17:14

-----------------------------------------------------------------------------------

http://vids.myspace.com/index.cfm?fuseaction=vids.individual&VideoID=15175649

-----------------------------------------------------------------------------

Finally captured 1 gig of video and managed to reduce it to 100MB in a WMV with no sound.

You should still be able to read the text though what is said doesn't really matter except to prove that the Local, Global, and IM chat work.

There is no sound to this video and it was done in pseudo-WAN conditions (out of the office but only one hop). When we capture multiple hop video, we will post it to show that it responds exactly as you see.

Here are some screenshos from the video so you can see what it really looks like.


----
----

----
----

Posted By: Michael_Schwarz

Re: PAST Prototype Walkthrough - 08/07/07 17:40

wow! This is really impressive, this game has really eveolved and gotten really better sind the first time I saw your first video.
Im curious: Do you have any intrested "clients" for this education(?) software yet?
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/07/07 17:52

Thanks and I know what you mean! The first video is still on myspace and the change is dramatic in vision and function!

Just got a business plan drawn up with the help of some business consultants last week. We have a plan but it won't be enacted for at least another 6 months. Full commercial release will probably be in a years time. In that year we will be field testing with local private schools and unversities. They will form our "core" client base upon which we will grow our commercial clients.
Posted By: Excessus

Re: PAST Prototype Walkthrough - 08/07/07 18:18

I second what michael sayd. Impressive. Great to see you are making progress!

Before you go commercial, I would put some effort into improving the user interface. Both usability and graphics.
Posted By: frazzle

Re: PAST Prototype Walkthrough - 08/07/07 18:28

I think I remember this too, the progress is indeed quite remarkable !!
The level design looks good so far, I'm not commenting on that because it's still in development. The chatting looks decent and fluent but that depends from sever to server I guess and the gameplay is something I can judge from the moment I've played it

Cheers

Frazzle
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/07/07 18:53

The last two comments are the reason why this is a "prototype" and not a "demo":
Things work but don't necesseraly have to look pretty!

Frazzle, we are trying our best to get our office network topology set up for a true outside test. At that point, you can play around our world (though "gameplay" may be a bit too kind for what you can do in world right now... we don't have the "game" scaffolding up yet.)
Posted By: Damocles

Re: PAST Prototype Walkthrough - 08/07/07 21:29

Nice to see your game running.

Some questions that came up when viewing the demonstration:

How much of the game is run on the server, and how much on the client?
For example the particles, indicating the flightpath of the ball, do you
send that information to the client, or is this just calculated by the clients version of the ball?

Do you controll your entities by using 3dgs "autmatic" methods, or by using send_skill,
or even using only arrays ?
Also, are there still potential problems of clients that could (on purpose) crash the server?

3dgs used to have that problem when using incorrect skript on the client (as much as I remember)

Can you easily "exclude" serverspecific code from the client-release,
or how much needs to bedefined the same on both sides.
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/07/07 22:10

Quote:

How much of the game is run on the server, and how much on the client?




The server runs 100% of the game. The client is merely a dumb terminal processing the visual cues from the server. So the particles are controlled by the server in that the balls position is sent by the server and the client traces particles from that.

Quote:

Do you controll your entities by using 3dgs "autmatic" methods, or by using send_skill,
or even using only arrays ?




Amusingly enough to me, we use var arrays! I started using send_skill to control entities but now we only use that to send info down to the server, not up to the client.

Quote:

Also, are there still potential problems of clients that could (on purpose) crash the server?




While we both know that security is a weak link in the 3DGS network protocol, normal usuage of the client software does not lead to crashing no matter what you do. You could I suppose create a script that would crash it but I don't know what that would look like.


Quote:

Can you easily "exclude" serverspecific code from the client-release,
or how much needs to bedefined the same on both sides.




So easily, it's already done! The server has zero client code and the client zero server code. Remember that with proper network object indexing, you don't need to share code. So the only thing that is shared are the script position of network vars and strings and such and that would be deep in the WRS file so not open to the public.
Posted By: Pappenheimer

Re: PAST Prototype Walkthrough - 08/07/07 22:22

From the view of the video, and from your explanations, this looks amazingly stable! My respect! Great work!
Posted By: Damocles

Re: PAST Prototype Walkthrough - 08/07/07 22:24

Nice, Wish you luck with maketing your core engine.
Posted By: William

Re: PAST Prototype Walkthrough - 08/08/07 02:11

While I cannot yet download the video(only 28k), I was wondering why you split your server and client code like so? It sounds like a bit of work. In my game, I just have different functions, but it's still mixed in some ways. Is this primarily for security reasons?
Posted By: Nems

Re: PAST Prototype Walkthrough - 08/08/07 02:41

Congats Fastlane, this looks awesome and exciting.
Hope you do really well from all this work.
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/08/07 02:53

Quote:

I was wondering why you split your server and client code like so?




It is actually a lot easier to do it this way. You don't have to worry about IFDEFS or that your client code is "leaking" into your server code.

You can have one person work on the server code and another on the client code and they won't step on each others shoes. Furthermore, I have serveral distinct client-server applications running serverside managing my world. If I had to try and syncrhonize the code across so many applications every day, I'd go nuts! Especially if it was because I'm changing something clientside that has no relevance serverside.

When updating server code, you don't need to update the client code and vice versa. When it comes time for patching, I only want to use bandwidth for things that the client needs and not because the server changed. Remember that you pay for the bandwidth and thus uploading the server code could mean a 10 to 100 percent larger file size and you are paying for each byte.

But the most important reason is what you mention: security. The thought of actually releasing my server code to the world, even if it is in WRS, makes me cringe! It is, if you will, like sending a blueprint of your HQ encoded in every bullet you fire at the enemy! It's just asking for trouble! The minute the WRS is decompiled or you make a mistake and it compiles wrong or whatever, your server is critically exposed.

I have been saying this for years but nobody really trusts: separating your client and server code is THE way to go for real MP and MMP programming. It's easier to manage, to work with, and more secure to deploy than the Conitec way of mixing it up.
Posted By: EX Citer

Re: PAST Prototype Walkthrough - 08/08/07 04:37

Where is cbabe?
Posted By: Damocles

Re: PAST Prototype Walkthrough - 08/08/07 10:15

You should still use the obfuscator on the script, even if you
pack it into and wrs file. There are certainly people who can crack such resource packages,
and if they do, the client code looks (when obfuscated) too confusing to be reused.

(I never understood how ifdef-s work, and always erase them)
Posted By: Nardulus

Re: PAST Prototype Walkthrough - 08/08/07 13:35

Very cool technology. Great work.

I watched the video and I did not really understand how this technology was going to help teach Physic's to the intended audience of students...

Maybe I am a little slow....

Anyways, keep your eye on the prize of creating an innovative Physic's teaching tool, and do not get caught up to much, in the details of an MMO, at least when you are trying to sell this prospective funders or users...

Great work, I look forward to seeing how you can convey Physic's lessons using this tool....

Ken
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/08/07 17:27

The pedagogy is not in place in the Video, Nard. We are still in the systems construction phase.


I have recently changed my pitch to best reflect this. I used to say I'm making an MMOG to teach physics. That's a nice elevator pitch statement and I still use it. A more accurate statement would be that I'm making a fully physical Virtual World and using game-like elements to promote the pedagogy... as you can see, it's easier to say "educational physics MMOG".

In truth, i can see my world being used purely as a sandbox, as a lab, with no game. That would be fine and useful. But putting a game is a easy way to motivate students who wouldn't do a lab to try and learn physics.
Posted By: FBL

Re: PAST Prototype Walkthrough - 08/08/07 18:12

Impressive. Looks like you're finally getting somewhere with all the network troubles and frustrations.
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/08/07 20:06

Damocles, I want to take you up on the idea of obfuscating the script.
I tried to find GST obfuscator but the links I got where broken.
Do you have other suggestions I could DL or buy?
Posted By: Damocles

Re: PAST Prototype Walkthrough - 08/08/07 22:15

I put the obfuscator on my page,
if you have troubles to download it from gstools.de

http://www.wasteland.at/GSTObfuscator.zip

(you require the GST Builder also to operate it)

Remember, that the obfuscator alters the name of variables,
so you might have to think about the server-client code "syncronization" then,
if the variable/function names are renamed.
(since your "split" code is a special case)

The obfuscator works well, there are just a few problems
in some special cases (dont write "%i" but "% i" for a modulo for example)
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/08/07 23:11

Quote:

that the obfuscator alters the name of variables,
so you might have to think about the server-client code "syncronization" then,





That might not be a serious problem. The actual names of the variables aren't relevent, merely their position within the script (their index). So as long as it doesn't change the order of things (and why would it?!), then we'll be fine.

I'll look for gst builder and check this out... thanks!
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/08/07 23:27

GST_Builder form the gstools.de website is "invalid or or corrupt"... cannot open the downloaded zip file. Obfuscator is fine though.
Posted By: Damocles

Re: PAST Prototype Walkthrough - 08/09/07 00:15

People from outside of Germany seem to have problems downloading from
GSTools.de
nfs42 should have a look onto that.
Posted By: William

Re: PAST Prototype Walkthrough - 08/09/07 00:32

I also use very little ifdef type code, I make frequent use of my.client and my.native. When an entity is created, I call up a proc_client() so the client can control it. Then I have a proc_local() and similar code from the proc_local() function in the original action on the server to just update the entity with the users input from the client on both the clients and server. I don't remember seeing any examples of completely split code between server and client. Do you have any links to little examples of this? I wouldn't mind seeing what it's like.

@Damocles - Thanks for the obfuscator link, it seems interesting. Although, how often is it updated to reflect new engine commands? And how is the code deciphered?
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/09/07 04:25

I used to have a barebones example of this on the forum. Don't know where it is in my files. I'll see if I can scrounge something up.

I'm deadly serious: I think that keeping code toghether is a major reason why MP and MMP development is stymied in this community; it just makes a mess of things!
Posted By: nfs42

Re: PAST Prototype Walkthrough - 08/09/07 22:34

@fastlane: only a problem with ms iexplorer
use a proper browser
i have still no solution for this

@damocles: thanks for hosting

@William: GSTObfuscator goes back to 2001 & A5, but it's still running with c-scripts > A6.xx. if you have any troubles with it, i try to figure it out.
I didn't tried with lite-c.
Posted By: Damocles

Re: PAST Prototype Walkthrough - 08/09/07 23:08

nfs42 knows the details, but the obfuscator
basicall just replaces all functionnames and variable names with
a cryptic "GST443" and so.
(And removes comments, and linebreaks)
There is a wdl definition file, of wich keywords dont get changed.
This can be edited (but I could not get it to work on new keywords)

This should also work on Lite-C, or should not be too hard to adapt.
But it is configured to C-Script currently.
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/09/07 23:54

Right now we are working on the annoying development-> publish transition. ALWAYS bugs crop up in Pub that never show up in Dev. Any clue why?

Anywho, once that annoyance is taken care of, I'll examine the obfuscator and go public with the prototype!
Posted By: William

Re: PAST Prototype Walkthrough - 08/10/07 03:52

Thanks for the info about obfuscator. I'm going to finish my project with c-script, so perhaps I'll try it out one day when I get around to publishing.

@Fastlane: Try - warn_level = 2; in your dev. Although, I usually just test with it at "1". What type of bugs are you finding?
Posted By: Pappenheimer

Re: PAST Prototype Walkthrough - 08/10/07 06:00

We got rid of such problems by 'level "...wmp";'- to include all entities of the other levels, and 'bind' - to include all entities called/created via script.
Not sure, if this solves your problems...
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/10/07 16:02

Thanks for the warn tip. I'll try it out but I'm not hopeful. Like I said, in dev it works perfect and it's only in resource that applcations crash without warning... so I'm not sure that the dev version will pick up any new bugs but it's worth a shot!

And we've done all the bindings, have no absolute pathing, and all that. That's always a pain (and perhaps something that the warns WOULD pick up) but managed.

Honestly, we are thinking that the problem has to do wth timings. Something about the dev version running on a different time than the resource version... don't know... we'll keep working on it.
Posted By: exodusX

Re: PAST Prototype Walkthrough - 08/10/07 20:45

Impressive
Posted By: fastlane69

Re: PAST Prototype Walkthrough - 08/10/07 20:56

Found out what our -diag problem was so now we should be able to zero in on the issues that are preventing our system to run the same in dev as in pub versions.

Getting closer day by day, hour by hour!!!!
Posted By: William

Re: PAST Prototype Walkthrough - 08/11/07 05:19

Yeah, please keep me updated as to what you've found. Would probably save me much time when it comes to this step.
Posted By: Ran Man

Re: PAST Prototype Walkthrough - 08/16/07 23:15

Nice video and nice job.

I always knew those ancient greeks could play soccer well. Cool stuff.
Posted By: bomber

Re: PAST Prototype Walkthrough - 10/13/07 12:46

greate!!!
Posted By: cro_games

Re: PAST Prototype Walkthrough - 10/24/07 10:23

Nice , nice...
© 2023 lite-C Forums