Sign in to follow this  

Start from the scratch

This topic is 467 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello there,

 

my english skill may lack, cause i am from germany, but i think you'll be able to understand me quite well.

I work as a system administrator and till now, i had nothing to do with progrsamming.

Sure, sometimes i wrote tiny scripts for automatic backup, or some powershell stuff, but nothing big.

 

I set some goals for myself and ask you, how to reach them, to be more precise, what language will fit my needs?

 

1. For "learning purposes" a little game like pong and a small explorer, for learning and understanding the basics of programming and the language itself.

 

2. A 2D (3D) Game. I have something in my mind, for quite long i have to say. But for studying reasons, i never had the time to accomplish it myself. Now the time is finally there :)

 

 

I know, the goals are quite rambling, but i am not able to expound my thought on it.

But i struggled like the last few days, with "finding" the right language(s) for me.

I came to the solution, that for the beginning, as you wrote in your FAQ, Python would be the best.

I can make a Pong game, i can make an explorer and i can learn very easily and see results, what is the most important for me.

 

BUT, can i make a solid, fast and stable 2D or even a 3D Game with Python, when it will be a fast acting PvP Arena game? Something like the "Warlock Funmap in Warcraft 3" -> https://www.youtube.com/watch?v=v2uOGQegj2c

 

If not, would it be better to learn a language after Python, with Similiar Syntax, which can manage that (Does this even exist?), or something like C++ / Java?

 

A lot of questions and i hope i don't offent the damedev guidelines :)

 

Have a nice day, Nopp

Edited by Nopp

Share this post


Link to post
Share on other sites

There are many games developed in Python, and frameworks for 2D and 3D games, so I would say it's a safe choice. I should say, that many games written in Python use C or C++ for low level stuff like graphics rendering and such, but that doesn't mean you need to learn low level graphics in C++ if you're using Panda 3D, for instance.

 

But the truth is that learning a language is the easy part. The hard part is learning to code. That will be hard no matter which language you choose. The good part is that most knowledge transfers from one language to the other. And starting with a language that is easy to learn, like Python, will make it easier.

 

If you are serious about programming, chances are you'll learn many languages in the way, so stop overthinking it and start coding already!

Edited by Avalander

Share this post


Link to post
Share on other sites

There are many games developed in Python, and frameworks for 2D and 3D games, so I would say it's a safe choice. I should say, that many games written in Python use C or C++ for low level stuff like graphics rendering and such, but that doesn't mean you need to learn low level graphics in C++ if you're using Panda 3D, for instance.
 

Thanks for the links here. Didn't know Panda 3D!

 

The good part is that most knowledge transfers from one language to the other. And starting with a language that is easy to learn, like Python, will make it easier.

Good to hear that!

 

If you are serious about programming, chances are you'll learn many languages in the way, so stop overthinking it and start coding already!

I get the point, really. But i am a "little" planner... I like to concept in a large way. Like 3-5 Years. :D 

Share this post


Link to post
Share on other sites

I don't recommend sticking with Python for game development. The library support is poor, performance is often poor, and there isn't much of a community of Python game developers.

 

If you're not interested in C++ then Unity with C# is a good compromise.

Share this post


Link to post
Share on other sites
I don't recommend sticking with Python for game development. The library support is poor, performance is often poor, and there isn't much of a community of Python game developers.

Doesn't PyPy fix all this performance issues? I will stick to Python for my learning phase. But then, i am not sure. There are a lot of disagreements about using Python for Game Develpoment...

 

 

 

If you're not interested in C++ then Unity with C# is a good compromise.

I didn't say that i am not interested in C++. But isn't it easier to learn a language which can handle all this, which syntax is similar to Python? 

Edited by Nopp

Share this post


Link to post
Share on other sites

PyPy helps with some performance issues. But not every library will work with PyPy (in fact probably most performance-related ones will not), and PyPy is still not going to deliver the type of speed you need in all circumstances. Besides which, performance is only one of several problems with using Python for games.

 

Sadly I don't know any language that is similar to Python and which is suitable for a "fast acting PvP Arena" game. I like C# because it is usually faster than Python while still being easier to use than C++, and since you can use C# with the Unity engine, you're using a system that is known to deliver commercial-quality games across multiple platforms and which has a big community and lots of support.

Share this post


Link to post
Share on other sites

Sadly I don't know any language that is similar to Python and which is suitable for a "fast acting PvP Arena" game. I like C# because it is usually faster than Python while still being easier to use than C++, and since you can use C# with the Unity engine, you're using a system that is known to deliver commercial-quality games across multiple platforms and which has a big community and lots of support.
 

Ok, thank your for the great answer :) !

That was it, what i was looking for :)

Share this post


Link to post
Share on other sites

PyPy helps with some performance issues. But not every library will work with PyPy (in fact probably most performance-related ones will not), and PyPy is still not going to deliver the type of speed you need in all circumstances. Besides which, performance is only one of several problems with using Python for games.

 

Perhaps you could list other problems you see with using Python for games? I still think it's a good choice for beginners. And having engines like Panda3D that implement critical performance stuff in C++ for you I fail to see why would be such a bad choice for the game Nopp is talking about.

Share this post


Link to post
Share on other sites
I'll repeat from above: "The library support is poor, performance is often poor, and there isn't much of a community of Python game developers." Python itself is a good language. However it's not got a good ecosystem when it comes to game development functionality. Partly this is down to performance issues, partly down to the fact that the language core and library devs don't know or care about games or any sort of multimedia, which produces a chicken and egg problem.

As for Panda3D - it's a pretty old engine and is not widely used. I think the most important thing for a game developer is to have a community of people they can discuss things with, and if you choose a technology that is too uncommon you can easily find yourself stuck.

I'd also recommend people read this thread before choosing Panda3D: https://www.panda3d.org/forums/viewtopic.php?f=1&t=18980
"Panda3D is lacking many things a modern game engine such as Unreal and Unity have"
"Panda3D does not support mobile platforms"
"Panda3D still makes the user write shader code instead of creating materials in a visual shader editor"
"Panda3D does not have a scene editor."

Personally I don't think it's worth using a framework like Panda3D that will make you do a lot more work, just to keep a language like Python. Programmers can usually adapt to a new language in a matter of weeks, but creating your own scene and shader editors could take months.

Share this post


Link to post
Share on other sites

Since you're not a developer, I would advise you to make your pong with python. First in 2D, then move it in 3D.

 

Then only after try to make the same thing with another language like C or C++. With these languages, you'll have to deal with the memory yourself, you'll have to carefully choose each type of each variables, and you'll have to implement most of your algorithms. You'll also have to choose your dependencies (which library for doing the rendering, which one for the physics, which one to manage the GUI, the network, the audio, the model loading...).

Share this post


Link to post
Share on other sites

The library support is poor

Is that the supremacy of pygame makes close to none the possibility of real competency? Or simply, the unfeasibility of python as efficient gamedev tool discourages libraries developers? I was thinking about the python/pygame alternative, a year and a half ago or so. But I finally choosed to be sticked with C/C++

Share this post


Link to post
Share on other sites

I made my choice here.

 

I will stick learning with Python AND Godot (GDScript), cause the Syntax is quite similar (and easy to learn) and try to build some little stuff. And for the reason C++ is involved in Godot, i wanna try learn C++ after that. I think this will be an adventure for me and i have to learn a lot of things here :)

 

Thanks for all your advices.

Btw: Any advices with Godot? :)

Edited by Nopp

Share this post


Link to post
Share on other sites

I made my choice here.

 

I will stick learning with Python AND Godot (GDScript), cause the Syntax is quite similar (and easy to learn) and try to build some little stuff. And for the reason C++ is involved in Godot, i wanna try learn C++ after that. I think this will be an adventure for me and i have to learn a lot of things here :)

 

Thanks for all your advices.

Btw: Any advices with Godot? :)

 

I've done a comprehensive Godot tutorial series that should get you started.

 

http://www.gamefromscratch.com/page/Godot-Game-Engine-tutorial-series.aspx

 

While I'm not a huge fan of starting with Python (for reasons given above and others), I do think Godot and GDScript are a great choice.

Share this post


Link to post
Share on other sites

 

I made my choice here.

 

I will stick learning with Python AND Godot (GDScript), cause the Syntax is quite similar (and easy to learn) and try to build some little stuff. And for the reason C++ is involved in Godot, i wanna try learn C++ after that. I think this will be an adventure for me and i have to learn a lot of things here :)

 

Thanks for all your advices.

Btw: Any advices with Godot? :)

 

I've done a comprehensive Godot tutorial series that should get you started.

 

http://www.gamefromscratch.com/page/Godot-Game-Engine-tutorial-series.aspx

 

While I'm not a huge fan of starting with Python (for reasons given above and others), I do think Godot and GDScript are a great choice.

 

 

Wow, thank you :) !

Is your Tutorial based for real beginners in programming, or begnners in Godot?

Share this post


Link to post
Share on other sites

 

 

I made my choice here.

 

I will stick learning with Python AND Godot (GDScript), cause the Syntax is quite similar (and easy to learn) and try to build some little stuff. And for the reason C++ is involved in Godot, i wanna try learn C++ after that. I think this will be an adventure for me and i have to learn a lot of things here :)

 

Thanks for all your advices.

Btw: Any advices with Godot? :)

 

I've done a comprehensive Godot tutorial series that should get you started.

 

http://www.gamefromscratch.com/page/Godot-Game-Engine-tutorial-series.aspx

 

While I'm not a huge fan of starting with Python (for reasons given above and others), I do think Godot and GDScript are a great choice.

 

 

Wow, thank you :) !

Is your Tutorial based for real beginners in programming, or begnners in Godot?

 

 

New to Godot, but it should be fairly accesible to new developers once you've got the basics of Python or another similar language down.

Share this post


Link to post
Share on other sites

 

The library support is poor

Is that the supremacy of pygame makes close to none the possibility of real competency? Or simply, the unfeasibility of python as efficient gamedev tool discourages libraries developers? I was thinking about the python/pygame alternative, a year and a half ago or so. But I finally choosed to be sticked with C/C++

 

 

When I say 'library support is poor' I mean that there are very few good game development libraries available for Python.

 

PyGame is a horribly outdated library. The last proper release is, what, 5 or 6 years old? And it seems to still use the ancient version of SDL. I don't think it features any support for modern rendering techniques.

 

Pyglet is an alternative to Pygame, with more modern support for rendering, but is still not well-maintained. And although graphics are better-supported than in PyGame, support for just about everything else is pretty low-level and barebones.

 

Panda3D has the problems I mentioned above.

 

Is there much else? Not that I'm aware of. The Python community doesn't know or care much about game development and game developers don't care much about Python. My sporadic attempts to bridge this gap over the last 10 years had little effect, so I'm done with it.

 

I think it's fine to make a simple game in Python to get used to game development, but eventually it's going to get in your way, and you'll want to use something more capable.

Share this post


Link to post
Share on other sites

 

 

The library support is poor

Is that the supremacy of pygame makes close to none the possibility of real competency? Or simply, the unfeasibility of python as efficient gamedev tool discourages libraries developers? I was thinking about the python/pygame alternative, a year and a half ago or so. But I finally choosed to be sticked with C/C++

 

 


I think it's fine to make a simple game in Python to get used to game development, but eventually it's going to get in your way, and you'll want to use something more capable.

 

...Like Godot, maybe? :)

Share this post


Link to post
Share on other sites

Maybe! I've never used it myself, nor heard of any finished games made with it, but it looks okay.

One of this years entrees for week of awesome used it actually and did pretty well

https://drive.google.com/open?id=0B9VrclvlENaSRE9KOVlxSGlZT0E

There was also a panda3d entree


https://dl.dropboxusercontent.com/u/58334662/TheShadowsTwisted.zip

Not a fan of python for games either though

Share this post


Link to post
Share on other sites

This topic is 467 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this