[gameprogrammer] Non competes

Hey,

A couple of Game companies in India seem to have non competes and they are 
pretty well known within the industry. What I mean is they have non competes 
that states that after you leave them you cannot work in a similar company 
for a year within the whole country. Now this does not exist in the regular 
software industry which also have equally costly technology to contend with 
when they train people. Although the company considers that I am a trained 
professionals they claim that these are terms used to deter people from 
leaving the company after having learnt their technology. Firstly if I do 
join a company I wouldn't be planning on leaving it for at least a while, 
but I would still be skeptical of wanting to sign such agreements. Secondly 
why would a good company be afraid of an employee leaving ?

My question to all of you is - how valid are these points ? What more 
questions can I pose to such companies which give me such an explanation. 
Surely the regular software companies are also weary of such issues and they 
too spends millions on technology, so how come they are able to handle such 
issues ?

Thanks
Gautam Narain



Gautam Narain
http://www.geocities.com/gautamn2000




>From: FreeLists Mailing List Manager <ecartis@xxxxxxxxxxxxx>
>Reply-To: gameprogrammer@xxxxxxxxxxxxx
>To: gameprogrammer digest users <ecartis@xxxxxxxxxxxxx>
>Subject: gameprogrammer Digest V2 #68
>Date: Fri, 29 Apr 2005 02:05:45 -0500 (EST)
>
>gameprogrammer Digest  Thu, 28 Apr 2005        Volume: 02  Issue: 068
>
>In This Issue:
>               [gameprogrammer] Re: Embedded file monitoring system?
>               [gameprogrammer] Re: Embedded file monitoring system?
>               [gameprogrammer] Re: Embedded file monitoring system?
>               [gameprogrammer] Re: Embedded file monitoring system?
>               [gameprogrammer] Re: Embedded file monitoring system?
>               [gameprogrammer] Re: Embedded file monitoring system?
>               [gameprogrammer] Re: Embedded file monitoring system?
>
>----------------------------------------------------------------------
>
>From: "Trollfiddler" <trollfiddler@xxxxxxxxxxx>
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>Date: Thu, 28 Apr 2005 10:45:21 +0100
>
>Unless you use java. Cross platform IO works fine on various versions of
>Windows and Unix. Probably no use to you at this stage, but if it really 
>HAS
>to be cross platform then it's worth mentioning in case you hit a dead end.
>
>----- Original Message -----
>From: "Scott Harper" <lareon@xxxxxxxxxxx>
>To: <gameprogrammer@xxxxxxxxxxxxx>
>Sent: Thursday, April 28, 2005 3:43 AM
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>
>
> > Good luck on the cross-platform-ness in this regard.  I don't know TOO
> > much about programming on a per-system level, but from what I've
> > learned, dealing with the filesystems is almost COMPLETELY different
> > from platform to platform.  You would literally have to write calls
> > using completely different code on each platform to do the different
> > things.
> >
> > Although, now that I think of it, I suppose it wouldn't be unreasonable
> > to implement this way, just a whole bunch of #ifdef's in your code, I
> > imagine.  Careful coding would be requisite in this case, though, to
> > ensure that each platform's code was isolated appropriately.
> >
> > If you do it that way, you should go to the wiki and upload a tutorial!
> >
> > --Scott
> >
> > On 27 Apr, 2005, at 7:37 PM, Swalrus wrote:
> >
> >> On Wed, 2005-04-27 at 13:03 +0000, John-Philip Johansson wrote:
> >>> While I was reading "The Guerrilla Guide to Game Code"
> >>> (http://www.gamasu=
> >> tra.com/features/20050414/rouwe_01.shtml), which is a great article
> >> btw, I =
> >> came across this at the end; under References:
> >>> [Butcher]: Halo 2 =96 Chris Butcher =96 Speech at game|tech 2004
> >>> ( http://www.game-tech.com/Talks/Butcher.doc )
> >>
> >> Reading that document (a great reading, BTW), a Halo2 feature Butcher
> >> talks about just caught my attention. He talks of an embedded file
> >> monitoring system that reloads game assets when the related files are
> >> modified on the HD. For example, if a texture image is modified, it's
> >> automatically reloaded in the game, immediately showing 3D models with
> >> the new texture. And the same goes for all kinds of objects (geometry,
> >> collisions data, sounds, etc)
> >>
> >> This kind of thing would be REALLY helpful in a small game I'm
> >> developing, and so I wonder how could I implement this feature.=20
> >>
> >> I suppose I would have to manually poll each and every file I want to
> >> monitor every few seconds, to see if they've been modified, but... do
> >> you know if there's a better way to do it?
> >>
> >> I've been googling for a library I could use to do this kind of stuff,
> >> but the only ones I've found where non-portable (I need it to be
> >> cross-platform), and relied on a client-server architecture (see SGI's
> >> FAM for example).
> >>
> >> Do you know of any library that could be used for this? Or will I have
> >> to code this feature from scratch?
> >>
> >> Thank you!
> >>
> >>
> >>
> >>
> >> ---------------------
> >> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>
> >>
> >
> >
> >
> > ---------------------
> > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >
> >
> >
>
>------------------------------
>
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>From: Swalrus <swalrus@xxxxxxxxxxxxxx>
>Date: Thu, 28 Apr 2005 17:47:00 +0200
>
>On Thu, 2005-04-28 at 10:45 +0100, Trollfiddler wrote:
> > Unless you use java. Cross platform IO works fine on various versions of
> > Windows and Unix. Probably no use to you at this stage, but if it really 
>HAS
> > to be cross platform then it's worth mentioning in case you hit a dead 
>end.
>
>Unfortunately I'm coding it using C++, so Java's I/O capabilities won't be 
>of
>much help this time :(
>
>Anyway, I've just found a C++ library that seems portable enough (works
>on all POSIX compliant platforms and Windows), and that lets you check
>files' last modification time as I needed. It's one of the Boost.org set
>of libraries, called Boost Filesystem Library.
>
>Has anybody here used it before?
>
>And, answering Scott here, when I've coded this monitoring system I will
>release under the LGPL, so anybody can use it :) And as you suggested,
>if I manage to code that on-the-fly-assets-reloading system, I will
>upload a tutorial to the wiki :)
>
>Bye
>
> > ----- Original Message -----
> > From: "Scott Harper" <lareon@xxxxxxxxxxx>
> > To: <gameprogrammer@xxxxxxxxxxxxx>
> > Sent: Thursday, April 28, 2005 3:43 AM
> > Subject: [gameprogrammer] Re: Embedded file monitoring system?
> >
> >
> > > Good luck on the cross-platform-ness in this regard.  I don't know TOO
> > > much about programming on a per-system level, but from what I've
> > > learned, dealing with the filesystems is almost COMPLETELY different
> > > from platform to platform.  You would literally have to write calls
> > > using completely different code on each platform to do the different
> > > things.
> > >
> > > Although, now that I think of it, I suppose it wouldn't be 
>unreasonable
> > > to implement this way, just a whole bunch of #ifdef's in your code, I
> > > imagine.  Careful coding would be requisite in this case, though, to
> > > ensure that each platform's code was isolated appropriately.
> > >
> > > If you do it that way, you should go to the wiki and upload a 
>tutorial!
> > >
> > > --Scott
> > >
> > > On 27 Apr, 2005, at 7:37 PM, Swalrus wrote:
> > >
> > >> On Wed, 2005-04-27 at 13:03 +0000, John-Philip Johansson wrote:
> > >>> While I was reading "The Guerrilla Guide to Game Code"
> > >>> (http://www.gamasu=
> > >> tra.com/features/20050414/rouwe_01.shtml), which is a great article
> > >> btw, I =
> > >> came across this at the end; under References:
> > >>> [Butcher]: Halo 2 =96 Chris Butcher =96 Speech at game|tech 2004
> > >>> ( http://www.game-tech.com/Talks/Butcher.doc )
> > >>
> > >> Reading that document (a great reading, BTW), a Halo2 feature Butcher
> > >> talks about just caught my attention. He talks of an embedded file
> > >> monitoring system that reloads game assets when the related files are
> > >> modified on the HD. For example, if a texture image is modified, it's
> > >> automatically reloaded in the game, immediately showing 3D models 
>with
> > >> the new texture. And the same goes for all kinds of objects 
>(geometry,
> > >> collisions data, sounds, etc)
> > >>
> > >> This kind of thing would be REALLY helpful in a small game I'm
> > >> developing, and so I wonder how could I implement this feature.=20
> > >>
> > >> I suppose I would have to manually poll each and every file I want to
> > >> monitor every few seconds, to see if they've been modified, but... do
> > >> you know if there's a better way to do it?
> > >>
> > >> I've been googling for a library I could use to do this kind of 
>stuff,
> > >> but the only ones I've found where non-portable (I need it to be
> > >> cross-platform), and relied on a client-server architecture (see 
>SGI's
> > >> FAM for example).
> > >>
> > >> Do you know of any library that could be used for this? Or will I 
>have
> > >> to code this feature from scratch?
> > >>
> > >> Thank you!
> > >>
> > >>
> > >>
> > >>
> > >> ---------------------
> > >> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > >>
> > >>
> > >
> > >
> > >
> > > ---------------------
> > > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > >
> > >
> > >
> >
> >
> > ---------------------
> > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >
> >
>
>
>------------------------------
>
>From: "Kevin Fields" <drunkendruid@xxxxxxxxxxx>
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>Date: Thu, 28 Apr 2005 16:45:48 -0300
>
>Boost would help to solve the cross-platform issue.
>If it's a texture issue, maybe you should check out the devIL library.
>I know about it because I'm working with the Ogre rendering engine (which
>makes use of both Boost and devIL).
>
>As for determining whether the texture has been modified, instead of 
>polling
>each frame to see if the texture was modified, you could use a sort of 
>event
>handling system where the appropriate texture would have an event signaled
>to it, and in the event handler function for that texture, you would reload
>the texture. But, that's just one possible way of doing things.
>
>Kevin
>
> >From: Swalrus <swalrus@xxxxxxxxxxxxxx>
> >Reply-To: gameprogrammer@xxxxxxxxxxxxx
> >To: gameprogrammer@xxxxxxxxxxxxx
> >Subject: [gameprogrammer] Re: Embedded file monitoring system?
> >Date: Thu, 28 Apr 2005 17:47:00 +0200
> >
> >On Thu, 2005-04-28 at 10:45 +0100, Trollfiddler wrote:
> > > Unless you use java. Cross platform IO works fine on various versions 
>of
> > > Windows and Unix. Probably no use to you at this stage, but if it 
>really
> >HAS
> > > to be cross platform then it's worth mentioning in case you hit a dead
> >end.
> >
> >Unfortunately I'm coding it using C++, so Java's I/O capabilities won't 
>be
> >of
> >much help this time :(
> >
> >Anyway, I've just found a C++ library that seems portable enough (works
> >on all POSIX compliant platforms and Windows), and that lets you check
> >files' last modification time as I needed. It's one of the Boost.org set
> >of libraries, called Boost Filesystem Library.
> >
> >Has anybody here used it before?
> >
> >And, answering Scott here, when I've coded this monitoring system I will
> >release under the LGPL, so anybody can use it :) And as you suggested,
> >if I manage to code that on-the-fly-assets-reloading system, I will
> >upload a tutorial to the wiki :)
> >
> >Bye
> >
> > > ----- Original Message -----
> > > From: "Scott Harper" <lareon@xxxxxxxxxxx>
> > > To: <gameprogrammer@xxxxxxxxxxxxx>
> > > Sent: Thursday, April 28, 2005 3:43 AM
> > > Subject: [gameprogrammer] Re: Embedded file monitoring system?
> > >
> > >
> > > > Good luck on the cross-platform-ness in this regard.  I don't know 
>TOO
> > > > much about programming on a per-system level, but from what I've
> > > > learned, dealing with the filesystems is almost COMPLETELY different
> > > > from platform to platform.  You would literally have to write calls
> > > > using completely different code on each platform to do the different
> > > > things.
> > > >
> > > > Although, now that I think of it, I suppose it wouldn't be
> >unreasonable
> > > > to implement this way, just a whole bunch of #ifdef's in your code, 
>I
> > > > imagine.  Careful coding would be requisite in this case, though, to
> > > > ensure that each platform's code was isolated appropriately.
> > > >
> > > > If you do it that way, you should go to the wiki and upload a
> >tutorial!
> > > >
> > > > --Scott
> > > >
> > > > On 27 Apr, 2005, at 7:37 PM, Swalrus wrote:
> > > >
> > > >> On Wed, 2005-04-27 at 13:03 +0000, John-Philip Johansson wrote:
> > > >>> While I was reading "The Guerrilla Guide to Game Code"
> > > >>> (http://www.gamasu=
> > > >> tra.com/features/20050414/rouwe_01.shtml), which is a great article
> > > >> btw, I =
> > > >> came across this at the end; under References:
> > > >>> [Butcher]: Halo 2 =96 Chris Butcher =96 Speech at game|tech 2004
> > > >>> ( http://www.game-tech.com/Talks/Butcher.doc )
> > > >>
> > > >> Reading that document (a great reading, BTW), a Halo2 feature 
>Butcher
> > > >> talks about just caught my attention. He talks of an embedded file
> > > >> monitoring system that reloads game assets when the related files 
>are
> > > >> modified on the HD. For example, if a texture image is modified, 
>it's
> > > >> automatically reloaded in the game, immediately showing 3D models
> >with
> > > >> the new texture. And the same goes for all kinds of objects
> >(geometry,
> > > >> collisions data, sounds, etc)
> > > >>
> > > >> This kind of thing would be REALLY helpful in a small game I'm
> > > >> developing, and so I wonder how could I implement this feature.=20
> > > >>
> > > >> I suppose I would have to manually poll each and every file I want 
>to
> > > >> monitor every few seconds, to see if they've been modified, but... 
>do
> > > >> you know if there's a better way to do it?
> > > >>
> > > >> I've been googling for a library I could use to do this kind of
> >stuff,
> > > >> but the only ones I've found where non-portable (I need it to be
> > > >> cross-platform), and relied on a client-server architecture (see
> >SGI's
> > > >> FAM for example).
> > > >>
> > > >> Do you know of any library that could be used for this? Or will I
> >have
> > > >> to code this feature from scratch?
> > > >>
> > > >> Thank you!
> > > >>
> > > >>
> > > >>
> > > >>
> > > >> ---------------------
> > > >> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > > >>
> > > >>
> > > >
> > > >
> > > >
> > > > ---------------------
> > > > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > > >
> > > >
> > > >
> > >
> > >
> > > ---------------------
> > > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > >
> > >
> >
> >
> >
> >---------------------
> >To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >
> >
>
>
>
>------------------------------
>
>From: John-Philip Johansson <seriema@xxxxxxxxxxxx>
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>Date: Thu, 28 Apr 2005 20:50:38 +0000
>
>Oh nice that you find it in Boost. I completely forgot about 
>boost::filesystem.
>
>When I was reading the Halo 2 engine article I also reacted to the 
>on-the-fly loading, as well on the tag system. Tag seems nice for big 
>projects, but probably not for my little things. But the on-the-fly system 
>looks pretty nice.
>
>I'm kinda curious on how one would set up a event system like this. My 
>guess is that Bungie, since Halo only exists for PC (Windows) and XBox, 
>make use of windows messages or the like. Some kind of shell extension that 
>notifies the engine about modifications to files in a certain folder, this 
>maybe even runs as a service. Can't think of another way to get notified 
>except for having a internal thread that polls files and throws internal 
>events.
>
>In the article Butch talked about how the on-the-fly system required that 
>they never used pointers for animations, music, textures, etc. They always 
>used an ID. That ID would be passed to the appropriate handler and that in 
>turn would reload the texture if necessary otherwise it would do whatever 
>it was supposed to (load texture into memory, etc.). Did I understand this 
>correct? But isn't polling the last-modified stamp on _everything_ that's 
>going to be used in each fram kinda slow?
>
>Since I'm a C++ programmer myself, I'm kinda curious on how you're thinking 
>of doing this and I'll be glad to help out in any way possible. Unit tests, 
>documentation, debugging, coding, design, whatever =P Just let me know.
>
>I think this would be an awesome lib to give to the game programming 
>community!
>
>Cheers
>/JP
>
>
>
>Swalrus wrote:
>
> >On Thu, 2005-04-28 at 10:45 +0100, Trollfiddler wrote:
> >
> >>Unless you use java. Cross platform IO works fine on various versions of
> >>Windows and Unix. Probably no use to you at this stage, but if it really 
>HAS
> >>to be cross platform then it's worth mentioning in case you hit a dead 
>end.
> >
> >
> >Unfortunately I'm coding it using C++, so Java's I/O capabilities won't 
>be of
> >much help this time :(
> >
> >Anyway, I've just found a C++ library that seems portable enough (works
> >on all POSIX compliant platforms and Windows), and that lets you check
> >files' last modification time as I needed. It's one of the Boost.org set
> >of libraries, called Boost Filesystem Library.
> >
> >Has anybody here used it before?
> >
> >And, answering Scott here, when I've coded this monitoring system I will
> >release under the LGPL, so anybody can use it :) And as you suggested,
> >if I manage to code that on-the-fly-assets-reloading system, I will
> >upload a tutorial to the wiki :)
> >
> >Bye
> >
> >>----- Original Message -----
> >>From: "Scott Harper" <lareon@xxxxxxxxxxx>
> >>To: <gameprogrammer@xxxxxxxxxxxxx>
> >>Sent: Thursday, April 28, 2005 3:43 AM
> >>Subject: [gameprogrammer] Re: Embedded file monitoring system?
> >>
> >>
> >>>Good luck on the cross-platform-ness in this regard.  I don't know TOO
> >>>much about programming on a per-system level, but from what I've
> >>>learned, dealing with the filesystems is almost COMPLETELY different
> >>>from platform to platform.  You would literally have to write calls
> >>>using completely different code on each platform to do the different
> >>>things.
> >>>
> >>>Although, now that I think of it, I suppose it wouldn't be unreasonable
> >>>to implement this way, just a whole bunch of #ifdef's in your code, I
> >>>imagine.  Careful coding would be requisite in this case, though, to
> >>>ensure that each platform's code was isolated appropriately.
> >>>
> >>>If you do it that way, you should go to the wiki and upload a tutorial!
> >>>
> >>>--Scott
> >>>
> >>>On 27 Apr, 2005, at 7:37 PM, Swalrus wrote:
> >>>
> >>>>On Wed, 2005-04-27 at 13:03 +0000, John-Philip Johansson wrote:
> >>>>
> >>>>>While I was reading "The Guerrilla Guide to Game Code"
> >>>>>(http://www.gamasu=
> >>>>
> >>>>tra.com/features/20050414/rouwe_01.shtml), which is a great article
> >>>>btw, I =
> >>>>came across this at the end; under References:
> >>>>
> >>>>>[Butcher]: Halo 2 =96 Chris Butcher =96 Speech at game|tech 2004
> >>>>>( http://www.game-tech.com/Talks/Butcher.doc )
> >>>>
> >>>>Reading that document (a great reading, BTW), a Halo2 feature Butcher
> >>>>talks about just caught my attention. He talks of an embedded file
> >>>>monitoring system that reloads game assets when the related files are
> >>>>modified on the HD. For example, if a texture image is modified, it's
> >>>>automatically reloaded in the game, immediately showing 3D models with
> >>>>the new texture. And the same goes for all kinds of objects (geometry,
> >>>>collisions data, sounds, etc)
> >>>>
> >>>>This kind of thing would be REALLY helpful in a small game I'm
> >>>>developing, and so I wonder how could I implement this feature.=20
> >>>>
> >>>>I suppose I would have to manually poll each and every file I want to
> >>>>monitor every few seconds, to see if they've been modified, but... do
> >>>>you know if there's a better way to do it?
> >>>>
> >>>>I've been googling for a library I could use to do this kind of stuff,
> >>>>but the only ones I've found where non-portable (I need it to be
> >>>>cross-platform), and relied on a client-server architecture (see SGI's
> >>>>FAM for example).
> >>>>
> >>>>Do you know of any library that could be used for this? Or will I have
> >>>>to code this feature from scratch?
> >>>>
> >>>>Thank you!
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>---------------------
> >>>>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>>>
> >>>>
> >>>
> >>>
> >>>---------------------
> >>>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>>
> >>>
> >>>
> >>
> >>---------------------
> >>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>
> >>
> >
> >
> >
> >---------------------
> >To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >
> >
> >
> >
>
>
>
>------------------------------
>
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>From: Swalrus <swalrus@xxxxxxxxxxxxxx>
>Date: Thu, 28 Apr 2005 23:10:27 +0200
>
>On Thu, 2005-04-28 at 16:45 -0300, Kevin Fields wrote:
> > Boost would help to solve the cross-platform issue.
> > If it's a texture issue, maybe you should check out the devIL library.
> > I know about it because I'm working with the Ogre rendering engine 
>(which
> > makes use of both Boost and devIL).
>
>Yes, I'm using Ogre too in this game I'm doing, and it's a quite
>impressive engine :D
>But regarding devIL... I haven't had a good experience with it in the
>past. It gave me a lot of problems to get to compile Ogre with it (I've
>even read Ogre developers saying "we know devIL is evil"). So, is it
>still as evil as ever? Or have they managed to keep it's evilness down?
>
> > As for determining whether the texture has been modified, instead of 
>polling
> > each frame to see if the texture was modified, you could use a sort of 
>event
> > handling system where the appropriate texture would have an event 
>signaled
> > to it, and in the event handler function for that texture, you would 
>reload
> > the texture. But, that's just one possible way of doing things.
>
>Yes, that was what I was looking for the first time. But for what I've
>seen, only a few platforms allow you to "register" a process as a
>"filesystem events handler" and make the kernel tell that process when a
>file has been modified (latest versions of Linux, for example, seem to
>have this feature). And as one of my project goals is portability, I
>think I'll have to find another way to do it. And the only other way
>that comes into my mind is polling every few seconds :S
>
>I think something like this could work:
>Poll the filesystem for changes every few seconds in an independent
>thread (using the Boost library). Then, between frames, check the
>changed files and reload the corresponding textures.
>
>Probably I'll have to dig deeper into Ogre's internals to be able to do
>that, as I'm no Ogre guru myself. Hummm... now that I think of it...
>this could be a very interesting feature for Ogre... hummm
>
>Well, I'll keep thinking about this, and looking for other solutions to
>this problem.
>
>Bye!
>
> > Kevin
> >
> > >From: Swalrus <swalrus@xxxxxxxxxxxxxx>
> > >Reply-To: gameprogrammer@xxxxxxxxxxxxx
> > >To: gameprogrammer@xxxxxxxxxxxxx
> > >Subject: [gameprogrammer] Re: Embedded file monitoring system?
> > >Date: Thu, 28 Apr 2005 17:47:00 +0200
> > >
> > >On Thu, 2005-04-28 at 10:45 +0100, Trollfiddler wrote:
> > > > Unless you use java. Cross platform IO works fine on various 
>versions of
> > > > Windows and Unix. Probably no use to you at this stage, but if it 
>really
> > >HAS
> > > > to be cross platform then it's worth mentioning in case you hit a 
>dead
> > >end.
> > >
> > >Unfortunately I'm coding it using C++, so Java's I/O capabilities won't 
>be
> > >of
> > >much help this time :(
> > >
> > >Anyway, I've just found a C++ library that seems portable enough (works
> > >on all POSIX compliant platforms and Windows), and that lets you check
> > >files' last modification time as I needed. It's one of the Boost.org 
>set
> > >of libraries, called Boost Filesystem Library.
> > >
> > >Has anybody here used it before?
> > >
> > >And, answering Scott here, when I've coded this monitoring system I 
>will
> > >release under the LGPL, so anybody can use it :) And as you suggested,
> > >if I manage to code that on-the-fly-assets-reloading system, I will
> > >upload a tutorial to the wiki :)
> > >
> > >Bye
> > >
> > > > ----- Original Message -----
> > > > From: "Scott Harper" <lareon@xxxxxxxxxxx>
> > > > To: <gameprogrammer@xxxxxxxxxxxxx>
> > > > Sent: Thursday, April 28, 2005 3:43 AM
> > > > Subject: [gameprogrammer] Re: Embedded file monitoring system?
> > > >
> > > >
> > > > > Good luck on the cross-platform-ness in this regard.  I don't know 
>TOO
> > > > > much about programming on a per-system level, but from what I've
> > > > > learned, dealing with the filesystems is almost COMPLETELY 
>different
> > > > > from platform to platform.  You would literally have to write 
>calls
> > > > > using completely different code on each platform to do the 
>different
> > > > > things.
> > > > >
> > > > > Although, now that I think of it, I suppose it wouldn't be
> > >unreasonable
> > > > > to implement this way, just a whole bunch of #ifdef's in your 
>code, I
> > > > > imagine.  Careful coding would be requisite in this case, though, 
>to
> > > > > ensure that each platform's code was isolated appropriately.
> > > > >
> > > > > If you do it that way, you should go to the wiki and upload a
> > >tutorial!
> > > > >
> > > > > --Scott
> > > > >
> > > > > On 27 Apr, 2005, at 7:37 PM, Swalrus wrote:
> > > > >
> > > > >> On Wed, 2005-04-27 at 13:03 +0000, John-Philip Johansson wrote:
> > > > >>> While I was reading "The Guerrilla Guide to Game Code"
> > > > >>> (http://www.gamasu=
> > > > >> tra.com/features/20050414/rouwe_01.shtml), which is a great 
>article
> > > > >> btw, I =
> > > > >> came across this at the end; under References:
> > > > >>> [Butcher]: Halo 2 =96 Chris Butcher =96 Speech at game|tech 2004
> > > > >>> ( http://www.game-tech.com/Talks/Butcher.doc )
> > > > >>
> > > > >> Reading that document (a great reading, BTW), a Halo2 feature 
>Butcher
> > > > >> talks about just caught my attention. He talks of an embedded 
>file
> > > > >> monitoring system that reloads game assets when the related files 
>are
> > > > >> modified on the HD. For example, if a texture image is modified, 
>it's
> > > > >> automatically reloaded in the game, immediately showing 3D models
> > >with
> > > > >> the new texture. And the same goes for all kinds of objects
> > >(geometry,
> > > > >> collisions data, sounds, etc)
> > > > >>
> > > > >> This kind of thing would be REALLY helpful in a small game I'm
> > > > >> developing, and so I wonder how could I implement this 
>feature.=20
> > > > >>
> > > > >> I suppose I would have to manually poll each and every file I 
>want to
> > > > >> monitor every few seconds, to see if they've been modified, 
>but... do
> > > > >> you know if there's a better way to do it?
> > > > >>
> > > > >> I've been googling for a library I could use to do this kind of
> > >stuff,
> > > > >> but the only ones I've found where non-portable (I need it to be
> > > > >> cross-platform), and relied on a client-server architecture (see
> > >SGI's
> > > > >> FAM for example).
> > > > >>
> > > > >> Do you know of any library that could be used for this? Or will I
> > >have
> > > > >> to code this feature from scratch?
> > > > >>
> > > > >> Thank you!
> > > > >>
> > > > >>
> > > > >>
> > > > >>
> > > > >> ---------------------
> > > > >> To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > > > >>
> > > > >>
> > > > >
> > > > >
> > > > >
> > > > > ---------------------
> > > > > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > ---------------------
> > > > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > > >
> > > >
> > >
> > >
> > >
> > >---------------------
> > >To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> > >
> > >
> >
> >
> >
> >
> > ---------------------
> > To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >
> >
>
>
>------------------------------
>
>Date: Fri, 29 Apr 2005 10:33:27 +1200
>From: Jake Briggs <jacob_briggs@xxxxxxxxxxxxxxx>
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>
>You could start by having a user initiated check. IE you bind a key
>press to the "lookForAndLoadNewTextures" function. Although that does
>avoid the more interesting part of the problem, how do you know the
>files been changed/added.
>You could just check the texture directory for its timestamp. On linux,
>if you make a directory at 10 am, then put something in it at 10:30 am
>the time modified omn that directory is updated also. If you modifiy a
>file in the directory, its timestamp is also modified. You would only
>check one thing per frame...
>Or you could make your engine do the adding/modification of textures,
>instead of the filesystem. You could tell your engine to save the 
>changes...
>
>Jake
>
>
>
>Swalrus wrote:
>
> >On Thu, 2005-04-28 at 16:45 -0300, Kevin Fields wrote:
> >
> >
> >>Boost would help to solve the cross-platform issue.
> >>If it's a texture issue, maybe you should check out the devIL library.
> >>I know about it because I'm working with the Ogre rendering engine 
>(which
> >>makes use of both Boost and devIL).
> >>
> >>
> >
> >Yes, I'm using Ogre too in this game I'm doing, and it's a quite
> >impressive engine :D
> >But regarding devIL... I haven't had a good experience with it in the
> >past. It gave me a lot of problems to get to compile Ogre with it (I've
> >even read Ogre developers saying "we know devIL is evil"). So, is it
> >still as evil as ever? Or have they managed to keep it's evilness down?
> >
> >
> >
> >>As for determining whether the texture has been modified, instead of 
>polling
> >>each frame to see if the texture was modified, you could use a sort of 
>event
> >>handling system where the appropriate texture would have an event 
>signaled
> >>to it, and in the event handler function for that texture, you would 
>reload
> >>the texture. But, that's just one possible way of doing things.
> >>
> >>
> >
> >Yes, that was what I was looking for the first time. But for what I've
> >seen, only a few platforms allow you to "register" a process as a
> >"filesystem events handler" and make the kernel tell that process when a
> >file has been modified (latest versions of Linux, for example, seem to
> >have this feature). And as one of my project goals is portability, I
> >think I'll have to find another way to do it. And the only other way
> >that comes into my mind is polling every few seconds :S
> >
> >I think something like this could work:
> >Poll the filesystem for changes every few seconds in an independent
> >thread (using the Boost library). Then, between frames, check the
> >changed files and reload the corresponding textures.
> >
> >Probably I'll have to dig deeper into Ogre's internals to be able to do
> >that, as I'm no Ogre guru myself. Hummm... now that I think of it...
> >this could be a very interesting feature for Ogre... hummm
> >
> >Well, I'll keep thinking about this, and looking for other solutions to
> >this problem.
> >
> >Bye!
> >
> >
> >
> >>Kevin
> >>
> >>
> >>
> >>>From: Swalrus <swalrus@xxxxxxxxxxxxxx>
> >>>Reply-To: gameprogrammer@xxxxxxxxxxxxx
> >>>To: gameprogrammer@xxxxxxxxxxxxx
> >>>Subject: [gameprogrammer] Re: Embedded file monitoring system?
> >>>Date: Thu, 28 Apr 2005 17:47:00 +0200
> >>>
> >>>On Thu, 2005-04-28 at 10:45 +0100, Trollfiddler wrote:
> >>>
> >>>
> >>>>Unless you use java. Cross platform IO works fine on various versions 
>of
> >>>>Windows and Unix. Probably no use to you at this stage, but if it 
>really
> >>>>
> >>>>
> >>>HAS
> >>>
> >>>
> >>>>to be cross platform then it's worth mentioning in case you hit a dead
> >>>>
> >>>>
> >>>end.
> >>>
> >>>Unfortunately I'm coding it using C++, so Java's I/O capabilities won't 
>be
> >>>of
> >>>much help this time :(
> >>>
> >>>Anyway, I've just found a C++ library that seems portable enough (works
> >>>on all POSIX compliant platforms and Windows), and that lets you check
> >>>files' last modification time as I needed. It's one of the Boost.org 
>set
> >>>of libraries, called Boost Filesystem Library.
> >>>
> >>>Has anybody here used it before?
> >>>
> >>>And, answering Scott here, when I've coded this monitoring system I 
>will
> >>>release under the LGPL, so anybody can use it :) And as you suggested,
> >>>if I manage to code that on-the-fly-assets-reloading system, I will
> >>>upload a tutorial to the wiki :)
> >>>
> >>>Bye
> >>>
> >>>
> >>>
> >>>>----- Original Message -----
> >>>>From: "Scott Harper" <lareon@xxxxxxxxxxx>
> >>>>To: <gameprogrammer@xxxxxxxxxxxxx>
> >>>>Sent: Thursday, April 28, 2005 3:43 AM
> >>>>Subject: [gameprogrammer] Re: Embedded file monitoring system?
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>Good luck on the cross-platform-ness in this regard.  I don't know 
>TOO
> >>>>>much about programming on a per-system level, but from what I've
> >>>>>learned, dealing with the filesystems is almost COMPLETELY different
> >>>>>from platform to platform.  You would literally have to write calls
> >>>>>using completely different code on each platform to do the different
> >>>>>things.
> >>>>>
> >>>>>Although, now that I think of it, I suppose it wouldn't be
> >>>>>
> >>>>>
> >>>unreasonable
> >>>
> >>>
> >>>>>to implement this way, just a whole bunch of #ifdef's in your code, I
> >>>>>imagine.  Careful coding would be requisite in this case, though, to
> >>>>>ensure that each platform's code was isolated appropriately.
> >>>>>
> >>>>>If you do it that way, you should go to the wiki and upload a
> >>>>>
> >>>>>
> >>>tutorial!
> >>>
> >>>
> >>>>>--Scott
> >>>>>
> >>>>>On 27 Apr, 2005, at 7:37 PM, Swalrus wrote:
> >>>>>
> >>>>>
> >>>>>
> >>>>>>On Wed, 2005-04-27 at 13:03 +0000, John-Philip Johansson wrote:
> >>>>>>
> >>>>>>
> >>>>>>>While I was reading "The Guerrilla Guide to Game Code"
> >>>>>>>(http://www.gamasu=
> >>>>>>>
> >>>>>>>
> >>>>>>tra.com/features/20050414/rouwe_01.shtml), which is a great article
> >>>>>>btw, I =
> >>>>>>came across this at the end; under References:
> >>>>>>
> >>>>>>
> >>>>>>>[Butcher]: Halo 2 =96 Chris Butcher =96 Speech at game|tech 2004
> >>>>>>>( http://www.game-tech.com/Talks/Butcher.doc )
> >>>>>>>
> >>>>>>>
> >>>>>>Reading that document (a great reading, BTW), a Halo2 feature 
>Butcher
> >>>>>>talks about just caught my attention. He talks of an embedded file
> >>>>>>monitoring system that reloads game assets when the related files 
>are
> >>>>>>modified on the HD. For example, if a texture image is modified, 
>it's
> >>>>>>automatically reloaded in the game, immediately showing 3D models
> >>>>>>
> >>>>>>
> >>>with
> >>>
> >>>
> >>>>>>the new texture. And the same goes for all kinds of objects
> >>>>>>
> >>>>>>
> >>>(geometry,
> >>>
> >>>
> >>>>>>collisions data, sounds, etc)
> >>>>>>
> >>>>>>This kind of thing would be REALLY helpful in a small game I'm
> >>>>>>developing, and so I wonder how could I implement this feature.=20
> >>>>>>
> >>>>>>I suppose I would have to manually poll each and every file I want 
>to
> >>>>>>monitor every few seconds, to see if they've been modified, but... 
>do
> >>>>>>you know if there's a better way to do it?
> >>>>>>
> >>>>>>I've been googling for a library I could use to do this kind of
> >>>>>>
> >>>>>>
> >>>stuff,
> >>>
> >>>
> >>>>>>but the only ones I've found where non-portable (I need it to be
> >>>>>>cross-platform), and relied on a client-server architecture (see
> >>>>>>
> >>>>>>
> >>>SGI's
> >>>
> >>>
> >>>>>>FAM for example).
> >>>>>>
> >>>>>>Do you know of any library that could be used for this? Or will I
> >>>>>>
> >>>>>>
> >>>have
> >>>
> >>>
> >>>>>>to code this feature from scratch?
> >>>>>>
> >>>>>>Thank you!
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>---------------------
> >>>>>>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>>
> >>>>>
> >>>>>---------------------
> >>>>>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>---------------------
> >>>>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>>>
> >>>>
> >>>>
> >>>>
> >>>
> >>>---------------------
> >>>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >>---------------------
> >>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >>
> >>
> >>
> >>
> >
> >
> >
> >---------------------
> >To unsubscribe go to http://gameprogrammer.com/mailinglist.html
> >
> >
> >
> >
> >
> >
>
>--
>Named after its country of origin 'England', English is a little known 
>dialect used by up to 1.5 billion non-Americans worldwide. Some interesting 
>but obviously incorrect features of the language include:
>
>- queues of people
>- wonderful coloUrs
>- the useful metal aluminIum
>- the exotic herbs (h-urbs), basil (ba-zil) and oregano (o-re-gaa-no)
>- specialiSed books called 'dictionaries' that tell you how to spell words 
>correctly
>
>Many people using this bizarre gutter speak also subscribe to the pagan 
>belief that water freezes at 0 degrees and that distances should be 
>measured in the forbidden mathematical system of base-10...
>
>
>------------------------------
>
>Subject: [gameprogrammer] Re: Embedded file monitoring system?
>From: Swalrus <swalrus@xxxxxxxxxxxxxx>
>Date: Fri, 29 Apr 2005 01:29:33 +0200
>
>On Fri, 2005-04-29 at 10:33 +1200, Jake Briggs wrote:
> > You could start by having a user initiated check. IE you bind a key
> > press to the "lookForAndLoadNewTextures" function. Although that does
> > avoid the more interesting part of the problem, how do you know the
> > files been changed/added.
>
>Yes, that would be a solution, but unfortunately not a funny one :P
>
> > You could just check the texture directory for its timestamp. On linux,
> > if you make a directory at 10 am, then put something in it at 10:30 am
> > the time modified omn that directory is updated also. If you modifiy a
> > file in the directory, its timestamp is also modified. You would only
> > check one thing per frame...
>
>I use Linux and I didn't know it! xD That would definitely improve
>performance in case polling was used
>
>
>Anyway, I've been diving through the Windows API, and I've found this
>very interesting function:
>HANDLE FindFirstChangeNotification(
>   LPCTSTR lpPathName,
>   BOOL bWatchSubtree,
>   DWORD dwNotifyFilter
>);
>
>It lets you wait for file changes in a specified directory (it's more or
>less what Kevin suggested).
>
>You can find this function documentation here:
>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/findfirstchangenotification.asp
>and a code example here:
>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/obtaining_directory_change_notifications.asp
>
>
>With this API, polling would be unnecessary in Windows (I guess I've
>just found out how did the Bungie guys manage to do it in Halo2).
>
>I will now investigate how to do this kind of thing in Linux (I've
>already read something like this in the FAM page...) and MacOSX
>
>Bye!
>
>
>------------------------------
>
>End of gameprogrammer Digest V2 #68
>***********************************
>

_________________________________________________________________
Sick of 9-5 jobs? 
http://www.astroyogi.com/newmsn/astroshopping/login.asp?catid=135&ask= 
Looking for a change? B. Daruwalla guides you!



---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: