FAQ Search
Memberlist Usergroups
Profile
  Forum Statistics Register
 Log in to check your private messages
Log in to check your private messages
Moonpod Homepage Starscape Information Mr. Robot Information Free Game Downloads Starscape Highscore Table
August-04: Networking and Scripting
Goto page Previous  1, 2, 3, 4, 5  Next
Post new topic   Reply to topic    Discussion Pod Forum Index -> Developer Diary View previous topic :: View next topic  
 Author
Message
Moonpod Developer Diary RSS feed -RSS Feed
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Thu Oct 14, 2004 9:09 am    Post subject: Reply with quote

r000000b wrote:
go on, give us a hint, what are you up to?

We couldn't say for a while because it involves third parties. Everything is now finalised, so I just need to write up a press release, which will (of course Smile ) be announced here first. Sorry for the delay.
Back to top
View user's profile Visit poster's website
BluePhoenix



Joined: 08 Jun 2004
Posts: 96
Location: Between Georgia and Cuba



PostPosted: Thu Oct 14, 2004 3:10 pm    Post subject: Re: Floating point variance Reply with quote

Martoon` wrote:
I hope you have better luck with this than I have, and if you do have a solution, I hope you'll share it. Wink

Good luck with your continued work on Battlescape. We're all looking forward to another beautifully done title from Moonpod.


Well, you could always create your own virtual floating point calculation CPU, that way you wouldn't need to use the computers. While computers deal with Floating points differently (I think one of my professors said it was because they used logs or something like that) they deal with integers the same way.
It's a bit drastic and time consuming but it'd work.
Back to top
View user's profile AIM Address Yahoo Messenger
Martoon`



Joined: 08 Oct 2004
Posts: 3



PostPosted: Thu Oct 14, 2004 3:44 pm    Post subject: Re: Floating point variance Reply with quote

BluePhoenix wrote:
Martoon` wrote:
I hope you have better luck with this than I have, and if you do have a solution, I hope you'll share it. Wink

Good luck with your continued work on Battlescape. We're all looking forward to another beautifully done title from Moonpod.


Well, you could always create your own virtual floating point calculation CPU, that way you wouldn't need to use the computers. While computers deal with Floating points differently (I think one of my professors said it was because they used logs or something like that) they deal with integers the same way.
It's a bit drastic and time consuming but it'd work.


Yes, there are software FPUs, but they're prohibitively slow (compared to a modern CPU's hardware FPU) to the point that they would make a 3D game unplayable.
Back to top
View user's profile
icarus
Troll
Troll


Joined: 01 Mar 2004

Location: Olympia Washington



PostPosted: Thu Oct 14, 2004 4:10 pm    Post subject: Reply with quote

Fost wrote:
r000000b wrote:
go on, give us a hint, what are you up to?

We couldn't say for a while because it involves third parties. Everything is now finalised, so I just need to write up a press release, which will (of course Smile ) be announced here first. Sorry for the delay.



lemmy guess starscape is geting a retal version in the west
Back to top
View user's profile Visit poster's website
Doom III



Joined: 20 Apr 2004
Posts: 117



PostPosted: Thu Oct 14, 2004 5:35 pm    Post subject: Re: Floating point variance Reply with quote

Martoon` wrote:
And yes, the different CPU's claim IEEE compliance, but I've found they can still get different results.

IEEE (I think) requires 64-bit doubles, but Intel use 80-bit doubles during intermediate computation. This does usually get corrected by rounding, and as far as I know is all you can do really. I shouldn't really open my mouth not being an expert as such, but you should be able to put the FPU's into the correct modes and be ok. Some FPU modes are low precision to give faster results.
when programming multiplayer code, this is probably the least of your worries though Sad

These articles are great! This entire thread is full of useful information for game programming. Very Happy
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Thu Oct 14, 2004 5:38 pm    Post subject: Reply with quote

icarus wrote:
lemmy guess starscape is geting a retal version in the west

Ha! thanks for the wishful thinking! but sadly no. I promise I'll write something up in the next few days. Very Happy
Back to top
View user's profile Visit poster's website
icarus
Troll
Troll


Joined: 01 Mar 2004

Location: Olympia Washington



PostPosted: Thu Oct 14, 2004 5:55 pm    Post subject: Reply with quote

or maby you have got enough monney and bought out VU games and are making seria thare own company aggen
Back to top
View user's profile Visit poster's website
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Thu Oct 14, 2004 6:14 pm    Post subject: Reply with quote

icarus wrote:
or maby you have got enough monney and bought out VU games and are making seria thare own company aggen

That's definitely near the top of my 'If I was rich' list, just after 'Hire Monica Bellucci to do JJ's voiceover in Starscape'. Very Happy
Back to top
View user's profile Visit poster's website
icarus
Troll
Troll


Joined: 01 Mar 2004

Location: Olympia Washington



PostPosted: Thu Oct 14, 2004 6:21 pm    Post subject: Reply with quote

yah seira was a cool company but then big bad VU came and tock over
Back to top
View user's profile Visit poster's website
Johnh



Joined: 06 Sep 2003
Posts: 160



PostPosted: Fri Oct 15, 2004 12:04 am    Post subject: Re: Floating point variance Reply with quote

Martoon` wrote:

Unfortunately, quantizing the values sent over the network doesn't solve the problem that I'm referring to. Let me try to clarify what I'm talking about.

Let's say your main game loop updates the entire game world 100 times per second. So in each of these 0.01 second updates, you iterate through all of...

...Good luck with your continued work on Battlescape. We're all looking forward to another beautifully done title from Moonpod.


WOW. I have a lot to learn before I can really do much programming. At least this gives me a little insight on how video games work...
Back to top
View user's profile
starscape junkie



Joined: 15 Jun 2003
Posts: 177
Location: The Thirteenth Colony



PostPosted: Fri Oct 15, 2004 1:02 am    Post subject: Reply with quote

I am so glad i dont have to touch networking code Smile

As for my wild stabs at the mysteriousness

a.) someone won the lottery
b.) they found the holy grail
c.) battlescape is really done and theyve got beta for everyone Very Happy
Back to top
View user's profile
Harabek



Joined: 10 Apr 2004
Posts: 94
Location: Arkansas, yes we have computers.



PostPosted: Sun Oct 24, 2004 5:44 pm    Post subject: Reply with quote

Refering to the floating point variable question, why not have the program use rounded numbers? And, how much difference does 1xE^-23 make?
Back to top
View user's profile
Johnh



Joined: 06 Sep 2003
Posts: 160



PostPosted: Mon Oct 25, 2004 4:24 pm    Post subject: Reply with quote

Harabek wrote:
Refering to the floating point variable question, why not have the program use rounded numbers? And, how much difference does 1xE^-23 make?
BTW - 1xE^-23 is EXTREMELY redundant: 1e-23, or 1x10^-23 or 1E-23 would be proper. Sorry, just a pet peeve there.

A lot. Especially if you convert a float to an integer by truncating, not by rounding. I.E. converting 1.99999999999999999 to an integer yields 1, while 2.000000000000000000000 yields a 2.

yet another thing to consider: when traveling, altering your course by a fraction of a radian, or a few degrees, can seriously change your course.

Geometry excercise time!

draw a circle.
Draw a ray from the center of the circle towards anywhere, well past where it will intersect the circle.
Draw a larger circle with the same center of the first circle such that the extended ray also interesects this second circle.
Draw a second ray from the center of the circles with about a 10 degree seperation so that it interesects both circles.
On the first circle, connect the 2 intersections on that circle together. This is called a CHORD.
Do the same on the second circle.

If the first ray represents our intended path, and the second ray represents our deviated path, AND the circles represent 2 different frames of time, the smaller circle being "before" the second circle, then the chords that connect the interesections formed by these rays represent the distance of deviation from our intended path. Notice that the chord formed on the larger circle is larger than on the smaller circle. The larger the circle you draw, the larger the deviation from the intended path. Thus we see that over a long period of time, a very small difference in path can cause a sort of "Chaos Theory" effect (that theory a butterfly flapping it's wings in Africa could cause a tornado in North America).

Now granted, a 10 degree difference is much larger than the differences that would be computed on seperate machines. However, if you have a very long and engaging game, this would cause problems, because the longer the game lasts, the more seperate machines would deviat from each other. This could cause problems such as a tank getting stuck in by an obstruction on one machine, while that tank on another machine misses the obstruction on another machine. If you gave this tank an attack order, hitting that obstruction could cause slight difference in position that could cause the tank on one machine to begin attacking a few precious seconds after the tank on another machine. That means on one machine, that tank may destroy an opposing tank, while on another machine, that tank doesn't. You now have a HUGE difference between the 2 machines (one machine thinks a tank still exists, while the other one doesn't). Things just go from bad to worse from there.
Back to top
View user's profile
morduin



Joined: 29 Oct 2004
Posts: 8



PostPosted: Fri Oct 29, 2004 5:22 pm    Post subject: Reply with quote

Fost wrote:

I've also become interested in various texturing tricks that use optical illusions to make the viewer think there are more polygons in a model than there actually are, and I've tried a few of the out on the Talos. The following image might be quite difficult to follow, and I'm not sure I've fully achieved the effect I was going for, but it's an intriguing technique:

Lastly, I'd just like to say how impressed I've been with what wings3d is now capable of doing and the effort that has been put into it. Once Battlescape is finished I'd really like to write up some tutorials for it.


Fost your shading texturing technique is similar to what the artists of Evil Genius used. They had to use lower poly models and make up for it with shading techniques also. Oh yeah, whats with the silvery metal codpeice on the Talos? Please dont tell me you left that there for room for upgrades haha.

Wings 3d is awesome, thanks for letting us know what you use, Im loving it. Also, Wings3d doesnt currently support animations, what are you using for them?

There has to be an easier way to UV map. It kills me how I can do 3d models decent, and textures really well but UV mapping is a huge speed bump for me.
Back to top
View user's profile
Fost
Pod Team
Pod Team


Joined: 14 Oct 2002
Posts: 3734



PostPosted: Sat Oct 30, 2004 1:21 pm    Post subject: Reply with quote

morduin wrote:
Wings3d doesnt currently support animations, what are you using for them?

Turrets and so on are obviously handled by code, but the more complicated stuff - troopers running for instance, use a technique called 'framed models'. Essentially I create several copies of the same model in the different 'frames' of the run cycle, and the game interpolates between them. This technique is nothing new (Quake 1&2 used it for instance). From the game point of view, it's the most efficient method for animating lots of low poly models.

Creating the animations is another issue. As you mentioned, wings has no animation support, but as I'm just creating discrete models anyway, I can just about do it by progressively deforming the mesh and saving out each frame. It's far from ideal, and we may have to look into another package in the future. We couldn't use wings if we ever make a game that has full skinned mesh support and needs a separately animated bone structure exporting.
morduin wrote:
There has to be an easier way to UV map. It kills me how I can do 3d models decent, and textures really well but UV mapping is a huge speed bump for me.


I think people are moving more toward auto uv mapped models and 3d painting packages. I actually enjoy UV mapping, although I've never met anyone else who does Smile It's a bit like a 3 dimensional puzzle game in itself...
Back to top
View user's profile Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Discussion Pod Forum Index -> Developer Diary All times are GMT
Goto page Previous  1, 2, 3, 4, 5  Next
Page 4 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group