• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
Cham

C#/XNA or Python/Pygame for Game Development (2D Side-Scrolling like Terraria)?

43 posts in this topic

[b]Hello GameDev Community,[/b]


My name is Chamantha and I am a teenager with aspirations to make something big (a game most likely). I have started coding when I was turning 10-years old. I started off with batch scripting, it was pretty easy. Then I moved into C++, Java, and Python. I also worked on applications in VB.NET and C#.

I seem to have a problem where a learn a lot of content about a language then I just drop it due to doubts. So in my mind I have a big bundle of random notes on coding which have no use. I have decided that I will clear my doubts first and then learn a single language all the way to the end.

I need the help of the community. I am planning to learn Java, mainly to develop a game that will eventually move on to the Android platform. [i]But is this the right choice?[/i] I am only 15-years old so my knowledge in math is limited, [i]is C++ a better choice[/i]? Now I don't want to start one of those long threads about which language is better because I have read so many of them but I can't come to a conclusion. [i]I would prefer to use Python[/i], it is very simple but I'm worried I can't make powerful games with Python (I haven't seen one popular game coded in Python).

[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=

[b][u]Summary[/u][/b] - Should I learn Java (or C++)? If so what resources should I use to learn them? Should I watch videos from thenewboston's channel or should I get a book?

[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=[color=#ff0000]=[/color]=


Thank you for your time,
[b]-Cham[/b]
0

Share this post


Link to post
Share on other sites
If you are serious about it you are most likely going to learn all of the above at some point in the future (maybe not VB). The important thing right now is that you learn one language and learn to make a game with it. If you know one language good (rather than knowing five poorly) it's easier to learn other languages later on.

Python is a good language so I see no reason why you should learn Java or C++ right now, if you would rather use Python. You can either use PyGame or Pyglet if you want faster graphics (I used Pyglet for two Pyweek games.. I like it). I don't know any good tutorials, but I'm pretty sure google can help you with that :)

If you insist on choosing between Java and C++ I would suggest Java since it has a lot of usefull libraries and great documentation. But don't rush towards Android before you have made a few games for pc first (the debugging process is rather cumbersome).
1

Share this post


Link to post
Share on other sites
C++ is a good choice.. when you already know a few languages really well. At the age of 11 I started learning C++ for kicks and it didn't make any sense to me. When I got into college and had my first python class everything started to come together. By the end of my college days I had two Java class, 3 C++ classes and that was a good starter for C++. But I would recommended as everyone else has said, start with something small, like Python. Once you've made something with Python and you feel ready to move on to a different language move up into Java.

Note: When it comes to C++ in my opinion, C++ is like playing a really hard game once you hit the end on the highest difficulty you'll feel like a master. And even though I've had all those classes and done pretty well in the classes, it doesn't mean that I understand a lot about C++.
1

Share this post


Link to post
Share on other sites
Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?
0

Share this post


Link to post
Share on other sites
[quote name='Cham' timestamp='1338563468' post='4945333']
Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?
[/quote]


Learn Python.

Leave the "and then"'s for later.

ActionScript is probably about equivalent in difficulty to Python, although such things are extremely subjective.

One major plus in AS's ( oops ) favour is the syntax is much closer to C++/Java/C#. Additionally, it is remarkably similar ( derived from ) to Javascript, which is a language that is (sadly) becoming increasingly relevant.

I suppose I should throw in my personal bias... I don't really like Python all that much. Edited by Serapth
1

Share this post


Link to post
Share on other sites
[quote name='Serapth' timestamp='1338566283' post='4945343']
[quote name='Cham' timestamp='1338563468' post='4945333']
Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?
[/quote]


Learn Python.

Leave the "and then"'s for later.

ActionScript is probably about equivalent in difficulty to Python, although such things are extremely subjective.

One major plus in AS's ( oops ) favour is the syntax is much closer to C++/Java/C#. Additionally, it is remarkably similar ( derived from ) to Javascript, which is a language that is (sadly) becoming increasingly relevant.

I suppose I should throw in my personal bias... I don't really like Python all that much.
[/quote]

Since I already have Flash CS5, I will start learning AS3 in order to make simple flash games. Thank you!
0

Share this post


Link to post
Share on other sites
AS3/Flash is a great choice to start with. Mainly because of the ability to easily publish/monetize on the web.

The concepts you need for making games are the same no matter what language you use, so using the one that is easiest to quickly distribute and monetize as a first platform, is a good one.
0

Share this post


Link to post
Share on other sites
If you are learning Python, you should check out PyQt, PyGame, and / or PyOpenGL which are GREAT AND AWESOME for your game development :)

I'm currently working on a project that generates natural foot prints (including angels and timing) using PyOpenGL. Essentially it's OpenGL with Qt but in Python.

CXD
0

Share this post


Link to post
Share on other sites
Does anyone have any experience with C#? I might learn that after AS3.
0

Share this post


Link to post
Share on other sites
[quote name='Cham' timestamp='1338644661' post='4945573']
Does anyone have any experience with C#? I might learn that after AS3.
[/quote]Yes, it is also a great language.

But as was suggested above, keep away from the line "and then I should learn...." It is a fast track to distraction and undirected growth.
0

Share this post


Link to post
Share on other sites
[quote name='frob' timestamp='1338647324' post='4945584']
[quote name='Cham' timestamp='1338644661' post='4945573']
Does anyone have any experience with C#? I might learn that after AS3.
[/quote]Yes, it is also a great language.

But as was suggested above, keep away from the line "and then I should learn...." It is a fast track to distraction and undirected growth.
[/quote]

Thank you for the advice, I started to doubt my choices again. [img]http://public.gamedev.net//public/style_emoticons/default/laugh.png[/img]


Quick question though. I haven't seen any high end games made in Python. Sure there are many 2D games but they aren't really professional. C# seems to have so much potential with XNA Studio and all of that. So in your personal opinion is C# better or more equipped for game development than Python? Edited by Cham
0

Share this post


Link to post
Share on other sites
[quote name='Cham' timestamp='1338664497' post='4945633']
Thank you for the advice, I started to doubt my choices again. [img]http://public.gamedev.net//public/style_emoticons/default/laugh.png[/img]


Quick question though. I haven't seen any high end games made in Python. Sure there are many 2D games but they aren't really professional. C# seems to have so much potential with XNA Studio and all of that. So in your personal opinion is C# better or more equipped for game development than Python?
[/quote]

Python is great and high-level language, really, but the most times I've seen it used is as exterior libraries complimenting utils for other language-based applications. I might be wrong, but eh.

If you still take suggestions, I'm actually surprised nobody suggested plain C as a learning start, maybe there's a secret codemonkey curse around it? But anyway, I'd say it's an easy to learn low level language, so that's a good convo. Still used commercially, and is the basis for C++ and C#.

There are quite a bunch of tuts around the web. I could give you a few pointers myself every now and then if you prefer, too.

Only setback is that C is useful for core-y stuff, not really object-programming, graphic interfaces and stuff. Still, good to "learn how to program".
0

Share this post


Link to post
Share on other sites
I started with VBA (making small applications in Excel etc) when I was 9. Then I moved on to C++, which seemed slightly confusing at first. However, I managaed to learn it by reading a couple of books. I am also learning Python, because it's supposed to be simple and can do some stuff quicker than C++ can.

Meanwhile, I am also making a game (you can track it's progress on my blog: ctrlaltdel314.blogspot.com) in C++ and a game developing library called SFML.
My friend though is making a game in C# and XNA for the Xbox.

So, to answer your questions, I think both C++ and Java are quite good languages to learn - however, java does require additional stuff to be already installed on your computer (most of it usually is anyway). Java can also run on the internet.
Secondly, if you are using C++ (or Java, or Python) then check out SFML- the SImple and Fast Multimedia Library and SDL - SImple Direct Media Layer. SFML is probably easier.

P.S. Don't try to learn more than one language at once. Doing this will confuse you and it will mean that you are not that good at either of them.
P.P.S Check out Nitrome - a company who make free web based games. I get all my inspiration from them.
P.P.S I haven't read all the posts on this thread in detail so I might have said something somebody has already said. Edited by TheVirtualDragon
0

Share this post


Link to post
Share on other sites
Oh my good god, I just spent a lot of time on C# but it seems like the wrong choice! I've seen a tutorial on how to make a 2d game in C# it looks way over my head.

Python would be easier, but I just can't choose! [img]http://public.gamedev.net//public/style_emoticons/default/angry.png[/img]

Java is support by a lot but it seems just as difficult as C#.

C++ is just obviously way over my capability.

I feel like quitting, this is so hard to choose. Edited by Cham
0

Share this post


Link to post
Share on other sites
Lmao, then go with python. :) Go very slow through it and for the love of everything, READ. Too many people just go in and look at the code and what certain things mean and continue on. You're learning now, which means everything you learn now will make the way for the future.
0

Share this post


Link to post
Share on other sites
[quote name='Inuyashakagome16' timestamp='1338762310' post='4945934']
Lmao, then go with python. [img]http://public.gamedev.net//public/style_emoticons/default/smile.png[/img] Go very slow through it and for the love of everything, READ. Too many people just go in and look at the code and what certain things mean and continue on. You're learning now, which means everything you learn now will make the way for the future.
[/quote]

If I were to create a 2d small rpg, would python do the job? Is there any visual engine I can use (for c# or python)?
0

Share this post


Link to post
Share on other sites
[quote name='Cham' timestamp='1338765979' post='4945951']
If I were to create a 2d small rpg, would python do the job? Is there any visual engine I can use (for c# or python)?
[/quote]

Absolutely. The go-to library for 2D game development in Python is [url="http://www.pygame.org/news.html"]Pygame[/url].
0

Share this post


Link to post
Share on other sites
Cham,

It is difficult to choose a language as there are so many choices :) I don't think anyone here can tell you what too learn, although we can all
give you our opinion on what we find useful.

Many teenagers start out with Python, it is easy to get started with and make something fairly quickly.

[quote][i]I would prefer to use Python[/i][color=#282828][font=helvetica, arial, verdana, tahoma, sans-serif][size=3][left][background=rgb(250, 251, 252)], it is very simple but I'm worried I can't make powerful games with Python (I haven't seen one popular game coded in Python).[/background][/left][/size][/font][/color][/quote]
Look up Panda3D, you can use Python to create your games :)

Heard of Severance: Blade of Darkness? although the engine was primarily coded in C++,
Python was also used by the developers to create scripts for the game.

Most individuals will suggest that you just learn a language as it doesn't matter which you pick, well... In my experience, it does matter, if your going to spend
your time learning a language it is wise to choose a language that your going to enjoy using.

I use Java (Android development), C# (PS VITA development) and Python(Panda3D, Raspberry Pi :) )

You can't go wrong by choosing Python my friend ;)
0

Share this post


Link to post
Share on other sites
As they said, both PyGame and Panda3D will do what you want. :) Even though Python is a (sort-of) simple language doesn't mean it can't make games. :) I suggest you start with Python as I've stated before. :) Good luck
0

Share this post


Link to post
Share on other sites
Yes, I agree with everyone else Cham, Python is definetely the easiest language and it is capapble of creating some very good games. In fact alot of games are made in Python (with C++ for the engine, but the engine can be made in Python as well). Python also gives you an advantage as development is very fast (e.g. making the same thing in something like c++ would take twice the amount of code).
0

Share this post


Link to post
Share on other sites
I think I've been relying on the opinions of others as my own. One person says something good about the language, the other person says something bad. I take those opinions as my own, which I shouldn't. But now you have all reassured me that Python is the language to go with, I am greatful.Thank you all for your advice! [img]http://public.gamedev.net//public/style_emoticons/default/laugh.png[/img]
0

Share this post


Link to post
Share on other sites
If you want to go into more detail about language options [URL=http://www.gamefromscratch.com/post/2011/08/04/I-want-to-be-a-game-developer.aspx]read this guide[/url]


It covers basically everything you need to know to get started.

But as I said earlier, forget then "and then...", pick something and stick to it or you will get nowhere. Edited by Serapth
0

Share this post


Link to post
Share on other sites
I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. [img]http://public.gamedev.net//public/style_emoticons/default/sad.png[/img]

I honestly think I should take C++, I might be able to handle it if I try hard enough. I know this is making a lot of you mad, but I know I'm setting myself up for failure by choosing the wrong language. I want to learn one, very good, language. Edited by Cham
0

Share this post


Link to post
Share on other sites
[quote name='Cham' timestamp='1338848284' post='4946241']
I am planning to make a game similar to terraria. I haven't seen a game made in Python that comes close to the quality of Terraria.

Also, windows users will have to install Python in order to play my game, which doesn't seem very effecient.

With C# and XNA you don't need to do any of that.

Im just saying. :(
[/quote]


First off, you can bundle a Python game into a single executable.
Second, with C#/XNA, you still have dependencies.


That said, you are putting the horse way before the cart, you need to learn programming first. The guy behind Terraria probably spent years learning to program before creating that game, which I imagine took a number more years to create.
0

Share this post


Link to post
Share on other sites

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  
Followers 0