5 ms·
>in the gamedev domain, control over memory is fairly vital. C# is taking over the game world. Most iOS games are, for instance, written in C# these days. I h
by sambeau 13y ago
>in the gamedev domain, control over memory is fairly vital.
C# is taking over the game world. Most iOS games are, for instance, written in C# these days.
I have worked for a company who wrote a state-of-the-art 3D PC gaming engine in C#.
Being garbage collected doesn't remove the ability to manage memory. It just removes the need to call Malloc directly.
- epsylon 13y ago> state-of-the-art 3D PC gaming engine in C#. How does it compare to Cry Engine, Unreal Engine, Frostbite, ...? Because these are the state of the art gaming engines these days.
- sambeau 13y agoIt compared surprisingly favourably. The C# engine was comparable (and regularly compared) to the Unreal Engine being used elsewhere in the company. It was C# from the ground up. Scripting was provided via other .Net languages (Python in the case of the UI team).
- CmonDev 13y agoThose are state of the art graphics gaming engines. It's quite hard to make e.g. an RTS using any of those. They are too FPS specific.
- Strom 13y agoCommand & Conquer is being built on Frostbite. [1] [1] http://en.wikipedia.org/wiki/Command_%26_Conquer_(2013_video_game) http://en.wikipedia.org/wiki/Command_%26_Conquer_(2013_video...
- RobotCaleb 13y agoI'm interested in knowing more about that engine. Can you say who/what it is?
- sambeau 13y agoRealtime Worlds
- RobotCaleb 13y agoAh, yes. Out of Boulder? Which game's engine was in C#? Project MyWorld?
- sambeau 13y agoYes. But out of Dundee, Scotland.
- Mikeb85 13y agoThe fact that Unity uses C# as one of it's scripting engines doesn't mean that C# is taking over the game world (I'll assume that's where the C# reference is from - since Unity is incredibly popular for iOS devs). The vast majority of games are still C++, often scripted in Lua, Python, Javascript and C#.
- sambeau 13y agoI wouldn't describe Unity's relationship with C# as 'scripting'. I realise that there are no doubt a number of custom C++ engines out there with embedded scripting languages but push for multi-platform mobile games has caused an huge shift towards Unity. Maybe I'm moving in the wrong circled here — but anecdotally all the people I know making iOS & Android games are developing in Unity.
- Mikeb85 13y agoFrom the horse's mouth: http://answers.unity3d.com/questions/9675/is-unity-engine-written-in-monoc-or-c.html http://answers.unity3d.com/questions/9675/is-unity-engine-wr... And I don't doubt that alot of devs use Unity, it's most likely the most popular game engine. But it's still a C++ project, despite the languages used to script game events...
- CmonDev 13y agoXamarin
- pmelendez 13y ago> "C# is taking over the game world. Most iOS games are, for instance, written in C# these days." When the engine underneath is done in C# as well I will take that argument. So far, it would be the same that saying that most console games are done in UnrealScript.
- jaegerpicker 13y agoMost iOS games aren't C# now a days. Unity likes to trot out the 70% number for mobile games but it's mostly bs. That isn't counting games that are actually published that based on there registered numbers, a lot of of never actually make it into the store. I'm willing to bet the most of iOS games are still Obj-C
- sambeau 13y agoI'd take that bet. I know many iOS game developers and none of them use Objective-C any more. (in fact I only ever knew one)
- noct 13y agoAre you referring to Unity? If so, while the game code is run via Mono, it is C++ internally.
- CmonDev 13y agoWhich is just some machine code eventually. It's just electric signals people!
- speeder 13y agoAre you SURE about that? Well, for shitty games maybe it is true, shovelware aplenty on iOS anyway. But for the part of the market that actually has a profit (not just revenue) C# is not that dominant. In terms of profit, the most profitable games probably still rely on C++. Also most engines (including Unity) are made in C or C++, they sorta abstract the memory management for the game author, but they still do a lot of manual fiddling themselves, XNA for example (that allow you to write C# games directly to the hardware without a C++ engine) is notorious for bigger games having memory issues. Also 2D "retina" games use so much absurd amounts of memory, that they are almost impossible to do purely in high-level languages, you need some C or C++ somewhere to handle them, at least texture loading, otherwise you end with loading times so big that people want to suicide.
- pjmlp 13y agoLoading times don't have anything to do with the language. Loading times have been an issue since game consoles moved away from cartridges.