Join us on Discord!
You can help CodeWalrus stay online by donating here.

What is the Best Programminglanguage to learn for Game Dev? :-|

Started by alexgt, November 03, 2015, 01:24:10 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

alexgt

I was just wondering because I am learning PHP and trying many languages but I have no real experience as far as computer programming. Thanks :)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

bb010g

If you want to try out 3D, just go download a copy of Unreal Engine 4 and go through their tutorials. (You'll probably be using a mix of Blueprints (which are amazing) and C++ (less amazing, due to UE introspection boilerplate, but still nice).) As a bonus over Unity 5, you can play around with any of the source code for UE4. Any of it. Also, 2D support is continuously improving.

If you want 2D, you've got a couple solid choices. Elm is pretty awesome, and runs on JS. If you want a bit more nostalgic experience, go with Voxatron or PICO-8 (which you get with Voxatron). LÖVE for Lua isn't too fancy, but it works.

If you want to dig a bit deeper, Piston for Rust is cool. If you want to dig even deeper, go straight to OpenGL. There's a solid set of bindings for Julia. (Julia is actually a really nice language. It's well designed and, due to being foremost for scientific work, is blazing fast.)

The main thing is to just to pick something and get started! Don't try a big project at first. Start small, get comfortable, remake some stuff, work your way up. Also, go subscribe to /r/gamedev if you already haven't from that last link.
  • Calculators owned: HP 50g, Prime, 28S, 35S, Casio Prizm, dead Nspire CX CAS

Dream of Omnimaga

If you ever go with C language, then you could probably port PC games to calculators or vice-versa, since the TI-Nspire CX and TI-84 Plus CE both supports that language.

And as always, if you need help or want to showcase your work, don't forget about CW :)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

Snektron

#3
I myself started with Java in OpenGL, but you can do OpenGL in a lot of other languages too. It gives ypu a really good idea how engines work behind the scenes, but it might take a while before you can make bigger projects. Also once you get into shaders you'll learn what power a GPU really holds O.O. Since shaders are programmed in GLSL which looks a lot like specialized C (and maybe Java), i recommend one of those languages (but considering C has no objects you might want to look at c++ too), but again, there are a lot op OpenGL bindings.

As for UE4, i like the engine and it looks good, but its like 4 gigabytes and takes like a year to compile. Also thr blueprints feel a bit like "look ma i can code" and "i've programmed my owm mod in modmaker" type programming which i don't really like, but thats personnal
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Dream of Omnimaga

Regarding Unreal Engine 4 and the like, if you get into computer programming, I hope that you try to make your games so that they don't require insane computer specs.

Regarding pre-made game engines I don't mind playing games made with RPG Maker, Game Maker and Multimedia Fusion because some of them are really great and not everyone has the gifted skill of learning how to code complex stuff or deciphering code, but if you use those tools then make sure that they are compatible with most computers and that your games are original (eg not using stock demos with different graphics slapped on them)
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

I love C for this kind of stuff but it can be a bit of a hassle for some things. You might wanna check C++ out (although I don't recommend it, it's overly complex for a beginner), and D seems pretty cool as well.

Dream of Omnimaga

To be honest, I am unsure if I would recommend C++, due to portability issues, but I guess it depends of preferences. The problem is if someone likes programming old-school platforms (eg Microcat or TI-84+CE), then it most likely won't support C++. It's fine if you program for other platforms, though.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

C++ is about as portable as C actually. It has some good concepts but overall it's unnecessary headache if you're not working on a very large scale project and if you're working alone then other languages are better suited. That's why I recommend D, it should run on about any platform with a C runtime (not sure if it will work on the Nspire though, Ndless lacks some features for that). It's fully compatible with C libraries, partially compatible with C++ and there are a lot of bindings available to use libraries in a way that is more native to the language.

As for libraries, I like SFML, it has a pretty complete 2D library and allows you to use OpenGL is you wanna do 3D, and it does audio, input, networking and a few other cross platform things as well which makes it pretty versatile.

Dream of Omnimaga

Would D work on the TI-84 Plus CE? And is it quite different from C and C++?


Also is Lua a viable alternative for computer development? I never bothered learning that particular language because I sweared I would never do TI-Nspire development (due to TI's actions against Ndless) and wasn't interested in LuaZM for the PRIZM, but I was curious about computer development.


Now that begs the question: @alexgt did you want to know what is the best language on calc or was it for computers? Because your first post mentions computers, but the topic was posted in the calculator section.
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

novenary

Quote from: DJ Omnimaga on November 03, 2015, 09:35:07 AM
Would D work on the TI-84 Plus CE? And is it quite different from C and C++?
It won't, there's no compiler available for the ez80. It's similar to C by design while taking the good concepts from C++ and implementing them in a nicer manner, and kicking the bullc out.

add

Some programmers swear by language 'X' or 'Z', but really, the best thing to do is to get used to programming, then maybe consider what options the different programming languages give you.
If I were to program for PC I'd probably start out with something like Python and C.
Python for prototyping out stuff fast, then writing the real code in C. Unless I'm satisfied with the result given by Python.
Sure, some say not having OOP is a handicap, but it's mostly about how you think around the problem.
For the calculators goes the same thing, start in a high level language, progress to a lower level language.

I guess that's just my two coins..
  • Calculators owned: TI84+

Snektron

That seems like a smart plan. Again, considering how many OpenGL bindings there are, almost every relatively popular programming language has one.
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


alexgt

Thanks for all the advice guys ;). I am learning PHP for some real world work eventually. Right now I think I will look into C & C++ and work from there. After I learn a few I will start dabbling in some other ones and find my favorite :). Thanks again ^.^

Quote from: DJ Omnimaga on November 03, 2015, 09:35:07 AM
Now that begs the question: @alexgt did you want to know what is the best language on calc or was it for computers? Because your first post mentions computers, but the topic was posted in the calculator section.
Oh, you can move it to a more appropriate board (I must have note seen calculators in the board name xD (somehow...))
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Dream of Omnimaga

Some people just can't get used to lower level languages unless they don't use hi-level languages for too long, but if you can do it then it's a good idea to do so.

@alexgt by the way do you still plan to do calculator programming?
  • Calculators owned: TI-82 Advanced Edition Python TI-84+ TI-84+CSE TI-84+CE TI-84+CEP TI-86 TI-89T cfx-9940GT fx-7400G+ fx 1.0+ fx-9750G+ fx-9860G fx-CG10 HP 49g+ HP 39g+ HP 39gs (bricked) HP 39gII HP Prime G1 HP Prime G2 Sharp EL-9600C
  • Consoles, mobile devices and vintage computers owned: Huawei P30 Lite, Moto G 5G, Nintendo 64 (broken), Playstation, Wii U

alexgt

Yes, I do plan on calc programming (for the 84+ I am working on a little game in Axe) and (if/when) I find my prime (or beat the person up who stole it :P) I will start on my Prime projects :)
  • Calculators owned: Ti-84+, Ti-Nspire, Hp Prime, Broken HP Prime, HP 48SX

Powered by EzPortal