Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Games in C# is it even Possible

Games in C# is it even Possible

Scheduled Pinned Locked Moved The Lounge
csharpjavagame-devquestion
73 Posts 32 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Christian Graus

    DirectX in C# is apparently only 4-5% slower than C++.

    Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

    J Offline
    J Offline
    Jorgen Sigvardsson
    wrote on last edited by
    #20

    DirectX is a very small part of a game...

    C 1 Reply Last reply
    0
    • L L Viljoen

      I dont understand the garbage collector that well, as far as I understand is you can set the instance to null and call the garbage collector then it will maby clean un but this also requires some resources if its own. Mabe I should just stick to Information Systems its what I am good at.

      Oliekrokenosterpikkelikkeastrysvoel

      C Offline
      C Offline
      Christian Graus
      wrote on last edited by
      #21

      Chona1171 wrote:

      Mabe I should just stick to Information Systems its what I am good at.

      Nah, stretch yourself, become good at other things. Resources such as bitmap handles and database connections can be cleaned up by the IDisposable interface, which just means if an object has a Dispose method, you should call it when you don't want an object anymore. It's a poor mans substitute for deterministic destruction.

      Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

      C 1 Reply Last reply
      0
      • V V 0

        Chona1171 wrote:

        Remember the good al days where it took bout 3 mins to boot win98?

        I remember the good old days of windows 3.1x, dos 6.0 and even the 5 inch floppies you needed to insert into a machine so it would boot. Those things had the amazing capacity of 512 KB. Booting the cpu then took about 15 to 30 seconds... :)

        I've found a living worth working for, but I haven't found work worth living for. :beer:
            :jig:

        L Offline
        L Offline
        L Viljoen
        wrote on last edited by
        #22

        And a 100mb hard drive went for a shitload of money. now terabyte drives are making the scenes. I even find that people arent using the normal CD's anymore its all DVD baby!!!!!!! and Blue ray is out but still very expensive, but I give it about 2 years to become a normal house hold item. My first PC was the ZX spectrum.

        Oliekrokenosterpikkelikkeastrysvoel

        Q 1 Reply Last reply
        0
        • M Marc Clifton

          Chona1171 wrote:

          but be honest if you have a killer PC and a copy of Elder Scrolls of Oblivion you wont be playing Tetris will you.

          Sure I will. Tetris is a great 5 minute break diversion. It's free, it's easy to use, and it doesn't require a killer PC.

          Chona1171 wrote:

          I am talking about games that are selling now.

          I honestly don't think a killer game requires a 256MB Radion Ultra whatever and a 3Ghz Dual 2 Core whatever. A game is killer because of certain qualities that frankly, nobody has been able to identify, that I know of. Also keep in mind that the lifetime of a game is probably 3-6 months. It was about 6 months when I worked in the game industry. It's probably shorter now. I'm actually enjoying StormReach. For $15/mo, I get a very dynamic multiplayer experience, they're constantly upgrading and adding new modules and features, etc. Sure beats the "box" game that eventually gets boring because it's such a constrained system. There's other massively multiplayer games out there too, like Eve, I think is the name. Frankly, I think those type of games will define one vertical market, while the other will still be the time honored "play disconnected" style of game. Games that provide both are cool, but they don't have the richness of the world that something like StormReach has, at least IMO. Marc

          XPressTier

          Some people believe what the bible says. Literally. At least [with Wikipedia] you have the chance to correct the wiki -- Jörgen Sigvardsson
          People are just notoriously impossible. --DavidCrow
          There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer

          J Offline
          J Offline
          Jorgen Sigvardsson
          wrote on last edited by
          #23

          Marc Clifton wrote:

          A game is killer because of certain qualities that frankly, nobody has been able to identify, that I know of.

          Indeed. I play Unreal Tournament - the first edition (released in 1999 I believe, or was it 1998?). Looks like crap by modern standards, but yet it's the only playable FPS game out there. Not only does UT kill manhours, it also allows you to kill! :-D

          L 1 Reply Last reply
          0
          • J Jorgen Sigvardsson

            DirectX is a very small part of a game...

            C Offline
            C Offline
            Christian Graus
            wrote on last edited by
            #24

            True, but it's the part you think of when you think of performance. I doubt that C# is much behind C++ in terms of ability to crunch numbers.

            Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

            J J 2 Replies Last reply
            0
            • J Jorgen Sigvardsson

              If it was, we would've seen hordes of games written in C#, wouldn't we? It may be *possible*, but I don't think it's *feasible*. There is no room for missing time slots in games. It's the closest thing to a hard real time system you'll on a regular PC. Ask any gamer about the slightest performance drop for just milliseconds. A game with such characteristics would be deemed "CRAP!" in the first review...

              V Offline
              V Offline
              V 0
              wrote on last edited by
              #25

              Jörgen Sigvardsson wrote:

              If it was, we would've seen hordes of games written in C#, wouldn't we?

              as I already stated further in the thread. For speedy games you need C/C++, but for slower games C# will do just fine... eg. Leisure suit Larry 9 could be written in C" perfectly. Doom 4, Need For Speed Hot Pursuit 3 and the likes, could not...

              I've found a living worth working for, but I haven't found work worth living for. :beer:
                  :jig:

              J 1 Reply Last reply
              0
              • C Christian Graus

                Chona1171 wrote:

                but be honest if you have a killer PC and a copy of Elder Scrolls of Oblivion you wont be playing Tetris will you.

                I have several 'killer' PCs, and I tend to play old games on MAME (rarely) and the solitaire variants that come with the OS.

                Chona1171 wrote:

                I am talking about games that are selling now.

                When someone actually comes up with a good idea for a game, it will sell like crazy, just like Tetris did. In the meantime, it'll all be about how many polygons are on the screen, although games like Age of Empires continue to sell AFAIK, and they aren't any great feat, graphics wise.

                Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                L Offline
                L Offline
                L Viljoen
                wrote on last edited by
                #26

                What does Microsoft MVP Stand for? Yea good ideas sells best. but I got a real bummer some time ago. I dont know if you are familiar with the program MXIT that is like an online chat program. Well after I finished my Java2 (ME)I went and did some research and was busy with a program on the same concept, and I was quite soem pages of code into the program, when my good friend showed me the mixit program. Damn I though I was being original.

                Oliekrokenosterpikkelikkeastrysvoel

                C 1 Reply Last reply
                0
                • L L Viljoen

                  What does Microsoft MVP Stand for? Yea good ideas sells best. but I got a real bummer some time ago. I dont know if you are familiar with the program MXIT that is like an online chat program. Well after I finished my Java2 (ME)I went and did some research and was busy with a program on the same concept, and I was quite soem pages of code into the program, when my good friend showed me the mixit program. Damn I though I was being original.

                  Oliekrokenosterpikkelikkeastrysvoel

                  C Offline
                  C Offline
                  Christian Graus
                  wrote on last edited by
                  #27

                  Chona1171 wrote:

                  What does Microsoft MVP Stand for?

                  It means I help people in forums a lot.

                  Chona1171 wrote:

                  Damn I though I was being original

                  Yeah, that's the tough bit, for sure.

                  Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                  L 1 Reply Last reply
                  0
                  • J Jorgen Sigvardsson

                    Marc Clifton wrote:

                    A game is killer because of certain qualities that frankly, nobody has been able to identify, that I know of.

                    Indeed. I play Unreal Tournament - the first edition (released in 1999 I believe, or was it 1998?). Looks like crap by modern standards, but yet it's the only playable FPS game out there. Not only does UT kill manhours, it also allows you to kill! :-D

                    L Offline
                    L Offline
                    L Viljoen
                    wrote on last edited by
                    #28

                    Yup we just cant get rid of those legends, I still enjoy it, the speed and stability proves to be a winning combination in 3D games. It actually requires skill. I still play Quake 3 LAN tournaments and never get bored, because I can still get so much better in it.

                    Oliekrokenosterpikkelikkeastrysvoel

                    1 Reply Last reply
                    0
                    • C Christian Graus

                      Why ? C# can handle pointers and memory allocation, BTW.

                      Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                      Q Offline
                      Q Offline
                      QuiJohn
                      wrote on last edited by
                      #29

                      Christian Graus wrote:

                      Why ?

                      Possibly because C# has been shown to be about twice as slow as C++? For a time critical app like a 3D game, that might be important.

                      C C B 3 Replies Last reply
                      0
                      • L L Viljoen

                        I have been studying Information Systems programming for two years now, but have always been intrigued by games programming, now there is a campus opening in SA that offers C# 3D Games Programming using Direct X. Now this all sounds very cool since I am a great fan of Java and C# but does anyone know is it possible to create a good game in C# that can compete in the market?

                        Oliekrokenosterpikkelikkeastrysvoel

                        A Offline
                        A Offline
                        Arjan Schouten
                        wrote on last edited by
                        #30

                        Check this[^] out. It is a site mostly dedicated to Managed DirectX programming, here you will find some answers. Hope it helps.

                        Arjan

                        S 1 Reply Last reply
                        0
                        • C Christian Graus

                          Chona1171 wrote:

                          What does Microsoft MVP Stand for?

                          It means I help people in forums a lot.

                          Chona1171 wrote:

                          Damn I though I was being original

                          Yeah, that's the tough bit, for sure.

                          Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                          L Offline
                          L Offline
                          L Viljoen
                          wrote on last edited by
                          #31

                          Do you know how good in Java - C# interop. I am a java expert but there are some classes in the .NET framework that I will find very usefull

                          Oliekrokenosterpikkelikkeastrysvoel

                          1 Reply Last reply
                          0
                          • L L Viljoen

                            And a 100mb hard drive went for a shitload of money. now terabyte drives are making the scenes. I even find that people arent using the normal CD's anymore its all DVD baby!!!!!!! and Blue ray is out but still very expensive, but I give it about 2 years to become a normal house hold item. My first PC was the ZX spectrum.

                            Oliekrokenosterpikkelikkeastrysvoel

                            Q Offline
                            Q Offline
                            QuiJohn
                            wrote on last edited by
                            #32

                            Chona1171 wrote:

                            Blue ray is out but still very expensive, but I give it about 2 years to become a normal house hold item.

                            Not unless them and the HD-DVD camp get their crap together and consolidate.

                            L 1 Reply Last reply
                            0
                            • C Christian Graus

                              True, but it's the part you think of when you think of performance. I doubt that C# is much behind C++ in terms of ability to crunch numbers.

                              Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                              J Offline
                              J Offline
                              Jorgen Sigvardsson
                              wrote on last edited by
                              #33

                              Exactly, it's written in C/C++ as a thin layer around the graphics drivers. .NET accessibility is probably just a thin layer around the native DirectX layer, giving the 4-5% performance penalty. It's all the other stuff around the DirectX, where .NET will hurt performance. For instance, handling trees, queues, lists, arrays, will always be faster in native code. Native code doesn't have to go through all the hoops .NET lays out (security, memory management, exception handlers (yes, these are serious performance hoggers - even so in C++ apps), etc). Native apps also have less memory overhead, allowing for less page faults and better cache management which are probably the biggest performance killers. If C#/.NET had been a viable option for games, we would've seen them by now. (No, Tetris doesn't count ;))

                              S 1 Reply Last reply
                              0
                              • C Christian Graus

                                True, but it's the part you think of when you think of performance. I doubt that C# is much behind C++ in terms of ability to crunch numbers.

                                Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                                J Offline
                                J Offline
                                Jim Crafton
                                wrote on last edited by
                                #34

                                Hmm, I wouldn't bet a whole lot on that. For high performance number crunching, I'll bet C# might run into issues. For example the physics engine, or maybe the collision engine. Perhaps if there's an advanced AI engine for game play, and that has to do a lot of fast number crunching to determine things, or movements?

                                ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF!

                                1 Reply Last reply
                                0
                                • Q QuiJohn

                                  Christian Graus wrote:

                                  Why ?

                                  Possibly because C# has been shown to be about twice as slow as C++? For a time critical app like a 3D game, that might be important.

                                  C Offline
                                  C Offline
                                  Christian Graus
                                  wrote on last edited by
                                  #35

                                  David Kentley wrote:

                                  Possibly because C# has been shown to be about twice as slow as C++?

                                  Shown by who ? C++ programmers who don't know how to use C# ? I write image processing software. I implimented an algorithm in C#, and moved it to C++. It went from 15 seconds to "I gave up after a day". I know C++ better than C#, but I'd just ported the code holus bolus, when I went back and looked at it, I could see why, and I changed the way my algorithm was implimented, and ended up with something slightly faster, as in 12 seconds or something. I still use that C++ code in my C# app, just to save those few seconds, but most of my processing is a lot less intense than that lot was ( HDR image merging ), and it works just fine in C#.

                                  Christian Graus - Microsoft MVP - C++ Metal Musings - Rex and my new metal blog

                                  E Q 2 Replies Last reply
                                  0
                                  • V V 0

                                    Jörgen Sigvardsson wrote:

                                    If it was, we would've seen hordes of games written in C#, wouldn't we?

                                    as I already stated further in the thread. For speedy games you need C/C++, but for slower games C# will do just fine... eg. Leisure suit Larry 9 could be written in C" perfectly. Doom 4, Need For Speed Hot Pursuit 3 and the likes, could not...

                                    I've found a living worth working for, but I haven't found work worth living for. :beer:
                                        :jig:

                                    J Offline
                                    J Offline
                                    Jorgen Sigvardsson
                                    wrote on last edited by
                                    #36

                                    V. wrote:

                                    eg. Leisure suit Larry 9 could be written in C" perfectly.

                                    I'd like to see it to believe it. :) Remember, any glitch in the animation will make the game look like crap. You can't have the garbage collector kick in and practically halt the game. Programmers are far more tolerable of this kind of behaviour than gamers are. Could you imagine the reaction of a gamer if a game started to act like Visual Studio 2005!?

                                    V. wrote:

                                    Doom 4

                                    I suspect you meant either Doom 3 or Quake 4. :~ I believe they shouldn't have been written at all. You'd have to search hard to find crappier games. Shitslow, and absolutely no value for the money.

                                    V 1 Reply Last reply
                                    0
                                    • Q QuiJohn

                                      Chona1171 wrote:

                                      Blue ray is out but still very expensive, but I give it about 2 years to become a normal house hold item.

                                      Not unless them and the HD-DVD camp get their crap together and consolidate.

                                      L Offline
                                      L Offline
                                      L Viljoen
                                      wrote on last edited by
                                      #37

                                      Yea the consumers always have top suffer under the companies red tape. But I also thing blue ray might be a problem cos I mean a tiny scratch on the disk and you are out of a GIG of Data. I have done a little bit of PC Forensics and Recovery and as far as I understand it is impossible to recover from a damaged surface.

                                      Oliekrokenosterpikkelikkeastrysvoel

                                      1 Reply Last reply
                                      0
                                      • J Jorgen Sigvardsson

                                        V. wrote:

                                        eg. Leisure suit Larry 9 could be written in C" perfectly.

                                        I'd like to see it to believe it. :) Remember, any glitch in the animation will make the game look like crap. You can't have the garbage collector kick in and practically halt the game. Programmers are far more tolerable of this kind of behaviour than gamers are. Could you imagine the reaction of a gamer if a game started to act like Visual Studio 2005!?

                                        V. wrote:

                                        Doom 4

                                        I suspect you meant either Doom 3 or Quake 4. :~ I believe they shouldn't have been written at all. You'd have to search hard to find crappier games. Shitslow, and absolutely no value for the money.

                                        V Offline
                                        V Offline
                                        V 0
                                        wrote on last edited by
                                        #38

                                        no I meant Doom 4 as in a future version as with Larry 9 which doesn't exist yet (I think :-))

                                        I've found a living worth working for, but I haven't found work worth living for. :beer:
                                            :jig:

                                        1 Reply Last reply
                                        0
                                        • L L Viljoen

                                          I have been studying Information Systems programming for two years now, but have always been intrigued by games programming, now there is a campus opening in SA that offers C# 3D Games Programming using Direct X. Now this all sounds very cool since I am a great fan of Java and C# but does anyone know is it possible to create a good game in C# that can compete in the market?

                                          Oliekrokenosterpikkelikkeastrysvoel

                                          N Offline
                                          N Offline
                                          Nemanja Trifunovic
                                          wrote on last edited by
                                          #39

                                          I am not a game programmer, but have worked on some soft real-time systems that have similar issues. The main problem with using C# or any other GC language/platform for such tasks is managing resources. For a real-time software, it is crucial to have a tight control over resources - i.e. you don't simply call new to get a chunk of memory - instead, you preallocate memory chunks when the program starts and then manage them during run-time. In my experience, it is much easier to do with C or C++ than with something like Java or C#. Not to mention the annoying fact that many string operations with Java/C# result in a creation of a brand new string object, but that is probably not a big issue with games - for the language processing applications I am working on, it was practically a show-stopper.

                                          Programming Blog utf8-cpp

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups