need some help

Discussion in 'I wanna be a Game Programmer' started by Mr.Magoo, Apr 17, 2007.

  1. Mr.Magoo

    Mr.Magoo Lurker Not From Round Here

    hi guys
    first post hope everyone is doing well. this is a silly question but i could use the help. What exactly do i have to do in order to ensure that my demos will work on all machines without the need to recompile. for example i have all the 3rdparty stuff that my demos need in the one folder. i am guessing that for starters i have to remove the absolute paths to the include and library folders.
    for example c:\bla\bla\demos\ode\include needs to be replaced with something like ..\ode\include. anthing else?
     
  2. m_hael

    m_hael Professional Coffee Drinker One Of Us

    oh my... I'd suggest buying a book or downloading some tutorials.

    Whilst there is a wealth of knowledge on these boards the principle purpose of the very public forum you're in is to help people on their path INTO the industry not teach them the trade that may get them the foot in the door.

    this is the type of thing some programmers never actually have to deal with.

    my advice - download some open source projects, look at the way some of them organise their include structures. Make sure you look at more than 1, preferably 5 or 6 from different groups just to get a good grounding.
     
  3. Mr.Magoo

    Mr.Magoo Lurker Not From Round Here

    cheers
     
  4. Brian Beuken

    Brian Beuken Boring Old Fart One Of Us

    As M_Hael says this is not really a programemrs advice forum, but in the interests of promoting traffic on the public forums, why don't we help the chappie/chappess out?

    Explain what you mean by all machines? You mean different peoples PC's I'm guessing so with ODE? Yeah you're right, absolute paths are a no-no, it's not wise to assume people will install your project in the same dir structure as you.

    Also make sure you use a widely available set of video and/or sound drivers, latest beta versions are good and great to experiment with, but not everyone has them. Either that or make sure you supply the relevant libs and install them.

    On a similar subject, 3rd party stuff tends to get updated a lot, so during development try to stick with one version and avoid updating...2 main reasons for this,
    1 you don't want to have to re-write your code each time a new release comes out...
    and
    2 you don't want to have to re-write your code each time a new release comes out becuase it might be buggy.
    Unless you really can't live without the new versions features, stick with 1 version to the end, working funtionality is far more important than cutting edge file access or whatever else get's tweeked

    That's my tuppance worth on a quiet lunchtime before I go make another brew...anyone else?
     
  5. Mr.Magoo

    Mr.Magoo Lurker Not From Round Here

    well what i basically want it to be able to give a games company my source plus a exe(compiled on my machine) and to have them be able to run the demo from that exe thereby allowing them to see the demo without haveing to compile it themselfs( which from what i hear they generally don't do cus of the volume of cvs and demos they get)
     
  6. Mr Fish

    Mr Fish Industry Professional One Of Us

    Yeah, you DON'T ever want to be sending the source. The sheer hassle of trying to get that to compiler is an instant 'in the bin' demo. Not to mention you could actually be giving away some crown jewels.

    You have to make it as easy as possible for them to install and/or just run the demo, the easier it is the more likely it is someone will look at it.

    Even possibly having an AVI on the disk as well, in a format that all PC's can play. This will at least give them an idea of whether or not to bother looking at a demo. This could prove invaluable if there is something particularly innovative that shows up well in a video.
     
  7. FlameBoy

    FlameBoy Industry God One Of Us

  8. shyndarkly

    shyndarkly Lurker One Of Us

    Wrap things up...

    ...in the exe itself. Plenty of utilities around that will either allow you to package things as accessible resources in the exe itself, or one data file so you're not looking at utilising a ton of dangling files which you need to know paths for.
     
  9. CaptainFuture

    CaptainFuture Man of Tomorrow One Of Us

    I used to send both an executable and source, so that they can see that my code is not a mess that nobody else can work from. But that was quite easy as that was a gameboy program, with all data and code in one binary.
    On windows I'd try to link all 3rd party stuff statically, or if that is not possible, DLLs should be picked up if they're placed in the same directory as the EXE. I'd avoid installers, unless you can be sure that everything can be uninstalled cleanly and safely. It's quite neat to package data in the resource section of your EXE, but I don't think anyone will judge you by that.
    An AVI is a good idea though to give someone looking through your application a quick idea what it is about.
     
  10. Xajin

    Xajin Codebastard One Of Us

    ???????????????????????????
     
  11. NightCreature

    NightCreature Lurker One Of Us

    Companies I applied for before getting my job all specifically asked for a workable exe and source code.
    They don't want to see your full source code but snippets from it so they can see how structured your coding practices are.

    Be wary of your C++ run-time dll not all machines have the ones that you have, I found that out the hard way.
     
  12. PeterM

    PeterM (name subject to change) One Of Us

    Using Visual C++?

    If you go into your project properties, C/C++, Code Generation, then change your Runtime Library from Multi-threaded DLL and Multi-threaded Debug DLL (Release and Debug configurations) to Multi-threaded and Multi-threaded Debug, your application should then have fewer dependencies.
     
  13. NightCreature

    NightCreature Lurker One Of Us

    Well in my case that wasn't an option because one of the support libs I used forced me to compile in Multi-Threaded Dll mode. So I have no choice in those, where I would have I would compile in those settings.
     
  14. johanderson

    johanderson Troll One Of Us

    I've also had this problem a few times. Most notably around when VS.NET 2005 was still in beta.

    The fancy method is to create a installer with "Setup project" under "Setup and Deplyment" in Visual Studio. Then set it up so it install all needed junk.

    Usually the problems is:
    a) .NET framework
    b) Visual C++ Runtime Libraries
    c) DirectX runtime files.
     
  15. NightCreature

    NightCreature Lurker One Of Us

    Yeah well I got a job now so I am not really fussed about it anymore.