• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Nikolai Shevchenko

From C# to C++

8 posts in this topic

Hi everybody,
I'm a Unity3D programmer. I made more than one game in c# and I have much experience with that.
But now I would like to study C++ and I have a basic knowledgement of it. Can some c++ programmer or anybody tell me, which Engine should I use, or what's the solution for my request ?

Thank you,
Nikolai.
0

Share this post


Link to post
Share on other sites
C++ and engines go together like acids and bases. Most engines are all about productivity, and C++ certainly doesn't fit that bill. C++ is more then language you would use to write the engine in the first place, but as an implementation layer, people generally will use something much higher level than C++.


That said, options exist.

CryEngine is C++ based and a peer to Unity.
Ogre 3D is C++ based, although not technically an engine, it's a 3D renderer/scenegraph. That said, if it was me personally working in C++ + 3D at this moment, this is what I'd choose.
IrrLicht is another option
Crystal Space has been kicking around for years too, but I don't really know if anything polished ever came out of it.


Then on the 2D side, you have:
SFML
SDL
Marmalade ( not really an engine, more a C++ middleware layer slight above OpenGL )
Allegro
Cave


Of course I am missing about half a hundred, to say nothing about obsolete engines like The Nebula Device ( which was really cool... ). If you are working on 2D, I have a [url="http://www.gamefromscratch.com/page/Game-From-Scratch-CPP-Edition.aspx"]SFML Tutorial/C++ language primer[/url] , that as an established C# programmer, should get you mostly up to speed on the language features. You will find a lot of them very frustrating coming from C++, be ready for a lot of "I have to do what????" and "theres no library for what???" moments in your near future.

That said, it's always kinda fun learning new languages.
0

Share this post


Link to post
Share on other sites
Spend a few months with just C++ first. Try to really understand the language and its standard library. You'll be much less effective if you try to learn some game library/API/engine while trying to also learn C++'s quirks. And it has [i]a lot [/i]of quirks and gotchas.

After that, which engine to use depends a lot on what kind of game you want to make. 2D? 3D? Mobile development, or PC?

[edit]

At first I panicked when I hit the post button and watched my post expand into something much larger than what I had written, I panicked, only to relax and realize I'd been ninja'd.
0

Share this post


Link to post
Share on other sites
I was about to say that shouldn't unity work with c++, but apparently not. That's a shame. Looking at the listing at [url="http://en.wikipedia.org/wiki/List_of_game_engines"]http://en.wikipedia.org/wiki/List_of_game_engines[/url] is a bunch of what I haven't ever heard of. The more popular engines might necessarily not be the best choice, even thought they might have better tools and community support. And all new engines are aswell a risky bet.

I havent really followed new standard open-source/free engines lately, so please someone correct me. But these two I remember might be worth looking at:
[url="http://en.wikipedia.org/wiki/OGRE"]http://en.wikipedia.org/wiki/OGRE[/url]
[url="http://en.wikipedia.org/wiki/Irrlicht_Engine"]http://en.wikipedia.org/wiki/Irrlicht_Engine[/url]

If these engines are already legacy and there isn't better alternatives, then I'm curious aswell why the hell hasn't anyone made new engine to keep up with the times?
0

Share this post


Link to post
Share on other sites
I don't know hot to edit. The worry about older popular engines, and newer engines, is if they are made with modern style of c++.

Please someone else chime in...
0

Share this post


Link to post
Share on other sites
hi. i'm a new member but this is as good as place as any to make my first post. as far as i know most people are going from c++ to c#, when i took my programming courses all we had was c++, i'm a bit confused why your going to c++ do you consider it uber-powerful? just tonight i googled "different between c++ and c#" so that i could start to work on getting back into this dev game. i got a lot of stuff out of that, but why are you going the other way?
0

Share this post


Link to post
Share on other sites
Switching to C++ from a syntax point of view will be tricky, but not the hardest thing out there. I suggest you first try to understand what a native language like c++ means. The biggest difference IMO is the manual memory management you have to do in c++, and that one will be quite daunting at first, because it is the root of most issues when developing native apps. Second, the standard library is nowhere near the one in .NET. It has way fewer functionality and it is not a platform itself. However, this is complemented by the tons of c++ libraries out there you can use in your projects.

I would first stay a bit away from game development and focus on learning the language well, and only then dive into graphics programming and games.
0

Share this post


Link to post
Share on other sites
[quote name='dragonalumni' timestamp='1331399773' post='4920927']
hi. i'm a new member but this is as good as place as any to make my first post. as far as i know most people are going from c++ to c#, when i took my programming courses all we had was c++, i'm a bit confused why your going to c++ do you consider it uber-powerful? just tonight i googled "different between c++ and c#" so that i could start to work on getting back into this dev game. i got a lot of stuff out of that, but why are you going the other way?
[/quote]


There are many reasons one might go from C# to C++. The most common would probably be performance, but you also have things like C++ being cross-platform, able to directly access memory, maybe you hate C#'s garbage collection, or maybe you just want to expand your programmer knowledge.
That being said, these reasons don't necessarily mean you actuallu [i]should[/i] go from C# to C++. It really depends on what you want to do. C++ and C# both have their pros and cons.
0

Share this post


Link to post
Share on other sites
[quote name='Nikolai Shevchenko' timestamp='1331316101' post='4920725']
Hi everybody,
I'm a Unity3D programmer. I made more than one game in c# and I have much experience with that.
But now I would like to study C++ and I have a basic knowledgement of it. Can some c++ programmer or anybody tell me, which Engine should I use, or what's the solution for my request ?

Thank you,
Nikolai.
[/quote]

If you want to learn C++ then you shouldn't worry about which engine to use (You shouldn't make a big game using it to start with anyway), start with the basics then you can use a framework such as SDL or SFML and possibly add OpenGL if you want to learn 3D programming (Alternativly you can use Win32 and DirectX if you're on Windows).

Once you know C++ fairly well you should ask yourself if you want to learn low level engine programming or not.
If yes then you should just build a game using the low level APIs of your choice (OpenGL or DirectX usually) (Don't worry about making or using an engine, just make the game to start with and let the "so called engine" develop naturally)
If no then you should pick an engine that gets the job done and use whichever language it provides for you (Most likely this will not be C++ as the industry is moving towards higher level languages for high level programming) (Even CryEngine which has a C++ interface favors high level scripting using lua for large parts of the game logic)
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0