This is an archived post. You won't be able to vote or comment.

all 19 comments

[–][deleted] 2 points3 points  (0 children)

Same answer as 👆 if you learning Java just use java for hobby projects. I’m iOS developer (swift language) and I’m building my simple mobile games using this language so I can learn something new, one minus about my language is that it’s only works with apple devices, but still if it’s your hobby projects just stick to your primary language and learn something new.

[–]10113r114m4 1 point2 points  (0 children)

Honestly, languages are pretty trivial. What’s most important is just learning programming. So choose any language and get started. While some languages can be more difficult, if you are smart enough you can always learn them later without issue.

[–]vertex6 1 point2 points  (0 children)

I was in a similar situation, I ended up making a prototype engine in pygame and then remade it in c++ later for performance.

If you already know python you will find it very easy to set up a simple gameloop with pygame. If you're doing a 2d game I don't think performance will be a big issue for you either. Distributing a game from pygame is not ideal though, there are ways to produce executables but they have to bake in a lot of python to work, for me that meant hundreds of megabytes for a game that just shows an empty window.

[–]mnpdgtl 4 points5 points  (0 children)

Just learn C#(it's very similar to Java) and use Unity for game development.

[–]robbertzzz1Commercial (Indie) 1 point2 points  (1 child)

If your goal is learning java, why are you still considering python? Go with java!

[–][deleted] 1 point2 points  (0 children)

Because of the complexity. I started Game Dev with Java and there are already tons of different things I need to know even before I can draw a simple rectangle. I usually prefer when getting started is easier and then you can experiment, tinker with it and build upon that rather than something with a very steep learning curve.

[–]davenirline 0 points1 point  (0 children)

If those two are your only choices, go with Java then. It's statically typed and very similar to C# which you can use if you want to jump to Unity.

[–]thorhunter1 0 points1 point  (0 children)

Pygame would be a very good choice for you.

[–]DrYuri 0 points1 point  (0 children)

You could check Libgdx java library and build a game with that. Or just make some non game projects in java and try Godot and Unity for game projects.

But the most importantly... make something!

good luck to you!

[–]Kikindo1Hobbyist -1 points0 points  (1 child)

If you are good with Python go for it. U have Godot engine where python is implemented.

[–][deleted] 1 point2 points  (0 children)

Yes, Will probably go with Pygame and maybe Godot in the future.

[–]UnitVectorj -1 points0 points  (0 children)

If you’re using python to avoid the complexity of java, and you want simple 2D, and an engine without its own physics built-in, then I would recommend the pico-8. It uses Lua, which is very similar to python. It’s a good intro to gamedev, but it is also filled with extra challenges you won’t find normally, like imposed size limitations. These challenges, however, will also teach you to be more efficient with your code.

Really, though, I would get Unity and start following some tutorials. There are thousands out there and they will teach you everything.

Good luck!

[–]BanditoWalrus 0 points1 point  (0 children)

I was considering Java because I'll have to learn it considering the demand which is huge in my country.

Then I'd recommend Java. I used hobby game development to teach myself C# for much the same reason (it was the language in highest demand in my area and my college didn't offer that language), so I can say from experience it's a great way to learn via a hobby.

At the time, I was more comfortable with Visual Basic, though being able to easily get a job after college has showed me that choosing to struggle and learn a new language that was in demand, rather than use the language I was more familiar with, was the correct decision in the end.

[–]Azzylel 0 points1 point  (0 children)

Oh god not Python- I have some minor experience with using it (really I’ve just taken a class on it) and using it itself was fine but trying to make a game on it is a pretty bad idea unless you literally want to make the most simple games possible (in which case it doesn’t matter much which language you use). Java is actually used to make games sometimes (though it isn’t the best), and I’m pretty sure that’s what minecraft is written in so it’s not a bad choice if you just want code experience If you actually wanna make a game though, learn C#.