Jump to content


Using C# For a Game Engine?


28 replies to this topic

#1 Jermaine

    Member

  • Members
  • PipPip
  • 58 posts

Posted 29 June 2006 - 05:24 PM

Well my first language was vb.net I am serious considering using C# for a major game project. But i have noticed that alot of engine in the dtabase dont really used C# For a language. My question is it possible to make a Major Game Engine with C#? Can C# be s powerful as C++ as far as making games and what are the advantages and disadvantages of using C#.? Can C# use Physics ?Effectively?

#2 Jare

    Valued Member

  • Members
  • PipPipPip
  • 247 posts

Posted 29 June 2006 - 06:18 PM

It depends on what you consider "Major", but in general, yes it can. The advantages and disadvantages have been discussed here multiple times, so a quick search will answer your question rather than force someone to repeat it again here.

#3 Morgan360

    New Member

  • Members
  • PipPip
  • 20 posts

Posted 30 June 2006 - 08:57 PM

FWIW, Unity lets you use C# (among other languages). It sounds like you plan to start from scratch, though, not use an existing engine?
Morgan
Tools: LightWave + Unity. Games: educational, promotional, and shareware. Hardware: Intel Mac... hopefully.

#4 Jermaine

    Member

  • Members
  • PipPip
  • 58 posts

Posted 03 July 2006 - 02:27 AM

well i have been using alot of engines but i iwill like to move on to C# programming. And i havent really seen any rave reviews from existing C#engines.

#5 Jermaine

    Member

  • Members
  • PipPip
  • 58 posts

Posted 03 July 2006 - 02:29 AM

also Unity costs 250 dollars.

#6 Morgan360

    New Member

  • Members
  • PipPip
  • 20 posts

Posted 03 July 2006 - 02:45 AM

Unity certainly gets rave reviews:
http://www.devmaster...ails.php?id=256

And having just spent that money myself, I can say that $249 (or $1499 for that matter) is dirt cheap for what Unity delivers--especially since you're working on a major game project. No free tools (or any tools I've found for that matter) could come anywhere close to doing what Unity has done to move my game towards a shipping finished product. And when you ship, the money comes to YOU :)

But starting from scratch does cost less for sure! Good luck with your project.
Morgan
Tools: LightWave + Unity. Games: educational, promotional, and shareware. Hardware: Intel Mac... hopefully.

#7 Jermaine

    Member

  • Members
  • PipPip
  • 58 posts

Posted 10 July 2006 - 05:55 PM

yeah well i decided on torque it doesnt spport C# but i can deal with it.

Thanks for your help though

#8 pwned!

    New Member

  • Members
  • PipPip
  • 13 posts

Posted 10 July 2006 - 06:45 PM

C# seems to be quite adequate for writing an engine. I'm using it and Managed DirectX right now for a game. It might not be the tool to use for the next Quake engine or something of that caliber, but for small games, it should be just fine.

#9 Blaxill

    Member

  • Members
  • PipPip
  • 66 posts

Posted 10 July 2006 - 10:00 PM

pwned! said:

It might not be the tool to use for the next Quake engine or something of that caliber, but for small games, it should be just fine.
Why not :ninja:
Next Gen using C#

Offtopic: and i don't think much of 'Enemy Territory: Quake Wars', tbh it doesnt look that good - models look even more plasticy after being removed from dark tunnels in doom or the dark setting of Quake 4. And we all know that 'MegaTexture' is just clip mapping, with another name, for publicity.

#10 kariem2k

    Valued Member

  • Members
  • PipPipPip
  • 207 posts

Posted 11 July 2006 - 02:38 PM

Hi
Of course C# can be used in major games,But the speed is not like c++ of course (But it does not matter for the current high machines specifications).
Take a look at Haddd it looks promesing,And its source code will be available at the end of the month and it is completely written in C#,But the animation system and scene managment are not completed but after going in the open source path it will evolve fast.

#11 Morgan360

    New Member

  • Members
  • PipPip
  • 20 posts

Posted 11 July 2006 - 03:04 PM

The nice thing about Unity is that you can use C#, JavaScript and/or Boo/Python for your game logic (which is compiled from there to fast native code), but that doesn't mean the animation engine is written the same way--the engine itself is separate--and is also very fast, even on low-end hardware.
Morgan
Tools: LightWave + Unity. Games: educational, promotional, and shareware. Hardware: Intel Mac... hopefully.

#12 Alex007152

    Member

  • Members
  • PipPip
  • 47 posts

Posted 11 July 2006 - 06:16 PM

Jermaine said:

Well my first language was vb.net I am serious considering using C# for a major game project. But i have noticed that alot of engine in the dtabase dont really used C# For a language. My question is it possible to make a Major Game Engine with C#? Can C# be s powerful as C++ as far as making games and what are the advantages and disadvantages of using C#.? Can C# use Physics ?Effectively?

Well our 3D game engine is written in C#. What i have learned from our programmers is that java is basicaly a bettered version of C++ but allot slower and C# is a bettered version of Java but then faster. I cannot confirm this as i have minimum knowledge of the above 3 i mentioned. So... yes, it is possible to write a 'major' game engine in C#.

#13 pwned!

    New Member

  • Members
  • PipPip
  • 13 posts

Posted 11 July 2006 - 08:35 PM

Yes, I would agree with you on that language progression. For those who are not familiar with Java, C# is kind of like C++ without all the "icky" stuff that makes you want to pull your hair out on those late nights debugging. It's a powerful language that's fun to use(when coupled with .Net) and gives you more time to code meaningful things (read as "cool sh!t") rather than have to obsess over the details of memory management. I drink 50% less Jolt now and have normal blood pressure since I switched from C++.
:happy: This could be you!

pwned!

#14 Blaxill

    Member

  • Members
  • PipPip
  • 66 posts

Posted 11 July 2006 - 10:01 PM

Jermaine said:

Well my first language was vb.net I am serious considering using C# for a major game project. But i have noticed that alot of engine in the dtabase dont really used C# For a language. My question is it possible to make a Major Game Engine with C#? Can C# be s powerful as C++ as far as making games and what are the advantages and disadvantages of using C#.? Can C# use Physics ?Effectively?
C# is a a relatively new programming language compared to c++, thats the main reason you see hardly any c# engines. Of course c# can use physics, if your not writing your own physics library you will probably be linking to a c/c++ physics library anyway.

#15 SmokingRope

    Valued Member

  • Members
  • PipPipPip
  • 210 posts

Posted 13 July 2006 - 05:47 AM

I only don't like C# because of it's binding to the .Net Framework. Of course in any form of substantial release you can package the .net Installer with the rest of the Programs Data but this makes freeware and small parlor games cumbersome to install. Although i personally take the time to install the .Net framework on most computers i work on; there are those who are still unaware of the need to do such a thing... Having to package a 14...20...bigger? installer with a 100k game of tetris is truly disconcerting.

In addition you should note that the minimum size of a .net Executable at runtime takes up around 14mb of memory, in my experience. Although we have exponentially increased both the capabilities of computers and the power of our frameworks, doing so with ram usage of 'hello world' is not the best of ideas.

Granted C# can link up with any C++ library with a little work. As soon as Windows Vista comes out the .Net framework will be part of the OS distribution. Despite this, I think of C# as a parlor game itself, providing a mechanism for rapid/inefficient development of anything utilizing the Windows UI. It's programming constructs aren't tailored any better than C++ for the Game Developer.

#16 MickePicke

    New Member

  • Members
  • Pip
  • 5 posts

Posted 13 July 2006 - 11:28 AM

SmokingRope said:

In addition you should note that the minimum size of a .net Executable at runtime takes up around 14mb of memory, in my experience.

That's because .NET reserves more memory than it first needs. If more memory is needed, it's already there and gets allocated faster.

If another app needs the memory instead .NET will happily give up it's reserved memory. So the Mem usage tab in the Task Manager won't give you the actual amount of memory used, only the reserved amount (which can drop fast if needed).

#17 pwned!

    New Member

  • Members
  • PipPip
  • 13 posts

Posted 13 July 2006 - 01:17 PM

SmokingRope said:

...Having to package a 14...20...bigger? installer with a 100k game of tetris is truly disconcerting.

This is a very good point, and oft overlooked. Most home users have no problem installing this, despite the moderately chunky download. In a corporate environment where most people do not have admin rights on their boxes, however, it can be a different story. It's much more inconvenient when you have to go run down a Linux-loving bitch boy from the IT department to install (God forbid!) something from Microsoft.
There is a way to statically link to assemblies in the framework, but it's more of a hack, and doubtlessly a bad idea- especially if you have a bunch of managed games to download.
I would be very interested in finding out who (in statistical terms) has the framework installed. I would suspect that a larger percentage of younger folks (those that install everything off Microsoft Update or update their ATI drivers) already have the 1.1 framework installed than baby boomers. This is something to consider when thinking about who your game(s) are targeting.
If any of you are interested, I have a bit of code you can place on your web site to check whether or not visitors have the framework installed. Keeping track of this info in a database could give you some insight on what your audience has installed. It might be worthwhile for developers considering moving over into the managed world.

Josh Usovsky

#18 NeARAZ

    New Member

  • Members
  • PipPip
  • 27 posts

Posted 17 July 2006 - 05:07 PM

SmokingRope said:

I only don't like C# because of it's binding to the .Net Framework.
In Unity, we use Mono for the scripting. In the web player installer, Mono stuff takes around 1.5MB (compressed). Of course, it has only the essential libraries (mscorlib) and the runtime inside; no C# compilers or other libraries (databases, gui, asp.net etc.).

So it can be made smaller than 20MB (or how much these days?) the official .NET installer takes. Of course, for a 100k game it's still quite much :)

#19 xanados

    New Member

  • Members
  • Pip
  • 4 posts

Posted 18 July 2006 - 02:15 PM

i have been trying to find tutorials on the following programming languages:
Java
C#
C++
Visual Studio
.NET
SQL
Max Script
DirectX 9
DirectX 10
Direct3D
Shader Technologies
Ashli
Technical Design Documents (TDD)
AAA
MMOG
Multi-core architectures
Real-time Physics
3D Studio Max
3D Studio Max SDK
Softimage
Maya
Linux
Networking
3jane
Renderware
API
OpenGL
D3D
STL
Vista
Perl
Havok
AI
UI
FX
OOD
OOP
SQL
ya i know it is alot...but if yo can help jsut email me at mysticosmospresident@yahoo.com
luckily i found anough on C programming to know the language...but i cant incorporate it into a game...just a DOS program

#20 dega512

    Valued Member

  • Members
  • PipPipPip
  • 108 posts

Posted 18 July 2006 - 03:57 PM

It's called Google :lol: .
(and just so you know not all of those are programming langauges)

Quote

found anough on C programming to know the language...but i cant incorporate it into a game
Good, now that you know C learn C++ then come back to game programming.

- dega





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users