Might&Magic X Legacy was crippled by devs on 32 bit OS

So they didn't make separate build for 32-bit and 64-bit ? That would explain a lot of the performance issues I guess.

With a 64-bit build they could get a lot of benefits on 64-bit OS.
 
Joined
Oct 25, 2006
Messages
6,292
For anyone experiencing idiotically excessive loads on your video card while staring at a static tavern/shop screen (…), the in-game V-Sync option seemingly does jack squat - enabling V-sync in windows did the trick for me. Nope, the crazy GPU load is unrelated to excessive frames...

After playing some more, I'm finding more and more examples of absolutely atrocious graphics for the game's hardware requirements. With all options set to max, if a game still looks like something from ten years back, a recommendation for 6gb RAM and associated 64bit OS is a joke.

If a studio's game looks like crap, it shouldn't have hardware requirements on par with (and beyond) AAA titles.
 
Last edited:
Joined
Nov 10, 2008
Messages
5,980
Location
Florida, USA
For anyone experiencing idiotically excessive loads on your video card while staring at a static tavern/shop screen (…), the in-game V-Sync option seemingly does jack squat - enabling V-sync in windows did the trick for me. Nope, the crazy GPU load is unrelated to excessive frames…

After playing some more, I'm finding more and more examples of absolutely atrocious graphics for the game's hardware requirements. With all options set to max, if a game still looks like something from ten years back, a recommendation for 6gb RAM and associated 64bit OS is a joke.

If a studio's game looks like crap, it shouldn't have hardware requirements on par with (and beyond) AAA titles.
It shouldn't, but it's actually more like it for a non-AAA game to be this way, after all, when the team is 3 developers chances are lower to dedicate time to 'optimize' than if you have a team of 20 developers, where you can just say "Joe, you have one job and one job only, to optimize the code everywhere"
 
Joined
Sep 23, 2008
Messages
5,645
Location
Tardis
It shouldn't, but it's actually more like it for a non-AAA game to be this way, after all, when the team is 3 developers chances are lower to dedicate time to 'optimize' than if you have a team of 20 developers, where you can just say "Joe, you have one job and one job only, to optimize the code everywhere"

If you don't know how to make something properly, then don't make it - let alone sell it to people!
 
Joined
Feb 2, 2011
Messages
2,818
Location
United Kingdom
The poor performance of MMX has a cause:

They are using C# with unity.

C# is a language for information/database systems and not for games IMHO.

AnsiC / C++ / Purebasic / Powerbasic are for good maximum Speed.
Even Delphi is better than C#.
 
Joined
Oct 18, 2006
Messages
20,068
Location
Germany
The poor performance of MMX has a cause:

They are using C# with unity.

C# is a language for information/database systems and not for games IMHO.

AnsiC / C++ / Purebasic / Powerbasic are for good maximum Speed.
Even Delphi is better than C#.

Ah, C - it does not get better than that!
 
Joined
Feb 2, 2011
Messages
2,818
Location
United Kingdom
LOL, they built the game in C# ?

Why didn't they hire C++ developers? I could have freelanced for them and done a better job... what a pity.
 
Joined
Oct 25, 2006
Messages
6,292
C# is a fine language for games, it's just that almost all professional coders are conditioned to C++. You can easily do game code using C#. I'm doing my own game using C# and XNA - and the 3D performance has little or nothing to do with C#, that's the way they've implemented it in Unity. It's a TURN-BASED game and the game logic is written in C# - not the 3D graphics code, that's why they're using Unity.

You guys don't know anything, do you? ;)

In any case, that's the the reason the game is slow - a combination of using Unity and not optimising correctly, which could be lack of time and/or experience.

There's a reason almost all Unity games out there are slow - that's because you can't optimise very well with a "game creation kit".

Shadowrun ran like crap compared to what was going on as well.
 
All software works like this though, it's not a phenomenon peculiar to games. As hardware becomes more powerful, people write more complex software, do it in higher level languages that are slower (C#/Java/Python/whatever) in order to speed development, and write it in a less-optimized fashion, often by going through many intermediate/pre-packaged layers (eg Unity) to also save development time. It's why something like, say, Microsoft Office seems slower than its equivalent from 25 years ago, while (for the majority of users) not actually doing anything you couldn't do back then…all this despite running on computers that are 10,000X faster with 10,000X as much RAM.
 
Joined
Sep 26, 2007
Messages
3,473
C# is a fine language for games, it's just that almost all professional coders are conditioned to C++. You can easily do game code using C#. I'm doing my own game using C# and XNA - and the 3D performance has little or nothing to do with C#, that's the way they've implemented it in Unity. It's a TURN-BASED game and the game logic is written in C# - not the 3D graphics code, that's why they're using Unity.

You guys don't know anything, do you? ;)

I thought that this is understood and common knowledge, and HiddenX and others did not claim otherwise as he said using 'C# AND Unity'.

Anyways, as Stingray said, scripting languages are easier to manage and with quick turn around with their overhead being hardly recognised due to hardware advancements.
 
Joined
Feb 2, 2011
Messages
2,818
Location
United Kingdom
I thought that this is understood and common knowledge, and HiddenX and others did not claim otherwise as he said using 'C# AND Unity'.

He said it wasn't good for games though - and there are other people here :)

But it was just a friendly jest, nothing more.

Anyways, as Stingray said, scripting languages are easier to manage and with quick turn around with their overhead being hardly recognised due to hardware advancements.

In theory, sure.
 
I agree with DArtagnan, though, that using C# for game logic (not the graphics engine obviously) shouldn't be that much of a performance impact. There are well optimized games that heavily use languages that are far slower than C#. For example, World of Warcraft's UI being written entirely in Lua. CryEngine also uses Lua.
 
Joined
Sep 26, 2007
Messages
3,473
Certainly for MMX - where everything "game-logic" wise happens in between movement and 3D performance stuff. Well, mostly I'd say.

The issue with MMX performance, for me anyway, is when you move around and the game updates the visuals. That's almost certainly the graphics engine holding things back, and if they're using Unity - that makes sense to me.

It's clearly not a fast game, but I don't mind when it's turn-based, really.
 
My guess if they've written in C# is they didn't buy a source license for unity ( Unity core is of course written in C++ ) then they need to use tackled on scripts to do everything. Most common slow down in unity games are because of the C# garbage collection running, why not script with ruby instead? they'll be able to chunk out faster scripts that way as well, if it is only for scripting.
 
Joined
Oct 25, 2006
Messages
6,292
As long as the performance issues are 3D graphics related, I really don't see what difference C# makes - unless they chose to do it in a completely non-sensical way with a lot of superflous crap running during rendering.

But whatever, it's not a big deal.
 
Isn't also so that many games, in stead of loading and creating each object separately, they load memory in bulk, and use pointers to access the objects? Lacking pointers, I suppose C# would load game data not as efficiently as C/C++ can do?

pibbur who is not sure about most things, especially not this thing, but who trusts the gothic one.
 
Isn't also so that many games, in stead of loading and creating each object separately, they load memory as a bulk, and use pointers to access the objects. Lacking pointers, I suppose C# would load game data not as efficiently as C/C++ can do?

pibbur who is not sure about most things, especially not this thing.

Ehm, I haven't used pointers in ages, as they drive me insane.

But you're free to load stuff into memory in whatever segments you want to, AFAIK. I'm not sure what you're asking, exactly.

Also, I do believe C# supports pointers to an extent. They're not "garbage collected" IIRC, but we're getting into stuff I haven't messed with in ages.
 
Isn't also so that many games, in stead of loading and creating each object separately, they load memory in bulk, and use pointers to access the objects? Lacking pointers, I suppose C# would load game data not as efficiently as C/C++ can do?

pibbur who is not sure about most things, especially not this thing, but who trusts the gothic one.

True, C and particularly C++ give you more control over memory allocation and freeing (that is compiled).

But that is not the issue as GothicGothicness said - not many developers touch the actual source code for graphic engine to improve performance, and hence the poor performance in games as Dart said, since scripting hardly has any noticable effect (unless done really really badly).

Looking at Legend of Grimrock, they used Lua for scripting and their own graphics engine which was superb.
 
Joined
Feb 2, 2011
Messages
2,818
Location
United Kingdom
Guys, they could have written the game in assembler or Microsoft's QuickBasic, who cares.
The code, however, no matter what they've used, is not optimized. It's simple as that.

Limbic is a small studio. Ubisoft is… Ubisoft.
And because of buyers ready to close eyes on bugs in that other nonUbisoft game that sold millions of copies… Because buyers kept and keep silent about it…

Do not expect any code optimization here. You asked for it.
 
Last edited:
Joined
Apr 12, 2009
Messages
23,459
Back
Top Bottom