Coffeehouse Thread

29 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

1st Commercial C# Game?

Back to Forum: Coffeehouse
  • User profile image
    AQ

    I noticed an article in this month's Game Developer magazine called "The Future is Smaller in C#".

    exDream Entertainment developers claim to have written the first commercial game entirely in C#: Arena Wars, an action-based RTS set in 2137.
     
    They cite the rapid dev time, .NET Framework classes and object-based design as advantages of using C#.

    Most interesting however is that the base 3D engine comes in at 550kB. Ultra-compact. I just created a robust 2D engine with vector math, color space math, particle systems, and more and its well under 100kB, so I definitely have to agree, the future is smaller in C#!

    ok,
    aq


  • User profile image
    TimP

    That sounds really cool! After seeing managed Quake 2 I wonder if developers will start writing more managed code in commercial games. I realize that they won't jump ship and write all their code in C#/VB.NET, but I could see more and more utilies, editors, etc. for the games being written in managed code.

  • User profile image
    Minh

    The performance drop quoted by the demo would be tremendous if it can be confirm with a more robust method. No perf hit w/ P3 & 15% hit w/ P4. That's pretty good.

    Maybe MS can encourage the state of Managed games a bit. How about some cool cash prizes or something like that?

    -----
    http://1DudeGames.com

  • User profile image
    ZippyV

    It certainly looks nice:
    Screens

    Official site

  • User profile image
    Kaelan

    C# is definitely starting to catch on in the indie community, from what I've seen. While Java has been making inroads for a while, it hasn't caught on much because of how badly suited the APIs are to games. Sun has put more effort into it recently, but it's still not quite there.
    In comparison, having direct access to almost the entire DirectX API set from managed code means you can sit down and write multimedia apps pretty easily, and the performance and dev tools are as good as VB/Delphi, if not better. I for the most part do my work in VB, along with some VC++ code for performance and interop. From my experience with C# so far, I don't plan on making use of VB for any future projects - C# is far more suitable, and as long as my target users can manage to install .NET, it's a no-brainer. The addition of managed C++ means that I can keep most of my existing codebase and libraries working pretty trivially by writing some interop code, too.
    A few indie engine/game developers I know have begun to move over to C# as well, so it doesn't seem to just be me. A few of the devs I've talked with that traditionally work in C or C++ have said that they want to work with C# or other managed languages for all of their future projects. One of them cited IronPython and similar managed languages as a primary reason for moving over - instead of having to use C++ and write tons of scripting interface code, he can just write a managed object model and compile his game scripts as managed code on-the-fly.
    Editors and tool software in particular seem to be a popular use for C# - P/Invoke makes it really easy to interface a C# GUI with a core engine written in C, and that's probably one of the main reasons Java has been slow to catch on in this area - it's much harder to interface with native code in Java compared to the ease and simplicity of doing it in C#.

  • User profile image
    WINDOSUN_​OSCODB72

    Scripting is by far one of the the most interesing and powerful Topics in programming that I've seen in a long time.

    Irregardless of The Platform, OS, or USERGameBoxType, Scripts tell stuff on The Screen what to do, and can be interpreted, or translated to just about any Computer Language for The USER's Choice in Set . . .

    JAVA is incredibly fast, but lacks the richness to do Advanced Games or Simulations . . . It's emminently suited to The WEB, because The Web is so slow . . .

    Thanx!

  • User profile image
    WINDOSUN_​OSCODB72

    With Current Mono-Processor Computers, with Pentium 32-Bit Processors, or Equivalent, topping out @ ~ 4 GHz, in our computers, we are facing a DOS-Type Crisis: Doing More with Less is the Essence of Success! I APPLAUD such as "2-D @ 100KB", "3-D @ 550KB" Engines appearing before me ! ! !

    I have not seen or heard of such in over 10 YEARS ! ! !

    Death to Code Bloat ! ! !

    God Bless, and a toast of Ultima Ale, from a cask downloaded me from EA ! . . . 

  • User profile image
    LazyCoder

    This looks very promising. There have been a few games that have used Java as their game scripting language while coding their main engine in C++/C.(Vampire The Masquerade and the Law & Order games come to mind).  One game (Freedom Force) used Python for it's game scripting. It's nice to see a game written entirely in a GC managed language.

  • User profile image
    Tom Servo

    In defense of these "bloated" 3D engines (like Unreal and Source), look up their feature sets and extensibility, maybe you understand then why they're so big. That 550kb one for ArenaWars is likely a custom-fit rendering engine.

  • User profile image
    MrJelly

    This game looks really great and the fact it's in managed code is sooo cool! However, it got me thinking... writing 3D games in .NET may be attractive for the Indie crowd (who's major target platform might be Windows), however, what do think the "big guys", who want to develop of other platforms [as well] (Mac, Playstation, etc), my think? Do you think the might feel that doing this is locking themselves into a Windows and XBox codebase and avoid it?

    BTW... can you run managed code on an XBox?

    I realise that they could develop in managed C++ but they would still have to debug the native C++ versions on the target platforms anyway, so are there major advantages of going with managed code in the first place?

    How do you think they might handle this?

  • User profile image
    sbc

    Also managed code can not perform as well as native code - after all can you imagine Doom III in managed code with the same performance?

    For performance and graphics intensive games, managed code is not really the way to go. Also games developers will still have to develop games for older OS's (Win 98, Me, 2000) and hardware (PIII) - the only real requirement for games is a powerful GPU and decent RAM (256MB+) - which you can still run use with a high spec PIII  and low spec P4. The developers want to cater for many users and it is far cheaper to get a new GPU and/or more RAM rather than a new PC.

  • User profile image
    LazyCoder

    MrJelly wrote:
    ... Do you think the might feel that doing this is locking themselves into a Windows and XBox codebase and avoid it?

    BTW... can you run managed code on an XBox?

    I realise that they could develop in managed C++ but they would still have to debug the native C++ versions on the target platforms anyway, so are there major advantages of going with managed code in the first place?

    How do you think they might handle this?


    As far as I know, no you can't run managed code on an Xbox (not without hacking it and installing a CLR enabled OS Smiley ). If the  .NET Framework came with a linker, you could develop code in .NET and compile it to a binary that you could run on any Windows platform, including XBox. The .NET linker debate has been carried on throughout the web. They are coming out with a new Xbox development kit, they announced it at E3 (I think) which should make it easier to develop games for the XBox and PC simultaneously. I'm not sure how much they'll have to "dumb" down the games to get them to work on both platforms though. There are a couple of game engines, Renderware comes to mind, that work across all console platforms already. Treyarch appears to have one (or they just get a ton of money from Sony to produce all those Spider-Man games for every console).

  • User profile image
    sbc

    Perhaps a linker should be part of .NET 2.0 - that way you could develop apps on many systems. Would save a lot of hassle (and bandwidth, due to lack of need to download the framwork).

  • User profile image
    z33driver

    What's the state of games, Managed DirectX, and C#?  Any other commercial .NET based games out there?


  • User profile image
    W3bbo

    I'll add that Arena Wars was developed in C#, but the 3D power is OpenGL, not Managed DirectX.

  • User profile image
    Minh

    W3bbo wrote:
    I'll add that Arena Wars was developed in C#, but the 3D power is OpenGL, not Managed DirectX.
    Arena Wars was recently converted to use Managed DirectX. It has an amazing world editor, BTW, if you're interested in that kind of stuff.

  • User profile image
    Minh

    z33driver wrote:
    What's the state of games, Managed DirectX, and C#?  Any other commercial .NET based games out there?


    TheZBuffer.com is my repository for resources to all things Managed DirectX. Including other MDX sites, MDX games, and engines.

  • User profile image
    z33driver

    Minh wrote:
    z33driver wrote:What's the state of games, Managed DirectX, and C#?  Any other commercial .NET based games out there?


    TheZBuffer.com is my repository for resources to all things Managed DirectX. Including other MDX sites, MDX games, and engines.
    Funny you just mentioned that as I just started poring over that site after finding it linked from the arena wars guy's blog (http://abi.exDream.com).  Cool stuff.

    I have a concept for a game that I would love to build and release as shareware if I can ever find the time, I'm thinking maybe the rapid development possible with .NET would make it more realistic.

    There have got to be more commercial .NET games out there.  I'd love to find a .NET flight simulator.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.