i know this is a weird question. but i really have been wondering since some time, what would be better to code it for audio games?
bgt shows that it's currently out of date, even though philip stated that he might eventually post an update. and when i'm saying it's out of dat i mean as libraries. and also, the thing i want to start doing is add elias integration in audio games and in some cases use also 3d audio, preferably lav since that's the best one at the current moment.
so having all this information, what would you think i should start using as a programming language?
#1 (edited by vlad25 2018-12-28 19:08:33)
In my opinion, you can pick whatever language, as long as you are willing to research libraries which will help you achieve your objective.
I can ensure you that python some time ago was not that popular. Now all BGT developers (or almost all of them) are switching to python. I my self have been learning python before BGT because I had some language issues and since python tutorials were available in my language.
I've been lately interested on trying rust and golang.
hmm. i'm not sure how much elias would work with python since it's more c based. but i could try it i guess. anyways. still opened to other opinions.
#4 (edited by dash 2018-12-29 09:53:54)
If you know BGT, you can try C#, it have similar commands to BGT.
For me, BGT is a good choice for games, but not for online games. For this reason, I began to consider programming languages.
About Python. I don't like this programming language for some reasons. But I'm trying to use it.
There are 2 programming languages that I recommend the most.
First, C++. But if you are willing to spend time learning this language.
If I understood pointers and were not afraid of hard work and a lot of code, I'd prefer to use this programming language.
The second, C#. This is similar to BGT. Moreover, C# is a simple, and at the same time fast programming language.
At the moment I choose between C# and Python, and I lean more towards Python. Earlier, I was holding onto Python. Now I don't know. I don't like Python. On the other hand, Python is a popular and highly paid programming language. But I don't recommend this for games.
#6 (edited by vlad25 2018-12-29 12:42:05)
well, like i said, i'm not sure python has support for c style dll-s and if it does, not sure how well will work with elias engine.
if you want to know more about that one it's found
here . it's that engine that philip created some time ago and is still maintaining that.
someone told me that elias wasn't really meant for blnd people. but let's be honest, to be something meant for blind people means to be compatible with bgt? i honestly doubt that.
vlad25, It does not support. But why?
Python has pygame, pyglet. In C#, there is Irklang, OpenAL, etc.
Personally i'd use c# and c++, sense i learned c++ before 4 years ago i'm good in it, too hard to understand in the pointer but it's a nice option for me,
for python, i couldn't hold my self for using it a lot, i don't like it for many reasons.
What about you? What don't you like about Python?
it's easy to learne, and fast building, but i don't like that is slow, i tryed to build a simple game to test how it works, but it use's a lot of the ram, i found it slow some how, but still i like, the other thing that is in the bugs, evry line that i right i get a bug on it, unlike other programing languages , some how to understand at a point,
there are different versions of python, i don't know wich one to use
too slow, as i said i Personally like to use the fast programing languages
You're right. For games, I consider C# the best choice.
If with python doesn't support c dlls you mean that they can not be wrapped then I am happy to tell you that python does support c dlls.
You can wrap them, or you could even write your own python extension in c or c++ if you really wanted to.
For wrapping dlls you can use ctypes.
first, if python was slow, then it didn't use for deep learning, it didn't use for different game engines like blender, if it was slow, the nvda was slow either
i agree that it is not as fast as c++, but it is fast enough that i consider it for my projects that i don't need memory management by myself
regarding using c dlls, you are totally wrong. it can wrap c dlls, or if you have cython, with it's language which is simular to python, you can use C++ classes as well!.
visualstudio, I think the ideal solution is to use Python as a scripting language. Develop engine on C++ and develop the logic in Python.
do you think, because you heard it from people, or do you think, because you've tried it your self and you've seen that python is indeed slow how you claim? And trying it doesn't mean writing 5 lines of code and then executing the script.
Well I would recommend c++ or c#. Both are fast and good languages. Python is slower because it's an interpreted language, but it's better for some things than others.
What has been created in the laws of nature holds true in the laws of magic as well. Where there is light, there is darkness, and where there is life, there is also death.
Aerodyne: first of the wizard order
guitarman has a point here. but as we can see. tgtr has been rewritten in python and it doesn't seem to be slow at all. but well, i'm actually considering to try both of them now. C# and python so yeah. thank you all for feedback though.
#19 (edited by Ethin 2019-01-02 22:11:33)
@jonikster, do you know how painful it is to embed Python in a C++ application? Please stop giving us misinformation. Guys, don't ask questions like this, pick your favorite language and go with it, and ignore what anyone "recommends". Most of the time the recommendations are extremely biased (or the information within them is miscommunicated or outright wrong). Python is good if you enjoy finding code that's usually extremely (and I do mean extremely!) old and only works with python 2.7 or older; I've even seen some code that still dates back to Python 2.5. C++ and C# (and others) are good if you want to find code that is still compatible with the latest language specifications, and still works, even though the way it works may be outdated or deprecated. In my time using Python, most of the code I've found for use in games (especially graphics) requires older versions of Pygame or Pyglet, and doesn't actually work any more. When I do similar searches with C++ though, I find code that may not work, but the code I find is almost always adaptable, and I hardly have to change the language constructs unless my application works diffrently. As for memory management? Let's see...
Python: no memory management at all. Bad multithreading/parallel execution implementation (parallel threads run multiple python interpreters, uses unnecessary resource allocations).
C++: No memory management, unless your using C libraries. Memory management is done automatically in pure C++ (if your library is good); with C, memory management is slightly more difficult, though not as "hard" or "extraneous" as most people make it out to be. Excellent threading and memory allocation implementations. Very flexible and powerful. Very good for games, since you can write shader programs and access the GPU for intensive mathematical operations. Far more libraries than Python has (and well over 70 percent of them are very well done). Lets you pick and choose to make your project either as compact or as convoluted as you like.
C#: For anything related to game,s requires the full .NET framework. Extensive standard library, uses windows APIs (unless on .NET core).
so, are you basically saying that in pythonh 3 there are no ways of making audiogames anymore? that's just, messed up.
Dragonballs. "I wish for an indestructible, high-security data storage device, containing all of the games I have notes and ideas on, in formats such that I can effectively share them if I so choose, with as many output ports as necessary to accomplish this, and an interface which I can use for these purposes. Umm, and if it's really big and heavy, maybe it should come on wheels, or a hovercraft, or something. ... And have a solar power option."
I can't understand all this hatred towards bgt. Bgt is awesome and you should admit it. But if I had to choose one besides it, it would be C++.
Newbies use it, therefore hating on it shows that you're totally not a n00b. Also it's Windows only, the dictionaries are weird, dll support is dubious, there are some weird bugs, and while it isn't completely abandoned, it might as well have been for the past, hm, 5 years or so? And no graphics or unicode support, which actually do somewhat bug me (not as much as the hard-to-reproduce bugs, though).
tmstuff000, why not C# or Python?