The shoutbox is currently out of service. Join us on Discord instead.
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.

DJ Omnimaga

Ah ok. I was more wondering in the case you would never find your Prime again 9eg if it was stolen). The TI-84+CE supports C but you need the real calc to debug stuff

alexgt

Yeah, I may have to buy a new Prime <_<  because I really actually use it for school (at least the CAS feature really comes in handy). And it is by far my favorite calc ever!!!
Do any of you have any Ideas for what to do to find it, I am at loose ends  :'(

bb010g

Quote from: DJ Omnimaga on November 03, 2015, 08:40:00 am
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.

With regards to UE4 performance wise, it can be toned down pretty well. Engine/framework choice generally shouldn't be a problem for performance.
Quote from: Cumred_Snektron on November 03, 2015, 08:10:37 am
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.

I would warn away from starting out with OpenGL directly. Game frameworks exist for a reason. Also, Java is not the best language for development in general. It's verbose, and that does hurt putting your program in your head.
Quote from: Cumred_Snektron on November 03, 2015, 08:10:37 am
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

Why the heck are you compiling UE4? (Compilation times for the games made have always been fine for me at least.)
Honestly, I don't care what Blueprints feel like. I don't care whether they're visual, and I don't care whether they're used by noobs. Plenty of Java has been written by noobs. Noobishness shows itself in the quality of the algorithm, not in the choice of the language. The import thing is that Blueprints are easy to deal with. I can prototype with them easily, and do 75% of what I want to do. I'm not here to format my C++, I'm here to make a game. That's why UE4 allows you to mix Blueprints and C++ so easily. They're made for early work and trying things out. You don't want or need to jump to C++ immediately. They even provide utilities to move your Blueprint code over to C++ when ready.
I dislike PHP due to its design, but that doesn't mean legitimately good code can't be made in it and I can't appreciate that code. Working code is working code, and Blueprints are well designed, even though they're visual. Get over yourself.
Quote from: Streetwalrus on November 03, 2015, 09:19:59 am
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.

C's nice until you actually want to do objects and don't have RAII. I'd wait on doing pragmatic C++ until the Core Guidelines get sorted out. @Streetwalrus Do you know of any good D frameworks? I pointed out Piston for a similar reason; Rust is a very nice language that's similar to C++ in feel but tons safer and with (IMHO) nicer design. Nim is pretty similar in wanting to be a fast, nicer C/C++ (more C/Python-ish to me). There's nim-csfml there, and some other stuff. Just nimble search game.

Most of the languages and frameworks I brought up were brought up to give you a spectrum to choose from, both language and game wise. As @add said, the important thing is to just pick something and start coding. Keep in mind that you're writing a game though. Just write for yourself at first. Don't worry about speed unless you think it feels too slow. You probably won't need to ever write something in a different language for speed here, especially if you stick to the language & library set I gave you. Read through that getting started link. Go make something. If you want, post it here. If you don't, don't. It's your code, your hobby. Do what you want, as long as you do something.

Strontium

Quote from: bb010g on November 03, 2015, 01:58:28 am
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.


Right, I haven't read the whole thread yet, so I don't know if someone responded to your thing. But, anyways:

I do not think Elm will be good at all for anything @alexgt wants to do. First of all, he said he isn't very experienced in computer programming. He probably has NO experience in functional programming (unless he has somehow done functional programming on a calculator? A programmable calculator using a language like Clojure or Haskell would be awesome.), and trying to use functional programming for the first time for a task like making a game probably is not a good idea.

bb010g

Elm is actually pretty nice FRP. Check out their examples; they even have live code adjustment! The benefit here is that he hasn't really programmed a full on language before. Functional programming is less brain-melting if you haven't hardened it with years of procedural or OO first. Plus, if he doesn't care for Elm after trying it out, I gave plenty of alternatives. :)

Streetwalrus

November 04, 2015, 09:24:10 am #20 Last Edit: November 04, 2015, 09:26:09 am by Streetwalrus
Quote from: bb010g on November 04, 2015, 04:03:23 am
C's nice until you actually want to do objects and don't have RAII. I'd wait on doing pragmatic C++ until the Core Guidelines get sorted out. @Streetwalrus Do you know of any good D frameworks? I pointed out Piston for a similar reason; Rust is a very nice language that's similar to C++ in feel but tons safer and with (IMHO) nicer design. Nim is pretty similar in wanting to be a fast, nicer C/C++ (more C/Python-ish to me). There's nim-csfml there, and some other stuff. Just nimble search game.

Indeed nim seems really nice as well. For D, there are two bindings for CSFML which offer a more D-ish approach (I think it wraps the different objects into classes among other things).
The lack of classes and RAII is indeed something that is missing from C, but again, it depends on how well you can design your code. Manual dynamic allocation can be made efficient, it does require a little more experience though, that's why I was pointing out C++ and D which do have these features.
I might add that C will feel slightly familiar if you have use Axe before.

alexgt

^ I have used Axe before and am actually on the brink of posting a little game I am making, also completing JarvAXE 5.0 would be nice (but I forgot all of how it works and what I was working on and lotts of other stuff so I have to relearn Axe because I took a long break and then reprogram it <_<). I think I will poke around a bit and see what fits ;)

DJ Omnimaga

If anyone is gonna pick java, just don't use it for web-based applications. It would be better if used for standalone programs. Because nowadays this is how about 99% of the web-based java applications look like in browsers:


http://i.stack.imgur.com/X7PAR.png

IMHO tho people should pick the language they are comfortable with rather than trying to please a few fanboys of other languages. Just as long as their programs don't have compatibility problems. If somebody just can't stand any language other than Lua, for example, then I would rather see a quality Lua game from him with perhaps slightly slower performance, than a buggy C game where several features had to be scrapped because he spent 90% of his time debugging it and forced himself to program it in a language he doesn't like.

Streetwalrus

Quote from: DJ Omnimaga on November 05, 2015, 10:02:21 am
IMHO tho people should pick the language they are comfortable with rather than trying to please a few fanboys of other languages. Just as long as their programs don't have compatibility problems. If somebody just can't stand any language other than Lua, for example, then I would rather see a quality Lua game from him with perhaps slightly slower performance, than a buggy C game where several features had to be scrapped because he spent 90% of his time debugging it and forced himself to program it in a language he doesn't like.

This is true, depending on the kind of game you are working on performance may not matter, for example most 2D games are pretty low on the CPU for modern machines, especially since they are most of the time designed as retro games. It also requires a lot less matrix/dot/vector calculations since you don't have to worry about moving models. Most of the workload is going to be on the GPU if you use a modern framework, so all the drawing will be very fast and the graphics can be quite complex (again, no models).

Powered by EzPortal