gamedevlists-general Mailing List for gamedev (Page 10)
Brought to you by:
vexxed72
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(3) |
Oct
(28) |
Nov
(13) |
Dec
(168) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(51) |
Feb
(16) |
Mar
(29) |
Apr
(3) |
May
(24) |
Jun
(25) |
Jul
(43) |
Aug
(18) |
Sep
(41) |
Oct
(16) |
Nov
(37) |
Dec
(208) |
2003 |
Jan
(82) |
Feb
(89) |
Mar
(54) |
Apr
(75) |
May
(78) |
Jun
(141) |
Jul
(47) |
Aug
(7) |
Sep
(3) |
Oct
(16) |
Nov
(50) |
Dec
(213) |
2004 |
Jan
(76) |
Feb
(76) |
Mar
(23) |
Apr
(30) |
May
(14) |
Jun
(37) |
Jul
(64) |
Aug
(29) |
Sep
(25) |
Oct
(26) |
Nov
(1) |
Dec
(10) |
2005 |
Jan
(9) |
Feb
(3) |
Mar
|
Apr
|
May
(11) |
Jun
|
Jul
(39) |
Aug
(1) |
Sep
(1) |
Oct
(4) |
Nov
|
Dec
|
2006 |
Jan
(24) |
Feb
(18) |
Mar
(9) |
Apr
|
May
|
Jun
|
Jul
(14) |
Aug
(29) |
Sep
(2) |
Oct
(5) |
Nov
(4) |
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(11) |
Sep
(9) |
Oct
(5) |
Nov
(4) |
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(34) |
Jun
|
Jul
(9) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(4) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: <bac...@ke...> - 2005-07-13 12:25:00
|
Hi I'm working on an improved math library. We are developing for linux and windows. I have a problem with inline assembly codes I can inline an assembly code, but I have to write all the codes 2 times to be able to compile with gcc and MSVC. I know about NASM, but with NASM I loose the inline functions. How do you guys do it? Writing every asm peace 2 or more times? Sacrifice the inline or add one more function call to the assembly function? How expensive is a function call today? Is there a way to convert Microsoft MASM code to GCC GAS? Best Regards Peter Balogh |
From: George W. <ge...@ap...> - 2005-05-17 16:40:10
|
On Mon, 16 May 2005 15:26:20 -0400, "Ken Noland" <kn...@wh...> wrote: > I toyed with using a "sliding mixer", although at the time I didn't know > what it was called. I noticed it would work on most cases, but as soon > as you approached an area with tons of explosions and gunfire, and then > you moved into an area that was quiet, the music was noticeably louder. > I'm toying with the idea of using the slider based off of distance as > well as sample amplitude. I'll let you know how that goes! Perhaps you could pre-mix everything but the music together and then average that with your music. The music then would maintain it's constant dynamic range and only your incidental sounds would be dynamically mixed together. > I still haven't been able to find anything about this on the web, even > though I have found a ton of pages about DSP and how to use FFT and all > that fun stuff, none of them had any reduction mixing algorithms that I > could find. "Game Audio Programming" is one of the more dog-ear'ed books in my programming bookcase. There are also many good sound articles in the Game Programming Gems series from Charles River Media. Also check out Csound, an open source sound library. An excellent book that explains it well is "The Csound Book: Perspectives in Software Synthesis, Sound Design, Signal Processing, and Programming" by Richard Boulanger (Editor). -- Enjoy, George Warner, Schizophrenic Optimization Scientist Apple Developer Technical Support (DTS) |
From: George W. <ge...@ap...> - 2005-05-17 16:12:39
|
On Mon, 16 May 2005 13:45:53 -0400, Brian Hook <ho...@bo...> wrote: >> IIRC what you're looking for is called "cross normalization". You >> don't average (add all channels together and divide by the number >> of channels) because dead channels will attenuate the output too >> much; > > The other issue is how large a window you perform these operations on. > Clamping can be done per-sample-slice, but if you average per-sample > then your volume is going to be all over the map. This is true. The min/max (or absolutes) should be used to compute an envelope. This envelope is used to up an AGC that then decay's over time. >> Instead you add the absolute values of all the channels >> together (pseudo envelope) and then normalize each channel against >> this absolute value. To improve dynamic range this should be done >> on a logarithmic scale. > > This is the similar to "riding the mixing slider", which works, but > requires a lot more computational effort as you keep track of a > sliding window and perform the normalization (via table lookup > hopefully), along with a global volume attenuation. I haven't found it to be particularly computationally heavy at all. Even the logarithmic mixing lends itself well to optimization if you have SIMD. > Unfortunately it's still very susceptible to heavy transients, but at > least loud sections get compressed down. This much is true. More importantly quiet channels aren't lost altogether when you have lots of silent channels. -- Enjoy, George Warner, Schizophrenic Optimization Scientist Apple Developer Technical Support (DTS) |
From: Brian H. <ho...@bo...> - 2005-05-16 21:34:50
|
> was noticeably louder. I'm toying with the idea of using the slider > based off of distance as well as sample amplitude. I'll let you > know how that goes! What I've done in the past, which is cheap and easy but a gross hack, is to track the number of live sounds and use that as an amplitude modulation factor. The problem is that it's possible to have two sounds that sum to more power than 32 sounds, but on average 32 sounds will be louder than 2 sounds, but not 32 times louder*. So you don't want to just scale by (32-n)/32 (the number of active sounds), since that will drop off volume far too quickly. And it's still prone to failing in edge conditions. There really is no perfect way to get around it -- you have a fixed maximum range that can be exceeded, and you can't predict with 100% accuracy when this will happen without introducing latency and using some kind of real-time compression/limiting. Latency sucks for games, and real-time compression/limiting is expensive. FWIW, I don't believe any hardware mixers solve this problem either. Brian * Insert standard tangent about power, volume, and loudness -- by louder I mean "32 times greater amplitude". |
From: Ken N. <kn...@wh...> - 2005-05-16 19:26:56
|
Hey, I toyed with using a "sliding mixer", although at the time I didn't know what it was called. I noticed it would work on most cases, but as soon as you approached an area with tons of explosions and gunfire, and then you moved into an area that was quiet, the music was noticeably louder. I'm toying with the idea of using the slider based off of distance as well as sample amplitude. I'll let you know how that goes! I still haven't been able to find anything about this on the web, even though I have found a ton of pages about DSP and how to use FFT and all that fun stuff, none of them had any reduction mixing algorithms that I could find. Thanks -Ken Noland -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of Brian Hook Sent: Monday, May 16, 2005 1:46 PM To: gam...@li... Subject: re: [GD-General] Sound > IIRC what you're looking for is called "cross normalization". You > don't average (add all channels together and divide by the number > of channels) because dead channels will attenuate the output too > much; The other issue is how large a window you perform these operations on.=20 Clamping can be done per-sample-slice, but if you average per-sample=20 then your volume is going to be all over the map. > Instead you add the absolute values of all the channels > together (pseudo envelope) and then normalize each channel against > this absolute value. To improve dynamic range this should be done > on a logarithmic scale. This is the similar to "riding the mixing slider", which works, but=20 requires a lot more computational effort as you keep track of a=20 sliding window and perform the normalization (via table lookup=20 hopefully), along with a global volume atenuation. Unfortunately it's still very susceptible to heavy transients, but at=20 least loud sections get compressed down. Something else to look at are compression/limitation DSP algorithms. Brian ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_idt12&alloc_id=16344&op=3Dick _______________________________________________ Gamedevlists-general mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-general Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU7 |
From: Brian H. <ho...@bo...> - 2005-05-16 17:46:25
|
> IIRC what you're looking for is called "cross normalization". You > don't average (add all channels together and divide by the number > of channels) because dead channels will attenuate the output too > much; The other issue is how large a window you perform these operations on. Clamping can be done per-sample-slice, but if you average per-sample then your volume is going to be all over the map. > Instead you add the absolute values of all the channels > together (pseudo envelope) and then normalize each channel against > this absolute value. To improve dynamic range this should be done > on a logarithmic scale. This is the similar to "riding the mixing slider", which works, but requires a lot more computational effort as you keep track of a sliding window and perform the normalization (via table lookup hopefully), along with a global volume atenuation. Unfortunately it's still very susceptible to heavy transients, but at least loud sections get compressed down. Something else to look at are compression/limitation DSP algorithms. Brian |
From: Brian H. <ho...@bo...> - 2005-05-16 17:43:32
|
> In my experience, clamping has worked pretty well. Much better > than it has a right to. I believe this depends on the degree of clamping. > The main case where it works badly is when you have two (or more) > of the same sound triggered at exactly the time. If you can avoid > that case, then you may not be able to hear the clipping at all. > YMMV. When the same sound is triggered multiple times, it just means the amplitude is going through the roof, so the clipping is a far more apparent since you get a heavily clipped wave form. A lightly clipped wave form isn't going nearly as bad, it pretty much comes down to how "chopped" the signal looks. It's still better than allowing it to wrap, however, which introduces all kinds of nasty pops and clicks. If you're not clipping often, then I don't think you'll hear it too often and it gets absorbed into the noise. Brian |
From: George W. <ge...@ap...> - 2005-05-16 17:34:16
|
On Sun, 15 May 2005 11:42:03 -0400, "Ken Noland" <kn...@wh...> wrote: > Anybody know any good sound lists or really great articles on software > sound mixing? I built a continuous streaming sound system and I'm having > difficulties mixing two sounds together. Just doing an addition to the > two sound samples produces errors when the sound wraps around the > limitations of a signed short. Clamping that doesn't work either since > sound is measured in a difference of samples. Doing an average on the > two sound samples causes sounds to be more quiet then they should > naturally be, so is there a better way? IIRC what you're looking for is called "cross normalization". You don't average (add all channels together and divide by the number of channels) because dead channels will attenuate the output too much; Instead you add the absolute values of all the channels together (pseudo envelope) and then normalize each channel against this absolute value. To improve dynamic range this should be done on a logarithmic scale. -- Enjoy, George Warner, Schizophrenic Optimization Scientist Apple Developer Technical Support (DTS) |
From: Thatcher U. <tu...@tu...> - 2005-05-16 03:46:32
|
On May 15, 2005 at 12:55 -0400, Brian Hook wrote: > On Sun, 15 May 2005 11:42:03 -0400, Ken Noland wrote: > > > Clamping that > > doesn?t work either since sound is measured in a difference of > > samples. > > Clamping doesn't work, period, since you end up clipping and > introducing distortion as a result. In my experience, clamping has worked pretty well. Much better than it has a right to. The main case where it works badly is when you have two (or more) of the same sound triggered at exactly the time. If you can avoid that case, then you may not be able to hear the clipping at all. YMMV. -- Thatcher Ulrich http://tulrich.com |
From: Ken N. <kn...@wh...> - 2005-05-15 20:47:58
|
Brian, Thank you for your feedback! I just bought the book, so hopefully it gets here in a few days. I can't use quieter sounds simply because I'm mixing up to 32 sound sources at once and if I reduce their volume to 1/32 the original then the user would have to have their speakers cranked up. I'll look into it some more and hopefully find a solution that will meet the requirements. Thanks again, -Ken Noland -----Original Message----- From: gam...@li... [mailto:gam...@li...] On Behalf Of Brian Hook Sent: Sunday, May 15, 2005 12:55 PM To: gam...@li... Subject: Re: [GD-General] Sound On Sun, 15 May 2005 11:42:03 -0400, Ken Noland wrote: > Anybody know any good sound lists or really great articles on > software sound mixing? Try a good book on sound programming, several of them exist. Off the=20 top of my head is A Programmer's Guide to Sound by Kientzle. > an addition to the two sound samples produces errors when the sound > wraps around the limitations of a signed short. Yes. Welcome to sound programming =3D) > Clamping that > doesn't work either since sound is measured in a difference of > samples. Clamping doesn't work, period, since you end up clipping and=20 introducing distortion as a result. > Doing an average on the two sound samples causes sounds to > be more quiet then they should naturally be, so is there a better > way? Well, an average is just doing the addition and then rescaling the=20 results, which isn't always going to help you and just raises the=20 noise floor. There is no easy way around this. It's a large, complicated topic,=20 but the simplest answer (until you learn about the intricacies=20 involved) is "use quieter sounds". That way when you sum a bunch of=20 them, they hopefully won't clip, but even that's not a guarantee. Some fancier stuff mixes in floats and rescales on the fly, or applies=20 real-time compression/limiting, but that starts getting into the realm=20 of REAL complicated for someone without sound programming experience. Brian ------------------------------------------------------- This SF.Net email is sponsored by Oracle Space Sweepstakes Want to be the first software developer in space? Enter now for the Oracle Space Sweepstakes! http://ads.osdn.com/?ad_ids93&alloc_id=16281&op=3Dick _______________________________________________ Gamedevlists-general mailing list Gam...@li... https://lists.sourceforge.net/lists/listinfo/gamedevlists-general Archives: http://sourceforge.net/mailarchive/forum.php?forum_idU7 |
From: Brian H. <ho...@bo...> - 2005-05-15 16:55:51
|
On Sun, 15 May 2005 11:42:03 -0400, Ken Noland wrote: > Anybody know any good sound lists or really great articles on > software sound mixing? Try a good book on sound programming, several of them exist. Off the top of my head is A Programmer's Guide to Sound by Kientzle. > an addition to the two sound samples produces errors when the sound > wraps around the limitations of a signed short. Yes. Welcome to sound programming =3D) > Clamping that > doesn=92t work either since sound is measured in a difference of > samples. Clamping doesn't work, period, since you end up clipping and introducing distortion as a result. > Doing an average on the two sound samples causes sounds to > be more quiet then they should naturally be, so is there a better > way? Well, an average is just doing the addition and then rescaling the results, which isn't always going to help you and just raises the noise floor. There is no easy way around this. It's a large, complicated topic, but the simplest answer (until you learn about the intricacies involved) is "use quieter sounds". That way when you sum a bunch of them, they hopefully won't clip, but even that's not a guarantee. Some fancier stuff mixes in floats and rescales on the fly, or applies real-time compression/limiting, but that starts getting into the realm of REAL complicated for someone without sound programming experience. Brian |
From: Ken N. <kn...@wh...> - 2005-05-15 15:42:46
|
Hey, =20 Anybody know any good sound lists or really great articles on software sound mixing? I built a continuous streaming sound system and I'm having difficulties mixing two sounds together. Just doing an addition to the two sound samples produces errors when the sound wraps around the limitations of a signed short. Clamping that doesn't work either since sound is measured in a difference of samples. Doing an average on the two sound samples causes sounds to be more quiet then they should naturally be, so is there a better way? =20 Thanks, -Ken Noland |
From: Jamie F. <ja...@qu...> - 2005-02-17 17:07:14
|
We use ImageMagick in our tool chain. It's not always 100% reliable, particularly between revisions when as many things break as are improved. But we haven't found anything better at a sane price (until we find time to write our own, of course :) I haven't used ODE personally, although people using our game engine have, and it seems to work pretty well. I've not come across a better free physics engine. It didn't seem to get updated terribly often last time I looked, though, so you may well need someone on your team who's clued up in the physics arena to use it effectively. That's possibly true of any physics engine :) We use Qt rather than wxWidgets for our tool GUI stuff; that may or may not fit into your budget. <blow own trumpet> You might also like to look at our (not open source) engine, Q, for various purposes. It's feature rich, although the current version provides no low-level graphics access, and is available at no cost for the development and release of commercial and non-commercial applications on Windows and Linux. Additional platforms (Mac OS X, FreeBSD, PS2, Xbox) and commercial support are also available. http://qdn.qubesoft.com/ </blow own trumpet> Jamie Fowlston Qube Software Ron Hay wrote: > [I asked this on the SWEng-GameDev list, but I want this list's opinion, > too] > > Hey gang, > > We're currently looking through the various open source (and some > commercial) offerings for the various needs of a game/simulation > architecture. This includes: > - SDL for low-level input, and possibly sound, video, threading, and > sockets. > - DataReel for threading (amongst other things) > - ImageMagick for image file reading > - wxWidgets for the windowing environment (in addition to a 3D GUI > toolkit) > - ODE for physics, collisions, and general dynamics > - maybe OpenSG or OpenSceneGraph for general architecture > > Does anyone have experience with any of these packages for use with > real-time graphical applications? We don't mind not being cutting edge > as most of our development is for the Military and Education arenas. We > are a relatively small team that tends to get tasked with too many > projects, so we're looking for packages that will help us get stuff done > faster without sacrificing too much performance. > > If you have suggestions for alternatives to the packages I listed, > that's of interest to us as well. > > Thanks in advance! > > Ron Hay > Cybernet Systems Corp. > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Gamedevlists-general mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-general > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=557 |
From: Ron H. <rh...@cy...> - 2005-02-17 16:43:38
|
[I asked this on the SWEng-GameDev list, but I want this list's opinion, too] Hey gang, We're currently looking through the various open source (and some commercial) offerings for the various needs of a game/simulation architecture. This includes: - SDL for low-level input, and possibly sound, video, threading, and sockets. - DataReel for threading (amongst other things) - ImageMagick for image file reading - wxWidgets for the windowing environment (in addition to a 3D GUI toolkit) - ODE for physics, collisions, and general dynamics - maybe OpenSG or OpenSceneGraph for general architecture Does anyone have experience with any of these packages for use with real-time graphical applications? We don't mind not being cutting edge as most of our development is for the Military and Education arenas. We are a relatively small team that tends to get tasked with too many projects, so we're looking for packages that will help us get stuff done faster without sacrificing too much performance. If you have suggestions for alternatives to the packages I listed, that's of interest to us as well. Thanks in advance! Ron Hay Cybernet Systems Corp. |
From: Stephen C. <sc...@in...> - 2005-02-11 06:51:22
|
For the football game I worked on we actually kept game state for each frame instead of recreating it from stored inputs. The downside, as you might expect, was memory cost. The advantage was that we could easily allow the player to jog the replay forward or backward a any speed instead of just presenting a canned replay shot. Interpolating between frames gave a pretty good smooth slow-motion effect, too. Since it was a football game with discrete downs we only needed to keep a single play's worth of data making this approach viable. It all depends on your requirements. Stephen ----- Original Message ----- From: "Kent Quirk" <ken...@co...> To: <gam...@li...> Sent: Tuesday, January 25, 2005 5:17 AM Subject: Re: [GD-General] Sports Game Replay > It's not naive, but it's not trivial to get right. > > You have to make sure you record and play back ALL forms of input -- which > is basically anything that can affect your performance. This includes exact > timing and random number generation. One way of doing it is to feed all > your input through a queue and include timing information in the input > stream. It might be easier to think of the timing information as delay > messages on the input stream, rather than tagging each event with a time. > (Makes it easier to stretch timing or pause by increasing the delay > messages without affecting the relationship between other objects.) > > One of the difficulties we ran into when we tried this was repeatability of > the detailed collision data. We ended up forcing the position of all > movable objects in the world to something like 4 or 5 digits of precision > every frame. It kept minor changes in floating point bits from blowing up > and affecting future actions ("the butterfly effect"). Depending on the > size of your world, this may be harder. > > You also have to have fixed-framerate physics. Don't expect to adjust your > physics time tick size from frame to frame. If you decide to do slow-motion > and want it to look smooth, don't try to run your physics at a higher frame > rate in the world -- run the physics at the same rate but interpolate > between frames. > > Kent > > > > At 08:35 PM 1/24/2005, you wrote: > >Hiya, > >I think this is as good place as any to post this... > > > >We're just starting a new sports game project, and we have been asked to > >provide replays of the action. We have done many sports games before, but > >oddly none had a replay feature (was never requested before by publisher). > >Anyways, can anybody provide any tips or insights into things we need to > >watch out for or methods to support this feature? > > > >The game needs to run on the PS2 so memory and IO is limited. Our > >characters use virtual controllers for all the movement so is it naive to > >just compress and store controller inputs for everything and then rerun the > >simulation with that? > > > >Cheers, > >-bb > > > > > > > >------------------------------------------------------- > >This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting > >Tool for open source databases. Create drag-&-drop reports. Save time > >by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. > >Download a FREE copy at http://www.intelliview.com/go/osdn_nl > >_______________________________________________ > >Gamedevlists-general mailing list > >Gam...@li... > >https://lists.sourceforge.net/lists/listinfo/gamedevlists-general > >Archives: > >http://sourceforge.net/mailarchive/forum.php?forum_id=557 > > ---- > Kent Quirk > CTO, CogniToy > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting > Tool for open source databases. Create drag-&-drop reports. Save time > by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. > Download a FREE copy at http://www.intelliview.com/go/osdn_nl > _______________________________________________ > Gamedevlists-general mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-general > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=557 |
From: Jamie F. <ja...@qu...> - 2005-01-26 11:15:22
|
One more thing: save the results of the game before you play the replay, don't rely on the replay to give you exactly the same results (even though it should :) You don't want the user to lose a game as a result of a broken replay of a game they won. Jamie Brett Bibby wrote: > From: "Wismerhill" <wi...@ch...> > >>Have you read >>http://www.gamasutra.com/features/20040204/wagner_01.shtml ? It's on >>PS2 too. > > > Doh! I will thanks. > > From: "Jamie Fowlston" <ja...@qu...> > >>Things to watch out for: >> >>- If you have time delta dependent code, you need to replicate the >>deltas as well. >>- Initialize all class members properly, or you'll get different >>behaviour on replay. >>- Make sure you test multiple game cycles from early on, i.e. frontend >>-> game -> frontend -> game. >>- It's one of the areas which is amenable to automated unit and >>regression testing. >>- Random numbers can be bad. If you're using them, make sure you >>reinitialize with the right seed. > > > Awesome, thanks! > > From: "Kent Quirk" <ken...@co...> > >>You also have to have fixed-framerate physics. Don't expect to adjust your >>physics time tick size from frame to frame. If you decide to do > > slow-motion > >>and want it to look smooth, don't try to run your physics at a higher > > frame > >>rate in the world -- run the physics at the same rate but interpolate >>between frames. > > > Good point, thanks! > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting > Tool for open source databases. Create drag-&-drop reports. Save time > by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. > Download a FREE copy at http://www.intelliview.com/go/osdn_nl > _______________________________________________ > Gamedevlists-general mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-general > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=557 |
From: Brett B. <res...@ga...> - 2005-01-26 00:04:44
|
From: "Wismerhill" <wi...@ch...> > Have you read > http://www.gamasutra.com/features/20040204/wagner_01.shtml ? It's on > PS2 too. Doh! I will thanks. From: "Jamie Fowlston" <ja...@qu...> > Things to watch out for: > > - If you have time delta dependent code, you need to replicate the > deltas as well. > - Initialize all class members properly, or you'll get different > behaviour on replay. > - Make sure you test multiple game cycles from early on, i.e. frontend > -> game -> frontend -> game. > - It's one of the areas which is amenable to automated unit and > regression testing. > - Random numbers can be bad. If you're using them, make sure you > reinitialize with the right seed. Awesome, thanks! From: "Kent Quirk" <ken...@co...> > You also have to have fixed-framerate physics. Don't expect to adjust your > physics time tick size from frame to frame. If you decide to do slow-motion > and want it to look smooth, don't try to run your physics at a higher frame > rate in the world -- run the physics at the same rate but interpolate > between frames. Good point, thanks! |
From: Wismerhill <wi...@ch...> - 2005-01-25 13:24:11
|
Brett Bibby ecrivit le 25/01/2005 02:35 : > Hiya, > I think this is as good place as any to post this... > > We're just starting a new sports game project, and we have been asked to > provide replays of the action. We have done many sports games before, but > oddly none had a replay feature (was never requested before by publisher). > Anyways, can anybody provide any tips or insights into things we need to > watch out for or methods to support this feature? > > The game needs to run on the PS2 so memory and IO is limited. Our > characters use virtual controllers for all the movement so is it naive to > just compress and store controller inputs for everything and then rerun the > simulation with that? Have you read http://www.gamasutra.com/features/20040204/wagner_01.shtml ? It's on PS2 too. |
From: Jamie F. <ja...@qu...> - 2005-01-25 13:20:05
|
That is the standard way to do it (of course, you only need to record the player inputs, everything else should drop out of the simulation; certainly this is the way we did it in Driver), although it can be a bit of a nightmare to get it working and keep it working. If you can spare the memory, you can add extra data to help keep the thing looking like a replay even when it fails, but that may or may not really help (and will almost certainly cover any bugs in the proper replay code). Things to watch out for: - If you have time delta dependent code, you need to replicate the deltas as well. - Initialize all class members properly, or you'll get different behaviour on replay. - Make sure you test multiple game cycles from early on, i.e. frontend -> game -> frontend -> game. - It's one of the areas which is amenable to automated unit and regression testing. - Random numbers can be bad. If you're using them, make sure you reinitialize with the right seed. Hmmm, that's about all that floats to the top of my brain at the mo. Jamie Brett Bibby wrote: > Hiya, > I think this is as good place as any to post this... > > We're just starting a new sports game project, and we have been asked to > provide replays of the action. We have done many sports games before, but > oddly none had a replay feature (was never requested before by publisher). > Anyways, can anybody provide any tips or insights into things we need to > watch out for or methods to support this feature? > > The game needs to run on the PS2 so memory and IO is limited. Our > characters use virtual controllers for all the movement so is it naive to > just compress and store controller inputs for everything and then rerun the > simulation with that? > > Cheers, > -bb > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting > Tool for open source databases. Create drag-&-drop reports. Save time > by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. > Download a FREE copy at http://www.intelliview.com/go/osdn_nl > _______________________________________________ > Gamedevlists-general mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-general > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=557 |
From: Kent Q. <ken...@co...> - 2005-01-25 13:19:13
|
It's not naive, but it's not trivial to get right. You have to make sure you record and play back ALL forms of input -- which is basically anything that can affect your performance. This includes exact timing and random number generation. One way of doing it is to feed all your input through a queue and include timing information in the input stream. It might be easier to think of the timing information as delay messages on the input stream, rather than tagging each event with a time. (Makes it easier to stretch timing or pause by increasing the delay messages without affecting the relationship between other objects.) One of the difficulties we ran into when we tried this was repeatability of the detailed collision data. We ended up forcing the position of all movable objects in the world to something like 4 or 5 digits of precision every frame. It kept minor changes in floating point bits from blowing up and affecting future actions ("the butterfly effect"). Depending on the size of your world, this may be harder. You also have to have fixed-framerate physics. Don't expect to adjust your physics time tick size from frame to frame. If you decide to do slow-motion and want it to look smooth, don't try to run your physics at a higher frame rate in the world -- run the physics at the same rate but interpolate between frames. Kent At 08:35 PM 1/24/2005, you wrote: >Hiya, >I think this is as good place as any to post this... > >We're just starting a new sports game project, and we have been asked to >provide replays of the action. We have done many sports games before, but >oddly none had a replay feature (was never requested before by publisher). >Anyways, can anybody provide any tips or insights into things we need to >watch out for or methods to support this feature? > >The game needs to run on the PS2 so memory and IO is limited. Our >characters use virtual controllers for all the movement so is it naive to >just compress and store controller inputs for everything and then rerun the >simulation with that? > >Cheers, >-bb > > > >------------------------------------------------------- >This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting >Tool for open source databases. Create drag-&-drop reports. Save time >by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. >Download a FREE copy at http://www.intelliview.com/go/osdn_nl >_______________________________________________ >Gamedevlists-general mailing list >Gam...@li... >https://lists.sourceforge.net/lists/listinfo/gamedevlists-general >Archives: >http://sourceforge.net/mailarchive/forum.php?forum_id=557 ---- Kent Quirk CTO, CogniToy |
From: Brett B. <res...@ga...> - 2005-01-25 01:19:21
|
Hiya, I think this is as good place as any to post this... We're just starting a new sports game project, and we have been asked to provide replays of the action. We have done many sports games before, but oddly none had a replay feature (was never requested before by publisher). Anyways, can anybody provide any tips or insights into things we need to watch out for or methods to support this feature? The game needs to run on the PS2 so memory and IO is limited. Our characters use virtual controllers for all the movement so is it naive to just compress and store controller inputs for everything and then rerun the simulation with that? Cheers, -bb |
From: Stefan B. <Ste...@di...> - 2005-01-19 11:06:48
|
I *think* PC-Lint should be able to do just that, but it's not easy to get it set up on a large codebase so we haven't gotten around to doing it yet. If you find another alternative, I'd love to hear about it. Cheers, Stefan -- Stefan Boberg Chief Technical Officer Digital Illusions CE AB > -----Original Message----- > From: swe...@li... > [mailto:swe...@li...] On > Behalf Of Amy Phillips > Sent: 19 January 2005 12:01 > To: gam...@li...; sweng- > ga...@mi... > Subject: [Sweng-gamedev] Checking for unnecessary #included files >=20 > Good morning! >=20 > Do you know of any programs or scripts that can be used to check a source > base for unnecessary #includes? I would like it to pick up on header > files > that are included but none of the contents are used. Also I'd like it to > realise where you have a pointer to an object, and could replace >=20 > #include "ClassA.h" >=20 > with a declaration >=20 > class CClassA >=20 > Does such software exist, either as freeware or to buy? >=20 > Thanks, >=20 > Amy > _______________________________________________ > Sweng-gamedev mailing list > Swe...@li... > http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev- > midnightryder.com |
From: Amy P. <Am...@cs...> - 2005-01-19 11:02:30
|
Good morning! Do you know of any programs or scripts that can be used to check a source base for unnecessary #includes? I would like it to pick up on header files that are included but none of the contents are used. Also I'd like it to realise where you have a pointer to an object, and could replace #include "ClassA.h" with a declaration class CClassA Does such software exist, either as freeware or to buy? Thanks, Amy |
From: Glenn F. <ga...@ga...> - 2005-01-03 01:59:25
|
Hey everyone, I've just released the demo program and presentation from my AGDC 2004 talk "Zen of Networked Physics" with full source code. In a nutshell the talk describes a generalization of standard fps netcode techniques to any physics simulation, allowing you to perfectly network any physics simulation provided that it is deterministic, driven by input, and each object on the server is owned by a client. All the standard techniques are presented such as client side prediction (eliminate client side latency), important moves (redundancy to handle packet loss situations) and lock step between client and server. This demo implements these techniques flawlessly to such a point that the simulation can be networked at a simulated 2 seconds latency and 50% packet loss with zero snapping and percieved latency for the client. A full description of the demo and source and a download can be found at: http://69.55.229.29/archives/2004/12/zen_of_networke_1.html You can also find a series of articles on game physics and networking supporting this talk here: http://www.gaffer.org/articles with supporting sourcecode here: http://69.55.229.29/downloads/GamePhysics.zip hope you guys find this stuff useful cheers, Glenn Fiedler ga...@ga... |
From: Mike W. <mi...@ge...> - 2004-12-29 22:01:29
|
For example, we targetted our recent title to a very low machine spec and have found out that we have to release a patch to target it even lower because our market has older computers than we had originally anticipated. I wouldn't target shader-cards only unless you are targetting the FPS hardcore gamer crowd - 99% of the customers we talk to barely have geforce2 cards if even that good. I'm not even kidding. Pixel Shader cards are just NOT that popular yet. There are a LOT of old computers out there still, and considering how hard it is to make a dent in the market - normal business thinking would be to not create any artificial limitations on your market. Dunno, just me. Mike W GDGi ja...@qu... wrote: > Hi Pavel, > > The question really goes the other way round. Are people with FFP cards a > significant part of your target market? If so, you should support them. If > not, you needn't bother. Of course, deciding your target market should be > something you sort out with your publisher. > > There is no restricted information here, you just need to decide what's > right for you :) > > Jamie > > > >>Hello ppl, >> >>I'm just wonder if it's still needed for upcoming games to support >>fixed pipeline for rendering? and there for set as minimum >>requirements vs1_1 and ps_1_1. >>Or probably still a lot of users have GPU that doesn't support >>shaders? And how it can change in near two years? >> >>I'm not sure if this information is restricted (probably this info >>could know only publishers), but probably someone can reply smth... >> >>Thanks in advance. >> >>-- >>Best regards, >> Pavel Tumik mailto:sa...@ro... >> >> >> >>------------------------------------------------------- >>SF email is sponsored by - The IT Product Guide >>Read honest & candid reviews on hundreds of IT Products from real users. >>Discover which products truly live up to the hype. Start reading now. >>http://productguide.itmanagersjournal.com/ >>_______________________________________________ >>Gamedevlists-general mailing list >>Gam...@li... >>https://lists.sourceforge.net/lists/listinfo/gamedevlists-general >>Archives: >>http://sourceforge.net/mailarchive/forum.php?forum_id=557 >> > > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://productguide.itmanagersjournal.com/ > _______________________________________________ > Gamedevlists-general mailing list > Gam...@li... > https://lists.sourceforge.net/lists/listinfo/gamedevlists-general > Archives: > http://sourceforge.net/mailarchive/forum.php?forum_id=557 > > |