Page 1 of 2 12 LastLast
Results 1 to 40 of 49

Thread: Game Programming!!!

  1. #1

    Thread Starter
    Addicted Member Virtual24's Avatar
    Join Date
    May 2001
    Posts
    228

    Arrow Game Programming!!!

    Choices, Choices, Choices!!! What is best?? Hi-res 2D, or a more popular (it seems) 3D??? What engine to use... what code??? I have pretty much decided that C++ is the best choice for code ( for a commercial game ). What engine do I use then? Direct X? Open GL? Help!! Comments, Ideas??
    To protect time is to protect everything...

  2. #2
    Addicted Member CodeRonin's Avatar
    Join Date
    Jul 2002
    Location
    Vienna, Austria
    Posts
    233

    Ahem...

    What kind of game do you want to make? Will you sell it? What's the planned audience?

    If you can't tell us more about the game, you shouldn't expect us to give you a good answer...
    Code Ronin

  3. #3
    Addicted Member
    Join Date
    Aug 2002
    Posts
    192
    Stick with what you know. 3d is too advanced for me; I don't understand the Euler transforms for rotating points, .. all kinds of things. You will find that if you actually figure things out on your own, what you figure out becomes something you 'never have to look up on the net'. With a name like Virtual24, sounds like you'd like truecolor 3d graphics, in which case I would learn perspective math, ie how points closer to 'you' move faster on screen

  4. #4
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    My brother uses a game engine to do 3d called gamestudio (I beleive)
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  5. #5
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    So what do you know. DX or OpenGl or neither....Dx has more then jus the graphical part..so I would probably use DX.

    You have to choose 2D/3D after what kind og game it is. 3D is more math and stuff, but it isn't to difficult, just takes some more time to make it. Have you made many games before?

  6. #6

    Thread Starter
    Addicted Member Virtual24's Avatar
    Join Date
    May 2001
    Posts
    228
    Well... I do, or rather did know some DX w/ c++. I haven't a clue about OpenGL except that its an option. Yes the kind of game I envision will be 3d, and i would sell it of course, if it was good enough . I just wanted to know if anyone has had some experience with using wither and knows which is the best way about it. When I attempted to mess around with/learn DX it got very confusing and seemed almost primitive ( it was very poor graphics and slow when compared to commercial games ). How do they go about making something as complicated as a PS2 game? I know they must use computers to do it, they probly don't write it in c++/DX, but perhaps they do and it is converted. I don't know...
    To protect time is to protect everything...

  7. #7
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    Nearly up untill today. Most games have been written in C and ASM. But the last two years they have startet to use C++. A lot og games are both using OpenGL, and DX. Becuase both are standards for the graphics cards now days. Jhonny Carmack (SP?) (the creator of Doom) and some of the big guys are most often using OpenGL. But they have all said that with DX8 out, and now even DX9 they can't be to sure that OpenGL is the best alternative anymore. So C++ and DX is really the way to go. It is only the programmer that can get the most out of a language. So you better study it hard, before starting something like a game....

  8. #8
    Member
    Join Date
    Jun 2002
    Location
    Netherlands
    Posts
    43
    Virtual24 how long have you worked on your games when you say that it were poor graphics and very slow. Professionals make their games in a year or more with a team of at least ten fulltime programmers and artists. Don't expect to be able to create a proffesional game in a year or so.....

    if you do make something interesting, perfect its all yours and you should give yourself a big applause!

    Jordi

  9. #9
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    Your main concern should be getting a dam good game engine going and worry about graphics later.

    C++ DX will run much faster than VB DX but you can still use VB
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  10. #10
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    DX is probably the way to go if you don't care about Cross-Platform. OpenGL's (+ OpenAL etc.) main advantage is that it exists on *nix.

    But of course you can simply ignore this particular choice to some extent and use an engine that hides most of it - you'll probably end up doing that anyway. There are some excellent OpenSource engines on sourceforge.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  11. #11
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    I personally like OpenGL better because it has better support on older graphics cards. Its easier if you have a descent book on it (Prima Tech has some good stuff). That's only for graphics though. The rest should really be done using DX minus DirectGraphics.

    The code could easily be done in C++, Java, or VB, but if you worrying about FPS, then stick with C++ (that is if you can code efficiently in that language.) and for time sensitive parts, do inline assembler.

    For your environment, stick with a purely 3D world. This way you can change your camera angle without changing the artwork.

    If you use a pre-assembled engine, then the issue is moot, but if not, this is what I would use. I'm sorry if I reiterated what others have said, but I only glanced over the posts.

  12. #12
    Hyperactive Member
    Join Date
    Jan 2003
    Location
    The Netherlands
    Posts
    386
    If a Visual Basic game was good enough to sell, would one be allowed to sell it? Say if it was a MMORPG, that you could play to a certain extent until you payed $5 - $10 for a lifetimes use. Graal does something like this. I'm very curious as to what language it was programmed in...

  13. #13
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    Game Developers use one of 5 languages to program an application: VB, C, C++, assembly, and/or Java. All of these have the capability of creating the same MMORPG.

    The problem is that all of these languages have pros and cons. If we were to rank these by efficiency, for example, we would get the following (in descending order):

    assemby, C, C++, VB, Java

    If we were to rank these by implementation speed, we would get:

    VB, Java, C++, C, assembly

    Therefore, as the programmer, we must decide which "tool" we should use for the project by judging the resources we have at hand. Now if that application was marketable, you could sell it.
    "Can't" and "shouldn't" are two totally separate things.

    All questions should be answered. All answers should be true. That is why I post.

  14. #14
    Frenzied Member Zaei's Avatar
    Join Date
    Jul 2002
    Location
    My own little world...
    Posts
    1,710
    Originally posted by Darkwraith
    The problem is that all of these languages have pros and cons. If we were to rank these by efficiency, for example, we would get the following (in descending order):

    assemby, C, C++, VB, Java

    If we were to rank these by implementation speed, we would get:

    VB, Java, C++, C, assembly

    Therefore, as the programmer, we must decide which "tool" we should use for the project by judging the resources we have at hand. Now if that application was marketable, you could sell it.
    How do you define efficiency? If you mean code speed, yes, GOOD assembly will outstrip C or C++. If you judge efficiency by, say, the ease of code re-use, or the ease with which a section of code can be replaced, or maintained, etc, assembly is a nightmare, and C++ or Java will rank at the top of the list.

    Z.

  15. #15
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    I would put Java before VB in both execution and implementation speed. The Java3d API seems very well thought out to me.

    Add to that things like proper classes, the collection framework (does VB even have anything beside arrays?) and many other things and you have easier, faster and better maintainable implementation.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  16. #16
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    VB has Types and classes

    But not alot else

    Main disadvantage to VB is its speed, but it is a alot easier to write a game in VB than most other languages
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  17. #17
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    As I said, Java has proper classes, not like those things in VB which are limited to the capabilites of ActiveX objects (i.e. no inheritance).
    VB.Net is ok there, but I guess you are still talking about VB6.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  18. #18
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    True vb is vb6

    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  19. #19
    Hyperactive Member
    Join Date
    Jan 2003
    Location
    The Netherlands
    Posts
    386
    Why does Java take donkeys years to load a little chat-applet? And what's with these 'classes'? I still don't see what is so special about classes... everyone keeps talking about them... saying how important they are in RPGs and games... Yet I've never used them in any of my games.

  20. #20
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    It takes donkey's years because a chat applet might be more complicated than you'd think, the network connection might be slow and the JVM needs a little bit to start.
    For you, that is . For me it doesn't take donkey's years.

    Classes enable better code structuring and reuse. Very useful for projects such as games.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  21. #21
    KING BODWAD XXI BodwadUK's Avatar
    Join Date
    Aug 2002
    Location
    Nottingham
    Posts
    2,176
    Types are wonderful and then array the type and put a type in a type and well bingo a nice little structure
    If you dribble then you are as mad as me

    Lost World Creations Website (XBOX Indie games)
    Lene Marlin

  22. #22
    KrisSiegel.com Kasracer's Avatar
    Join Date
    Jul 2003
    Location
    USA, Maryland
    Posts
    4,985
    Noone programs games in assembly! 99% of ALL games commercially developed today are in C++, few in C.

    It's almost impossible to do it in assembly! If you wanted to make a windows form appear on the screa, god it would probably take literally thousands of lines of codes and probably several months making it. Do you have any idea how long it would take to use direct x or opengl and draw a box with assmelby?

    it hurts my head thinking about it!

  23. #23
    Frenzied Member Zaei's Avatar
    Join Date
    Jul 2002
    Location
    My own little world...
    Posts
    1,710
    Originally posted by kasracer
    Noone programs games in assembly! 99% of ALL games commercially developed today are in C++, few in C.

    It's almost impossible to do it in assembly! If you wanted to make a windows form appear on the screa, god it would probably take literally thousands of lines of codes and probably several months making it. Do you have any idea how long it would take to use direct x or opengl and draw a box with assmelby?

    it hurts my head thinking about it!
    Untrue. MASM Assembly is very clean and concise, and provides methods for calling functions in a manner that is closer to higher level languages (if you choose). Your basic "create a window" application will be comparable in length to one written in C.

    Z.

  24. #24
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    But if I remember right there is no "normal" method to use DX with ASM, but if you tweek it a bit it is possible. I have seen it done.

    And BTW you could alwasy throw in some ASM code into your C++ code.

  25. #25
    KrisSiegel.com Kasracer's Avatar
    Join Date
    Jul 2003
    Location
    USA, Maryland
    Posts
    4,985
    Originally posted by Zaei
    Untrue. MASM Assembly is very clean and concise, and provides methods for calling functions in a manner that is closer to higher level languages (if you choose). Your basic "create a window" application will be comparable in length to one written in C.

    Z.
    MASM uses MACROS developed by microsoft to act like a higher level language similar to C. If you're using pure assembly, my statement still stands. if you're using the MACROS microsoft made, then God help you. C is a ***** on memory management and no company uses MASM or ASM to develop games.

  26. #26
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    Java is so slow because it is implemented as a hybrid implemented system. This means that the code is complied (a lot like C and C++) and then the intermediate code is then interpreted (like LISP).

    If we were to rank these by efficiency...
    efficiency as in speed and code length (NOT what you type, but the PL generates including all components of VMs so you can't cheat with Java )

    (Just as reference, I was referring to good code, and not garbage that hacks generate.)

    Furthermore, a lot of us program in assembly, albeit not whole applications. That's why C/C++ has the asm (or _asm or __asm) command.

    Sorry for playing catchup.
    "Can't" and "shouldn't" are two totally separate things.

    All questions should be answered. All answers should be true. That is why I post.

  27. #27
    Addicted Member CodeRonin's Avatar
    Join Date
    Jul 2002
    Location
    Vienna, Austria
    Posts
    233

    To be precise...

    Java generates a byte-code, which is then read andinterprated (executed) by the java virtual machine. This way, system compability is assured (you can run the same java code on an apple, windows-pc, linux-pc,...)

    Today, you can compile some versions of Java like C/C++, however, they only run under the system they were written for, then.
    Code Ronin

  28. #28
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    The modern VMs use a technology called Just-In-Time (JIT) compilation which gives a huge advantage over interpretation. JIT means that the bytecode is compiled to native code while the program runs. The resulting native code runs much faster than the interpreter and can be cached, so that repeated calls run nearly as fast as native language applications, at the expense of higher memory requirements.

    The Sun HotSpot VM for example interprets the first execution of a piece of bytecode, but JITs the next and caches the code. So every subsequent call runs twice as fast as previous calls!

    Today, you can compile some versions of Java like C/C++, however, they only run under the system they were written for, then.
    Some versions? What do you mean?
    There are native compilers for Java, e.g. gcj which is part of the gcc suite.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  29. #29
    Addicted Member CodeRonin's Avatar
    Join Date
    Jul 2002
    Location
    Vienna, Austria
    Posts
    233

    Versions

    There are diverse native code compilers for java out there. Not VM's but real compilers. Just search gogle .
    Code Ronin

  30. #30
    KrisSiegel.com Kasracer's Avatar
    Join Date
    Jul 2003
    Location
    USA, Maryland
    Posts
    4,985

    Re: To be precise...

    Originally posted by CodeRonin
    Today, you can compile some versions of Java like C/C++, however, they only run under the system they were written for, then.


    Dude... java is it's own platform... it runs on anything...

  31. #31
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    Say for example you have a Mac and a PC. (Same is true for Windows and Linux if you do not want such and extreme example.) If you compile the Java code on the PC, the application will not work for Mac and vice versa. It's said to be "architecture neutral" (and I think "platform independent") if you use the bytecode and the Java VM.
    "Can't" and "shouldn't" are two totally separate things.

    All questions should be answered. All answers should be true. That is why I post.

  32. #32
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594

    Re: Re: To be precise...

    Originally posted by kasracer


    Dude... java is it's own platform... it runs on anything...
    You didn't listen, right?
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  33. #33
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    I have even heard rumour about it beeing possible to compile Java code into EXE....but then why use JAva in he first place...

  34. #34
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    Uhh... that's what we're talking about...
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

  35. #35
    Retired G&G Mod NoteMe's Avatar
    Join Date
    Oct 2002
    Location
    @ Opera Software
    Posts
    10,190
    Sorry for miss undersanding....but I can't see one reason to do that. The biggest reason to wirte apps in Java is that it is cross platformed. If you compile it to an EXE, you will lose that, and you could write it in C++ or anything in sted and increase the speed.

  36. #36
    Hyperactive Member
    Join Date
    Jan 2003
    Location
    The Netherlands
    Posts
    386
    So the only reason why Java is so 'big', 'fancy' and has lots and lots of fans... is because it's not dependant on the OS? If you can't compile it into an EXE or anything... how on earth do you market such programs? My main experience with Java is that my friends give me links that lead to these irritating little immature Java scripts.... They quite frankly suck. And you have no warning what so ever... From what I've seen... Java is more for little annoying 10 year old programmers who find the opening and closing of a CDROM hilarous. But then there's also good Java... I've played a nice 3D aircraft game, with great music... and Chat applets are handy as well... But there's also places like Outwar... that use this to actually copy their popups onto your computer... resulting in getting an add every 30 seconds!!
    Not even adaware programs can stop that crap.. you've gotta find and delete 'Winservn' or something.

    This is just my opinion and 'the facts' of this 'ever so helpful' not dependant on OS language.

  37. #37
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    Java is more for little annoying 10 year old programmers who find the opening and closing of a CDROM hilarous...

    This is just my opinion and 'the facts' of this 'ever so helpful' not dependant on OS language.

    The programmer is the creator, not the PL. Therefore you have to look at the language objectively and not judge on what has came from it. If we use your line of logic for assembly, it would look like it comes from the depths of hell to wreck havoc on all of cyberspace.

    Java is an excellent language if you have an application that needs to run on many different platforms and speed is not an issue. It is another tool for the programmers of the world. Platform independence is one (and the biggest) of the reasons that it is so popular. Another is that you can incorporate a lot of web stuff into it (sorry about my lack of knowledge of what it exactly can do, but I haven't gotten a chance to explore that area yet.)

    It is the programmer's responsibility to create apps that are to the public's liking.
    "Can't" and "shouldn't" are two totally separate things.

    All questions should be answered. All answers should be true. That is why I post.

  38. #38
    PowerPoster Fox's Avatar
    Join Date
    Jan 2000
    Location
    *afk*
    Posts
    2,088
    Remember: Java Script is not Java.
    Remember: Java Applets are not exactly Java Applications.
    Note: You can compile Java Applications but you'll lose platform independency.

  39. #39
    Fanatic Member
    Join Date
    Jan 2003
    Posts
    1,004
    I use the term "application" loosely because you can create a Java program or you can run it in a web page depending on how its programmed.
    "Can't" and "shouldn't" are two totally separate things.

    All questions should be answered. All answers should be true. That is why I post.

  40. #40
    Kitten CornedBee's Avatar
    Join Date
    Aug 2001
    Location
    In a microchip!
    Posts
    11,594
    If you can't compile it into an EXE or anything... how on earth do you market such programs?
    I've seen three approaches:
    1) jar archives can be associated with the Java VM in Windows (and other OSs too).
    2) Batch files or shell scripts. Tiny scripts that simply call the Java VM.
    3) Small launcher exes, one for each platform. jEdit and NetBeans use that approach.
    All the buzzt
    CornedBee

    "Writing specifications is like writing a novel. Writing code is like writing poetry."
    - Anonymous, published by Raymond Chen

    Don't PM me with your problems, I scan most of the forums daily. If you do PM me, I will not answer your question.

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width