Beginer's dev console?

Discussion in 'Game Development General Discussion' started by lwizardl, Apr 3, 2005.

  1. subbie

    subbie Guardian of the Forum

    Joined:
    Feb 25, 2005
    Messages:
    4,749
    Likes Received:
    94
    haliway,

    Pc games dont even come close to matching the limits found in consoles. If you have not notice most studios are now developing on ps2/xbox as their base then making a pc build. The only PC game I have seen in recent times that had a tight handle on resources and still accomplished a lot compaired to other pc games at the time would be max payne 2.

    Example of games that over use resources are Battlefield series, Unreal 2k4 (the game eats a wopping 512MB of ram), & Farcry. vbmenu_register("postmenu_64136", true);
     
  2. Paulo

    Paulo PoeticHalo

    Joined:
    Mar 13, 2004
    Messages:
    5,354
    Likes Received:
    7
    Have you played sims 2???


    My gf made me install it on my pc.... my pc is a 3.0 P4, 1gb crucial ram, 9800pro with the
    faster memory, nice hd with lots of space. Half life 2 with allmost everything set to max runs very playable....

    Sims 2.... SLOW DOWN ALLL OVER THE PLACE...!!!
     
  3. Zilog Jones

    Zilog Jones Familiar Face

    Joined:
    Nov 12, 2004
    Messages:
    1,202
    Likes Received:
    0
    What exactly is the difference between C and C++? I'm currently doing C as part of my degree, but we're still using C++ compilers.
     

  4. ...Xbox has always been damn near 100% C++
     
  5. C++ is a SUPERSET of C (minus some obscure syntax definitions). A C program SHOULD compile unmodified (or very lvery little). But C++ has a few "new/different" ways to do things over C.

    For instance:

    In C, printing a string to a console, you would use puts() or printf() EX: puts("Hello World"); or printf("%s", "Hello World");

    In C++, you CAN do either of those, but now there is a new concept called Streams. It works just like it sounds. The input/output buffers flow like a river to their destination. EX: cout << "Hello" << "World" << endl;

    In C, to allocate/deallocate memory, lets say for an array of MonkeyStruct EX: MyMonkeyStructArray = malloc(sizeof(MonkeyStruct) * ArraySize); free(MyMonkeyStructArray);

    In C++, the new/delete operators were intoduced (You can still use malloc/free) EX: MyMonkeyStructArray = new MonkeyStruct[ArraySize]; delete [] MyMonkeyStructArray;

    In C, you GENERALLY don't have the concept of classes (This isnt true across all variants of C, but almost all), So rather then doing this in C:

    Car MyCar; //Assume Car is a simple struct

    Car_Turn_On(&MyCar);
    Car_Drive(&MyCar);
    Car_Park(&MyCar);
    Car_Turn_Off(&MyCar);

    You would simply do:

    Car MyCar; //Assume Car is now a class

    MyCar.TurnOn();
    MyCar.Drive();
    MyCar.Park();
    MyCar.TurnOff();

    An Last, but not lease.... templates. This is probably the most useful, and the most wrongly used feature of C++. More or less, you can create template classes and functions, leaving out the datatype. Then at compile time, every place the template is used, a clone will be created in memory when used, replacing all templated datatypes with the specified one. EX:

    T Add(T First, T Second)
    {
    return First + Second;
    }

    T will end up being replaced with... a double, an int, whatever you specify in your code.

    I think that is all I really have to add. I am more of a lurker then I am a poster
     
  6. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Xbox isn't a console :p Nor is it by a Japanese corporation specificially of the names I mentioned. I'm thinking of: Saturn, PS, PS2, GC (None of which require or even suggest being a ++ programmer)
     
  7. macwest

    macwest Resolute Member

    Joined:
    Jan 10, 2005
    Messages:
    923
    Likes Received:
    8
    Xbox is as much of a console as a PS2. A game console is nothing more than a very specific set up computer. This allows development to a specific set of hardware and eliminates the infinite possibility on hardware errors a program can produce.
     

  8. ...Oh dear, I do hope you weren't being serious?
     
  9. subbie

    subbie Guardian of the Forum

    Joined:
    Feb 25, 2005
    Messages:
    4,749
    Likes Received:
    94
    Saturn and Ps1 were too early to do C++.

    Its becomming extreamly common for C++ on both Ps2 & GC. You wont find many NA or Euro developers doing Ps2, Xbox or GCN in C. Many Japanese developers (From what I have seen in code) are starting to move to C++ for console stuff as well.

    I'm no Die hard C++ fan. Hell I was spewing "C for life" when I started in the industry but over time I have adopted to work completly in C++ which a majority of the industry is doing.
     
  10. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Yes, sticking one's tongue out usually indicates sincerity... But seriously I'll go off on a tanget and say that arguably Xbox has half the soul as other consoles of this generation, due to it's absenses of lets say "console nuance."

    Really? I was under the impression it was an embedded Pentium III personal computer with stock IDE drives, NVidia GPU, bootstraps like a PC into a Microsoft kernal, Microsoft API, AGP PCI and ISA bus, integrated network device, USB controllers, a FAT file system for it's hard drive... hmm sounds like conventional console to me.

    When writing my previous posts I wasn't taking Xbox into account, please disregard my posts about Xbox because we all know it's next to impossible to develop an Xbox game without C++...

    To recap what I was actually saying (these are facts):

    1) C is almost necessary for serious development on 32bit+ archetectures, if he chooses to do Saturn/PSX, C++ isn't necessarily an option nor is it with some early PS2 tools
    2) C++ is not required by any of the above consoles for obvious reasons (this is a fact)
    3) C++ knowledge is obviously preferred by industry employers, but again NOT NECESSARY FOR AMATEUR DEVELOPMENT.
    4) C++ being the North American/European industry language doesn't mean it is in Japan where the majority of the quality games are still developed and often in C.

    Again, in case the above was missed, I'm not fighting C++. I'm saying that simply C is a better choice for a beginning developer without experience in even Basic. C may be slowly being phased out (in the industry) but obviously C is the language of choice for previous generation consoles and it's very possible to put out a decent game in C on even yes, Xbox. Watch out though you may be frowned upon by the high and mighty C++ loving North American/European developer.
     
    Last edited: Apr 4, 2005

  11. Lol, ahhhhh haaaa, so I presume we can disregard the previous statement that you made, being as Xbox Game Development has been going on for the last five years :p?

    ...Originally Posted by Kyuusaku

    "C++ has it's strong points but it's hardly necessary for said console development and as far as using official libraries, I don't think it'll be necessary for years to come."
     
  12. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    I was being facetious if you didn't notice in the first quote, the contradiction is intended.
     
    Last edited: Apr 4, 2005

  13. ...I believe yer ;)
     
  14. haliway

    haliway Guest

    Subbie i really agree with you for those examples but if you watch the "only for pc" games, you can see that optimize is not a dream. The big difference also in all difference is multiple pc settings with a lot of cards and a lot of processors. A console is an unique setting and it's really more easier to develop a console game that pc games not because of libraries but because of not having bugs because of user settings. It's true that Developers on console often use more optimization than pc coders but some guys still search to have the better result. I don't think that Doom3 uses the complete memory for nothing and Unreal 2K4 it's the same. Try to have the same result on console. A friend that began to work on Xbox next devkit explained me that to optimize Ram of graphics card Microsoft pushed a Big cache to work on texture modeling and working, and he said that it's true that bad pc games used to take all memory for nothing but blockbusters not really comparing to what they can produce.
     
  15. subbie

    subbie Guardian of the Forum

    Joined:
    Feb 25, 2005
    Messages:
    4,749
    Likes Received:
    94
    I don't deny some pc games do optimise extreamly well and a lot of the alpha to beta phase in development is wasted over compatibility issues. Hell I know the pain thanks to sony (*). I just dont see a majority of pc only games being coded to properly manage resources. Sure Unreal 2k4 used so much ram for good purpose (crazy high res textures) but I still think they should have taken better controll of the resources.

    Its my personal opinion that if you work on hardware with strong imposed limits you learn to work better at optimising everything you can, and when you get moved up to something with even more resources to work with, your more then likly to better use thoes resources insted of wasting them.

    Interesting note on Unreal2k4. Did you know that out of the 5.5GB of installed files, 3+GB of that is only textures. The level data takes up about 1.4GB. :)


    (*) If you develope a comercial ps1 game right now. You have to make it compatible with the old rev of ps1, the newer rev ps1 (not the mini but model 5000 and up) & ps2. Tis loads of fun. :(
     
  16. idrougge

    idrougge Guest

    Most assembler programmers hate the x86, only people weaned on that architecture find it comprehensible.
    Also, programming in asm on a modern x86 is horrible, due to the idiosynchracies between different revisions (Pentium II/III/IV/AMD this and that). Once you've optimised your code for one processor, it's gone backwards on the other. Especially considering the massive pipelining and complex innards beneath the antiquated x86 instruction repertoir.
     
  17. lwizardl

    lwizardl Living The Dream

    Joined:
    Mar 30, 2005
    Messages:
    575
    Likes Received:
    74
    thanks for all the great information. myself I was thinking about starting with a few books on c/c++ programming and then try making somethings for xbox or gba.

    any certain books I should have in my collection and that will compile on bloodshed dev-c++ ? I have a few but not sure i trust them (kinda old). and the Ivor horton book i had to have my teacher at KCC (kellogg Community College in BC Michigan) fix a few of the things in the beginning of the book to get them to compile correctly. I just couldn't figure the issue out so she helped me with it. and after about 2 months of it constant needing help to fix the examples in the book I gave up, and now I'm ready to try again.

    james
     
  18. ASSEMbler

    ASSEMbler Administrator Staff Member

    Joined:
    Mar 13, 2004
    Messages:
    19,394
    Likes Received:
    995
    Gameboy. Z80 rules.
     
  19. AntiPasta

    AntiPasta Guest

    subbie: are there many incompatibilities between the different revisions of PS1 hardware? I have written numerous simple programs on the PSX, running at the lowest level (written in R3K asm and blasting primitives to the GPU by I/O or DMA), but I have never run into anything unusual and I've run my code on a 7501, 5500 and blue PAL debug... but then I never use SPU, MDEC, GTE or interrupts.
     
  20. Omar

    Omar Robust Member

    Joined:
    Mar 15, 2004
    Messages:
    274
    Likes Received:
    24
    The language doesn't matter, the platform doesn't matter. Great games are being made in C, C++, Delphi or other languages. It's tiring to see people all over the place asking what's the difference and what the best between C and C++. What matter is YOUR KNOWLEDGE and YOUR EXPERIENCE at programming, understanding machine concept, algorithms, proper software archictecturing, project vision.

    As a matter of fact, the JAK & DEXTER series of games are made using a custom language and compiler (no C/C++). C/C++ are just tools. Then there's a big gap between using the tools and using the tools right.

    Don't ask yourself question. DO IT. DO SOMETHING. DO A PROJECT, STICK TO IT, FINISH IT. Whatever the language, even it's not perfect (it's never perfect), this is the best and only way to learn game programming.

    You can make a great and well optimized game on the PC. Just set yourself limits and learn to stick to them, or else you won't learn to find alternatives and tricks to improve your software. Microsoft themselve suggest to work on PC with similar specs as a XBOX (limit yourself to 64 MB RAM, Nvidia card of the same generation) and you can get a good enough prototyping machine.

    Developping for PC has two distincts advantage compared to consoles, I would say:

    A. Must easier, cheaper, faster, better tools. This is a good point when it comes to doing amator development or making a budget game. Compared to PC, consoles tools are often a pain to work with.

    B. Better specs allows for higher-level conception, development of generic end-user tools (editors...), while consoles' lower specs tends to limit the wideness of your game development.

    Not saying that PC games are better. In fact, I prefer consoles games. But complex combinatory (Sim 2) and evolving games (Half Life) are mainly to be found on PC.
     
    Last edited: Apr 6, 2005
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page