Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
Whats the main difference between using the MonoGame with C# and SDL with C++?
Which of them is easier to use? Which is recommended for multi-platform support?
Its important for us to have structure and all-pervading OOP. It should be performant but not at the cost of productivity (e.g. not reinventing the wheel or managing memory). We are a small team so we need a structured, simple and clear framework, which allows us to concentrate on the actual work.
C++ with SDL is native and can run on almost any platform (cross-platform), more specifically those with limited system specifications.
C# with MonoGame is great for proto-typing a concept, but you could run into unavoidable bottle necks for large games. Additionally, SDL is just a graphics layer, where MonoGame is a complete API for interactive media. MonoGame could be cross-platform too, but I am unsure of its complete audience.
Is MonoGame really cross-platform?
You will do a little work from scratch when using C++ with SDL, but there are many libraries out there for C++ game development that will make it a breeze. If productivity is an issue, then you could have problems using C++, unless you use an existing framework for your game, which typically handles memory management. But that is the risk you take with C++; write more efficient code in a longer time frame.
Irrlicht is a great library for rendering. Simple and clean.
http://irrlicht.sourceforge.net/
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
Unreal Engine is mainly written in c++. But there are some things that are written in c#.
1> So what functionalities are written in c#?
2> And also are there any benefits of using c# instead of c++ in those cases?
And since unreal engine developers often have panel discussions and forums or documentations detailing their decisions. It would be great if someone can provide a link to them discussing or detailing why they used c# over c++ for implementing those features.
unrealEngine screenshot with .cs search results
https://github.com/EpicGames/UnrealEngine
Unreal Engine uses .NET utilities for various functionality that supports the main engine but is not used at runtime, and is therefore less performance critical, such as: Unreal Build Tool, Swarm Agent and Swarm Coordinator, Automation Tool and Network Profiler.
The reason to use c# and .NET over c++ for such utilities is most likely faster speed of development.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I am engaged in a project that works mainly in AutoCAD to design and manufacture prefabricated building components such as roofing trusses. One of our goals is to redesign a program that was written in LISP that functions in designing roofing trusses. We are to rewrite the LISP code in C# and incrementally implement it into the current libraries that they have set up.
My problem is that I have been tasked with building a rudimentary LISP to C# converter. After some research (as Google results quickly show that such a thing does not readily exist on hand), I have come to the question of which way of converting this legacy code would be more efficient. Would it be better to take chunks of the LISP code to analyze and rewrite in C#, or should I continue on with developing a rudimentary converter for the AutoLISP code?
You should take chunks of the LISP code and rewrite in C#.
Even if it was less effort to write a general purpose LISP interpreter in C# than to rewrite the LISP in c# (which is highly improbable), the LISP is probably running AutoCAD commands like you would type in the AutoCAD command line instead doing things the ObjectARX way. So you would also need to convert the commands to use the ObjectARX API.
C# is a compiled object-oriented programming language whereas AutoLISP is an interpreted expression-oriented language. Therefore there is never going to be a really straightforward way of converting one to the other without a monumental effort.
Its worth noting that AutoLISP has flexibility to be modified quickly without needing to be recompiled. The benefit to using native in-process C# is that it's extremely fast versus a similar LISP approach. I've found there's a nice middle ground for maintaining the flexibility of LISP with the speed and power of C# which leverages the LispFunction command flag and ResultBuffer type in the .NET native API.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I want to explore 3D game development in XNA, but I'm curious if this is best for me. I haven't learned C#, but I want to explore my options before diving in. I have a lot of experience in the C programming language, along with some basics or minor experience in other languages. Which means that the object oriented framework that C# has may be a huge change from what I'm used to. I need to learn it anyways for future jobs and college, so this might would be a good incentive. I have programmed two games using the SDL 2.0 mixer and SDL 2.0 frameworks, which have given me a good basis of the knowledge of how 2D games are structured. I have learned about sprites, frame rate, event polling/handling, frame rendering, among other things. I am still highly lacking in mathematics related to game development and the physics behind it. That leads to my next point of concern if I do decide to learn XNA, is if it would help me more easily learn those things faster? Writing for my games in C, I was always having to write interfaces on top of interfaces, but at least I had to understand what I was writing. With C#, I'm concerned it would abstract most of the mathematics I really want to glean from it. You may ask that if I'm so concerned, why don't I just learn linear algebra and OpenGL/DirectX/whatever in C? Well, I'm hoping to avoid that, since even though I was able to make a decent game, I'm still very much lacking in how to do more advanced game development and code structuring. This was very obvious to me after working on one of my game projects for about half a year.
MS has ceased supporting XNA going forward. If you want to stick with XNA, have a look at MonoGame, which is an open-source version of XNA.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I am individual game developer and make games for fun. I was using xna lately to create small game.
Just want to know which gaming platform is good for individual developer. As XNA is no more supported by microsoft. MonoXNA does not provide such power of 3d. Unity license is very expensive.
Once we spent too much time on a game, we would love to port it over different platform? That too I would like to keep in mind while selecting any framework?
Should C# developer learn DirectX library for gaming?
Where is the industry moving in terms of game programming?
Thanks
I'd still recommend MonoGame. It's open source, crossplatform. 3D support may improve over time. If you really want to do serious 3D stuff, I'd use an engine for that, like Unreal or Source. Otherwise It's gonna be too much work for a single programmer.
Here are some useful links. I can't really point to a specific engine, because that highly depends on the type of game you want to create. But I will list some great and popular (and maybe too powerful for a single programmer) anyway, mostly used for FPS games.
http://en.wikipedia.org/wiki/List_of_game_engines
http://source.valvesoftware.com/
http://www.unrealengine.com/en/udk/
http://mycryengine.com/
But again it really depends on what you want.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I am looking to make a data visualization tool that will visualize biological data. I am used to being a C# and .net coder. However, as I understand it, you can run into trouble if you are running a C# app in ubuntu. Any suggestions for a language to use with these specifications in mind? I was thinking Java but am happy to take suggestions.
C# is a solid choice, especially if you already know the language. C# and the .NET framework have a solid cross-platform port with the Mono project and you can create Gnome UIs using the Gtk# bindings.
As an alternative, Java is used for a lot of bioinformatics applications. Though personally I have to say that most of those have horrible user interfaces and Java’s memory management seems ill-suited to deal with the data sizes that are common in bioinformatics – tools routinely run out of memory or become extremely slow. This isn’t necessarily an inherent problem of Java as much as sloppy programming, but Java certainly doesn’t help.
An alternative to Java would also be Python with a suitable GUI library (there are some good ones), especially since Python offers a much nicer, more polished syntax.
Yet another alternative that’s worthwhile especially if you’re really dealing with big data or if performance is important, would be C++ with Qt to build the GUI. Note that this will make development vastly more complicated if you’re not already proficient in C++.