Advertisement

Choice of programming language for the development of sound games. Should I use C++ or not?

Started by March 19, 2018 02:23 PM
1 comment, last by Adam_42 6 years, 5 months ago

Hello.
At the age of 6, I lost sight due to Ukrainian doctors. I am blind.
I'm interested in programming as a hobby and a way to earn extra money.
I know the basics of C++, C#, Java, Python, PHP.
For work, I use Python + Django.
But for hobbies, not for work, I'm interested in applied programming. Most of all the development of games.
I can not see, for this reason, I'm not interested in developing video games. I'm interested in the development of sound games.
We have many such games. Different genres. Card games, racing, strategy, shooter!
Using 3D sound, I play games such as Call of Duty, Mafia 2, GTA.
I would like to develop a game in the likeness of these games.
I decided to choose the programming language that will help me with the implementation of not only this task, but also many other tasks. The solution of this problem will be the experience in the chosen language.
My problem is in my vision. Such engines as Unreal engine, Unity and CryEngine are not available to me. It has a graphical interface, and screen access programs are not voiced. I could use these engines if it were in the form of libraries.
I decided that 4 programming languages can help me. C++, C#, Java, and Python.
What I need:
I want to use ready-made solutions. I do not want to develop my libraries and engines from scratch. I'm not very good at math, and I can not independently develop 3D and stuff. For this reason I want to use ready-made libraries, API and engines.
I need to open the game window, the ability to specify the title, size.
I need 3D sound support.
I need keyboard support.
I need network support.
The main operating system for me is Windows, but it is desirable that I can port the application to Linux and other systems. But this is optional.
Here is my opinion about the selected languages:
C++ is the ideal solution, but for those who are interested in low-level programming. On the one hand, I'm interested in how everything works, but on the other hand, I do not understand pointers, I do not like low-level programming and system programming. The author of Straustrup, in his book Programming: Principles and Practices Using C++, wrote that C++ is not for those who want to use ready-made solutions. I was told by many that all popular games are developed in C++. But in C++ developed game engines of these games. I do not want to develop my game engine, I want to use ready-made solutions. Because I'm not sure that C ++ suits me well. But C ++ has such wonderful things as sdl, sfml, bass, fmod, etc.
C# is a good solution for Windows. Good syntax, but C# is bound to NET. C# has ported libraries, such as SFML, but I'm not sure that it works in the same way in NET and in unmanaged code. C# has Unity, but as I said earlier, it's not available to me.
Java is a good language. Plus, it's a cross-platform language. I can develop under Windows, Linux, Android, etc. But I'm not sure if Java will cope with my task.
Python is a good language with simple syntax + OOP, but performance scares me. I do not know how 3rd version, but 2 version of Python has less speed than Java.
I understand that my choice, but I want to hear your opinion.
I would like to develop games like GTA, Call Of Duty, Mafia, but without graphics. I think for this reason I do not need high performance.
I understand that the best version of C++, but I'm not sure.
Thanks in advance!

As the main component of your game will be audio, I'd suggest looking at audio libraries first. Once you've chosen a library, you can select a programming language based on which ones your chosen audio library supports, and what language you're most comfortable using.

I'd expect that most audio libraries will be usable from C, C++, C# and Python on Windows - although some languages may be better supported than others. For example, FMOD comes with C, C++ and C# APIs, but not a Python API, although a quick search found a third party one - http://pysonic.sourceforge.net/.

The runtime performance of your chosen programming language probably won't make any significant difference. In addition, if performance does become a problem both Python and C# can call into C/C++ code.

This topic is closed to new replies.

Advertisement