Thoughts on Ogre or Mogre

A place for users of OGRE to discuss ideas and experiences of utilitising OGRE in their games / demos / applications.
Post Reply
amroc
Bronze Sponsor
Bronze Sponsor
Posts: 15
Joined: Tue May 08, 2007 8:05 pm

Thoughts on Ogre or Mogre

Post by amroc »

Hi All,

Just wanted to say this is my first ever post! I've been learning about ogre for a while now, and finally starting using it. I think it's fantastic.

I have the very beginnings of a racing game and I couldn't decide whether to do it in c++ or c#, so I have written it once in each language, in order to get a feel for the differences. I've just started making a track that's generated from a SimpleSpline:

Image

I was just wondering what everyone's thoughts are about using mogre or ogre( well more specifically, using c# or using c++ )

I program c++ at my job, and I'm new to c# and like it so far. It feels faster to develop with, and from my little test program so far there are no significant performance sacrifices from using mogre.

I realise there are a lot of "depends on" points to this argument, but was just interested to hear what people might have to say :)

Thanks lots.
User avatar
Aladrin
Orc
Posts: 465
Joined: Fri Mar 10, 2006 10:22 pm

Post by Aladrin »

I'm not an expert, so take this with a grain of salt.

I tried to go the C# route, because at the time, I was more familiar with C# than C++. (I'd forgotten a lot from not using C++ for years.)

I kept coming up with the same problem over and over: Libraries. C++ has libraries for EVERYTHING and all the new cool stuff is in C++. C# is always lagging behind, waiting for a half-arsed wrapper, or waiting longer for a good wrapper or a complete rewrite.

It's very frustrating.

If you've truly got everything you need already in C#, then I'd pick that, as it IS faster to code something in, and tends to be a lot more developer-friendly.

But if you want to be sure to have all the newest, coolest stuff... C++.
User avatar
madmark
Goblin
Posts: 292
Joined: Fri Jul 22, 2005 8:14 pm
Location: Midwest USA
Contact:

Post by madmark »

As much as I like MOgre (I use it everyday), I have to say stick with C++.

MOgre lost it's driving force to forced military service.
REiNDEeR
Greenskin
Posts: 149
Joined: Sat Apr 14, 2007 1:27 pm

Post by REiNDEeR »

The main reason why I don't like to use .NET or Java for games(especially online games) is because its possible to decompile it back to its original source.
Of course there are tools such as obfuscators that try to make it harder but after all they just slow down the process.

For me .NET & Java are great frameworks to develop business apps & websites, in fact I use Java for everything except games and sometimes platform specific tools.
Last edited by REiNDEeR on Mon May 14, 2007 4:36 pm, edited 1 time in total.
Kerion
Goblin
Posts: 235
Joined: Wed Feb 05, 2003 5:49 am
Contact:

Post by Kerion »

madmark wrote:As much as I like MOgre (I use it everyday), I have to say stick with C++.

MOgre lost it's driving force to forced military service.
Don't let this push you away. There are many of us who rely on MOGRE and are taking it upon ourselves to make sure it stays up to date. I am in the process of learning Bekas' build process right now so that I can keep MOGRE up to date.

That said, the choice really depends on a lot of things. How comfortable you are with the two different development platforms, if you need libraries that there are no good wrappers/ports for and what kind of app you are writing. For tools/GUI work, I don't think there is an environment that offers what .NET/MOGRE can, in terms of writing really slick Windows apps. WinForms is simply a great toolkit to work with from that stand point. Of course, you lose platform independence, but sometimes in the tools arena that's not a huge issue. Even then it can be worked around with some wizardry and mono if it's an absolute requirement that your tool be cross platform.

From an engine point of view, it again depends on what you are trying to do. I am not sure I would attempt to write a commercial title using C# + MOGRE because there are too many unknowns and risks. That said, I am writing my personal engine using MOGRE because it's an educational project for me. Just something to learn more about OGRE and game development in general. I already know C++ extremely well, I don't need to force myself to program in it just to learn it.

For tools, MOGRE is my #1 choice, hands down. I prefer writing GUI apps in .NET's WinForms, so it's a natural choice for me. From an engine stand point, it really depends again, on what I am doing and who I am doing it for. For my personal pet project, C#/.NET/MOGRE is fine. I am never going to sell it and if it falls flat on it's face, oh well, I will have learned some things.
Kerion
Goblin
Posts: 235
Joined: Wed Feb 05, 2003 5:49 am
Contact:

Post by Kerion »

REiNDEeR wrote:The main reason why I don't like to use .NET or Java for games(especially online games) is because its possible to decompile it back to its original source.
Of course there are tools such as obfuscators that try to make it harder but after all they just slow down the process.

For me .NET & Java are great tools to develop business apps & websites, in fact I use Java for everything except games and sometimes platform specific tools.
To many of us this is not an issue. We are releasing our games as source anyway. That said, there are ways to work around this. You can NGen the images at install time, effectivley turning them in to JIT'ed machine code for the machine they are installed on. This is a very common practice in the .NET world. In addition, you can DotFusicate the image, scrambling up the resulting IL so that if you do decompile it, it's almost impossible to decipher.

That said, there are quite a few good decompilers out there that will take machine code and turn them in to somewhat readable C/ASM, so anything can be decompiled. The bytecode/IL JIT based languages just give you a leg up if you don't work around the issue.
REiNDEeR
Greenskin
Posts: 149
Joined: Sat Apr 14, 2007 1:27 pm

Post by REiNDEeR »

Kerion wrote:
REiNDEeR wrote:The main reason why I don't like to use .NET or Java for games(especially online games) is because its possible to decompile it back to its original source.
Of course there are tools such as obfuscators that try to make it harder but after all they just slow down the process.

For me .NET & Java are great tools to develop business apps & websites, in fact I use Java for everything except games and sometimes platform specific tools.
To many of us this is not an issue. We are releasing our games as source anyway. That said, there are ways to work around this. You can NGen the images at install time, effectivley turning them in to JIT'ed machine code for the machine they are installed on. This is a very common practice in the .NET world. In addition, you can DotFusicate the image, scrambling up the resulting IL so that if you do decompile it, it's almost impossible to decipher.

That said, there are quite a few good decompilers out there that will take machine code and turn them in to somewhat readable C/ASM, so anything can be decompiled. The bytecode/IL JIT based languages just give you a leg up if you don't work around the issue.
Interesting, didnt knew something like NGen existed, that will certainly help.
Still im not convinced tho :p
Does anybody know any major titles written in .NET?
amroc
Bronze Sponsor
Bronze Sponsor
Posts: 15
Joined: Tue May 08, 2007 8:05 pm

Post by amroc »

Hey Kerion,

Yeah I agree about using windows forms. That was one of my main incentives to look into MOgre. I've done a few small C# gui tools at work now and I couldn't bear to go back to MFC again. I want my game to have an editor, although it should be quite simple, so I may just end up doing it in engine with CEGui.

Anyhow I think I'll stick with C#, as it's always good to be learning something new. Will be following your progress taking over from Bekas on the mogre forums.

Good luck and thanks all :)
User avatar
jacmoe
OGRE Retired Moderator
OGRE Retired Moderator
Posts: 20570
Joined: Thu Jan 22, 2004 10:13 am
Location: Denmark
x 179
Contact:

Post by jacmoe »

Bekas will most probably be back. :)
/* Less noise. More signal. */
Ogitor Scenebuilder - powered by Ogre, presented by Qt, fueled by Passion.
OgreAddons - the Ogre code suppository.
Kerion
Goblin
Posts: 235
Joined: Wed Feb 05, 2003 5:49 am
Contact:

Post by Kerion »

jacmoe wrote:Bekas will most probably be back. :)
Indeed. He should be back in three weeks for his first break from training, and then soon after that I believe. I am not the new MOGRE maintainer, I am just keeping the torch lit and the house warm until Bekas gets back.
User avatar
smernesto
Halfling
Posts: 78
Joined: Wed Jan 03, 2007 12:49 am
Location: Bogota, Colombia

Post by smernesto »

Well, when bekas returns, we need to ask him many questions about how to mantain Mogre.

I am using an application that use Windows Forms and I am using Mogre, and is a very good wrapper.

The only downside I see is that many libraries are in C++ then we need a wrapper to those libraries also. But projects how tha Tao library have many wrappers to some libraries.
User avatar
GlobalExplorer
Halfling
Posts: 82
Joined: Sat Oct 14, 2006 12:39 pm
Location: Berlin
x 1

Post by GlobalExplorer »

Kerion wrote:
madmark wrote:As much as I like MOgre (I use it everyday), I have to say stick with C++.

MOgre lost it's driving force to forced military service.
Don't let this push you away. There are many of us who rely on MOGRE and are taking it upon ourselves to make sure it stays up to date. I am in the process of learning Bekas' build process right now so that I can keep MOGRE up to date.

That said, the choice really depends on a lot of things. How comfortable you are with the two different development platforms, if you need libraries that there are no good wrappers/ports for and what kind of app you are writing. For tools/GUI work, I don't think there is an environment that offers what .NET/MOGRE can, in terms of writing really slick Windows apps. WinForms is simply a great toolkit to work with from that stand point. Of course, you lose platform independence, but sometimes in the tools arena that's not a huge issue. Even then it can be worked around with some wizardry and mono if it's an absolute requirement that your tool be cross platform.

From an engine point of view, it again depends on what you are trying to do. I am not sure I would attempt to write a commercial title using C# + MOGRE because there are too many unknowns and risks. That said, I am writing my personal engine using MOGRE because it's an educational project for me. Just something to learn more about OGRE and game development in general. I already know C++ extremely well, I don't need to force myself to program in it just to learn it.

For tools, MOGRE is my #1 choice, hands down. I prefer writing GUI apps in .NET's WinForms, so it's a natural choice for me. From an engine stand point, it really depends again, on what I am doing and who I am doing it for. For my personal pet project, C#/.NET/MOGRE is fine. I am never going to sell it and if it falls flat on it's face, oh well, I will have learned some things.
As I have lots of experience in C# I wanted the same thing. Doing forms is a breeze and its really clean, and the IDE is the best I have ever seen (compiling times almost instantly)

But I want to build up something that I can use and possibly sell in the future, and the wrapper doesnt give me the confidence I need.

So I have struggled with CPP and finally I am not finding it that hard anymore. Projects build with the OgreSDKWizards do compile very fast as well, so there is not really a big difference to working with C# anymore. And the C++ programs I produce I am finding more professional, whilst I would feel a bit ashamed if I showed them to someone and have to say "but I use a C# wrapper".

I would find developing in C# more hazzle free, but I would also feel I am doing things I already know and investing a lot into something that is not solid enough. I am not saying it is not solid, but it feels a bit like another dead end, which I am trying to avoid.

Of course Mogre is great, and its certainly worthwile, so keep it going!
User avatar
smernesto
Halfling
Posts: 78
Joined: Wed Jan 03, 2007 12:49 am
Location: Bogota, Colombia

Post by smernesto »

Well, I hope to finish my project about October, is my degree project for my University, I will post some info in some months and I will tell you about my experiences with Mogre.
Post Reply