Jump to content

What language to learn for programs and 2d games.

Snifferdog3

Hey all. I want to learn a coding language but I'm not sure where to start. I want to be able to make basic applications and maybe some basic 2d games. Im thinking of learning python but I want to ask your opinions... I already know very basic coding. Html, cmd line, stuff like that... I've been using code cademy for what I've learnt so far. But if you guys have any better ways of learning code please share them :) thanks alot!

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Snifferdog3 said:

Hey all. I want to learn a coding language but I'm not sure where to start. I want to be able to make basic applications and maybe some basic 2d games. Im thinking of learning python but I want to ask your opinions... I already know very basic coding. Html, cmd line, stuff like that... I've been using code cademy for what I've learnt so far. But if you guys have any better ways of learning code please share them :) thanks alot!

depends on what game engine

 

unity: c#

unreal: c++ or the nodes

 

more but i dont feel like listing them all

 

i highly suggest using an engine

✧・゚: *✧・゚:*  Quote for a reply  *:・゚✧*:・゚✧

 

✧・゚: *✧・゚:*   Ask for discord   *:・゚✧*:・゚✧

Link to comment
Share on other sites

Link to post
Share on other sites

Python, its pretty easy to learn

 

but yeah like the above guy said I suggest using an engine, it can be annoying to have to make your own from scratch. its a lot of work, but it will teach you a lot

Link to comment
Share on other sites

Link to post
Share on other sites

32 minutes ago, iLostMyXbox21 said:

depends on what game engine

 

unity: c#

unreal: c++ or the nodes

 

more but i dont feel like listing them all

 

i highly suggest using an engine

 

14 minutes ago, shmoochie said:

Python, its pretty easy to learn

 

but yeah like the above guy said I suggest using an engine, it can be annoying to have to make your own from scratch. its a lot of work, but it will teach you a lot

Ive heared C# and c++ are very hard.... So do I need a engine for programs too or games only? I thought I only needed one for 3d games but I must be mistaken... if I only need a engine for games and not programs I think I'll give games a miss for now. So would python be any good for programs? It's a very popular language now so I'm guessing it will do the job?

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, Snifferdog3 said:

 

Ive heared C# and c++ are very hard.... So do I need a engine for programs too or games only? I thought I only needed one for 3d games but I must be mistaken... if I only need a engine for games and not programs I think I'll give games a miss for now. So would python be any good for programs? It's a very popular language now so I'm guessing it will do the job?

c# and C++ are harder yes, python is easy and can help you understand coding better and how functions works and why they work and about syntax and all that. and it has plug ins you can download like pygame to help making games easier

 

well the engine of the game is the parts the tell things what to do, so the engine is like making code that makes your sprite walk and how fast to walk, what button does what when you press it, when you jump how high you jump but first you need to code jumping into the engine.

 

for software im not sure as the only software I made myself was years ago and it was a pig Latin converter and that was because it was in the tutorial I used to learn how to code lol someone else can answer this better but I don't think it has an engine per say but I think you need to code a structure to it like main functions and stuff but I can be wrong

Link to comment
Share on other sites

Link to post
Share on other sites

12 minutes ago, Snifferdog3 said:

Ive heared C# and c++ are very hard....

They have a steeper learning curve than python, but they aren't prohibitively hard if you spend some time to learn the syntax and basics.

 

12 minutes ago, Snifferdog3 said:

So do I need a engine for programs too or games only?

Games are programs. The engine is just a way to take advantage of existing code and frameworks so that you don't have to write all the core infrastructure of a game from scratch for even a simple game. For many types of programming, you won't use "engines", but you will still use frameworks. Like Spring/Rails/Django to make webapps in Java/Ruby/Python respectively. Do you HAVE to? No, but when you start doing more complicated applications, being able to use existing stuff designed to facilitate the exact thing you are doing is invaluable. For entry level stuff, you won't likely have to worry about frameworks like that. Just start with the basics of a given language.

 

12 minutes ago, Snifferdog3 said:

So would python be any good for programs? It's a very popular language now so I'm guessing it will do the job?

Python is totally fine. I wouldn't say its the most popular language for making games, but that doesn't mean you can't learn how to make games using python. You can make desktop applications and webapps with it too, just like you can with tons of languages. I did a ton of freelance desktop app work in college using python because it was quick to write. Don't stress about the specific language too much, you can take what you learn and pick up new languages down the road pretty easily.

Gaming build:

CPU: i7-7700k (5.0ghz, 1.312v)

GPU(s): Asus Strix 1080ti OC (~2063mhz)

Memory: 32GB (4x8) DDR4 G.Skill TridentZ RGB 3000mhz

Motherboard: Asus Prime z270-AR

PSU: Seasonic Prime Titanium 850W

Cooler: Custom water loop (420mm rad + 360mm rad)

Case: Be quiet! Dark base pro 900 (silver)
Primary storage: Samsung 960 evo m.2 SSD (500gb)

Secondary storage: Samsung 850 evo SSD (250gb)

 

Server build:

OS: Ubuntu server 16.04 LTS (though will probably upgrade to 17.04 for better ryzen support)

CPU: Ryzen R7 1700x

Memory: Ballistix Sport LT 16GB

Motherboard: Asrock B350 m4 pro

PSU: Corsair CX550M

Cooler: Cooler master hyper 212 evo

Storage: 2TB WD Red x1, 128gb OCZ SSD for OS

Case: HAF 932 adv

 

Link to comment
Share on other sites

Link to post
Share on other sites

i say as for software.. use blender. you can make 2d characters in it.. also doubles as an animator and if i remember correctly, BGE (blender game engine) you can make python scripts as well as nodes.

1 minute ago, reniat said:

They have a steeper learning curve than python, but they aren't prohibitively hard if you spend some time to learn the syntax and basics.

it also helps to do research.. i still am debating on learning c# or c++

✧・゚: *✧・゚:*  Quote for a reply  *:・゚✧*:・゚✧

 

✧・゚: *✧・゚:*   Ask for discord   *:・゚✧*:・゚✧

Link to comment
Share on other sites

Link to post
Share on other sites

5 minutes ago, iLostMyXbox21 said:

 

it also helps to do research.. i still am debating on learning c# or c++

figure out what you what to use the code for and learn what will fit your needs the best. I went to objective C after python but I wanted to make phone apps and it was good for that. I even made a few dollars off of the apps I made via ads then I sold the apps for like $30 lol and I dont mean in the app store, I sold the rights to own and operate the apps on fliptopia

Link to comment
Share on other sites

Link to post
Share on other sites

13 minutes ago, reniat said:

 

Python is totally fine. I wouldn't say its the most popular language for making games, but that doesn't mean you can't learn how to make games using python. You can make desktop applications and webapps with it too, just like you can with tons of languages. I did a ton of freelance desktop app work in college using python because it was quick to write. Don't stress about the specific language too much, you can take what you learn and pick up new languages down the road pretty easily.

Yes I think desktop programs are my main focus for now.... I'll get to making games in a few years then once I can make some programs.

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, shmoochie said:

figure out what you what to use the code for and learn what will fit your needs the best. I went to objective C after python but I wanted to make phone apps and it was good for that. I even made a few dollars off of the apps I made via ads then I sold the apps for like $30 lol and I dont mean in the app store, I sold the rights to own and operate the apps

I think desktop programs are my main focus rn as that's what I have basic coding knowledge of,  and I have years of experience with desktops. I might progress to phone apps in a year or two but for now I think I just want to make some basic desktop programs.

Link to comment
Share on other sites

Link to post
Share on other sites

9 minutes ago, iLostMyXbox21 said:

i say as for software.. use blender. you can make 2d characters in it.. also doubles as an animator and if i remember correctly, BGE (blender game engine) you can make python scripts as well as nodes.

it also helps to do research.. i still am debating on learning c# or c++

Ah I actually have blender installed on my pc.. that's interesting so I can make like textures or whatever you call it for the program with it? That's cool

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Snifferdog3 said:

I think desktop programs are my main focus rn as that's what I have basic coding knowledge on a years of experience with desktops. I might progress to phone apps in a year or two but for now I think I just want to make some basic desktop programs.

a really good website for help with coding is stackoverflow if you don't know about it already. just if you do use it you need to be very specific with questions and issues as if you ask a broad question like what is wrong with my code they will most likely make stuck up comments and downvote you to the point you can't even make a post anymore.

 

its a very helpful place but I guess its not for new coders as much as the community doesn't seem to like noobs very much.

Link to comment
Share on other sites

Link to post
Share on other sites

56 minutes ago, iLostMyXbox21 said:

depends on what game engine

 

unity: c#

unreal: c++ or the nodes

 

more but i dont feel like listing them all

 

i highly suggest using an engine

Xenko for C# is also great and free.

 

Xenko, Unity or Unreal all have great asset manager and coding is not that difficult. C++ is probably the most complex one then C# then the easiest is Python.

 

C# and Python syntax are much easier to read and comprehend for starters.

Link to comment
Share on other sites

Link to post
Share on other sites

3 minutes ago, shmoochie said:

a really good website for help with coding is stackoverflow if you don't know about it already. just if you do use it you need to be very specific with questions and issues as if you ask a broad question like what is wrong with my code they will most likely make stuck up comments and downvote you to the point you can't even make a post anymore.

 

its a very helpful place but I guess its not for new coders as much as the community doesn't seem to like noobs very much.

Yes I have heard of it haha, I'll be sure to check it out tho :)

Link to comment
Share on other sites

Link to post
Share on other sites

4 minutes ago, Franck said:

Xenko for C# is also great and free.

 

Xenko, Unity or Unreal all have great asset manager and coding is not that difficult. C++ is probably the most complex one then C# then the easiest is Python.

 

C# and Python syntax are much easier to read and comprehend for starters.

Ok I'll check that out :)

Link to comment
Share on other sites

Link to post
Share on other sites

If you really want to make a 2d game you want an engine.


If you just want to learn how to program and make your own version of pong at some point there are great tutorials for python on how to such. Python is an easy language for beginners and can do almost anything you can imagine.

 

Edit: Seeing that you have already been using codecademy, its python course is great

Link to comment
Share on other sites

Link to post
Share on other sites

14 hours ago, LevitatingBusinessMan said:

If you really want to make a 2d game you want an engine.


If you just want to learn how to program and make your own version of pong at some point there are great tutorials for python on how to such. Python is an easy language for beginners and can do almost anything you can imagine.

 

Edit: Seeing that you have already been using codecademy, its python course is great

Ok, thanks :)

Link to comment
Share on other sites

Link to post
Share on other sites

Python is great! You can run it on any computer. It’s easy for beginners. 

Additionally you can use it with blender if you want to use that as a game engine. You can also use it to script modelling if later in life you decide you want to generate models in maya with python 

 

finally python has an API (application programming interface) you can get called pygame. It’s a graphics and game library that lets you create a whole game through code alone. 

 

Edit: 

you CAN use a game engine, but you’ll learn a lot more with python. If you want to do strictly 2D, i say Game Maker is the way to go. 

Unity is pretty good too but I’d recommend game maker over it as a solo developer which i presume you to be, you’ll get a lot done a lot faster with a dedicated 2D engine than a 3D engine hacked into a 2D capable engine. 

Link to comment
Share on other sites

Link to post
Share on other sites

50 minutes ago, fpo said:

Python is great! You can run it on any computer. It’s easy for beginners. 

Additionally you can use it with blender if you want to use that as a game engine. You can also use it to script modelling if later in life you decide you want to generate models in maya with python 

 

finally python has an API (application programming interface) you can get called pygame. It’s a graphics and game library that lets you create a whole game through code alone. 

 

Edit: 

you CAN use a game engine, but you’ll learn a lot more with python. If you want to do strictly 2D, i say Game Maker is the way to go. 

Unity is pretty good too but I’d recommend game maker over it as a solo developer which i presume you to be, you’ll get a lot done a lot faster with a dedicated 2D engine than a 3D engine hacked into a 2D capable engine. 

I want to start with 2d games and I think I'll aim it at mobile as there would likely be more people downloading it than pc.... Would python be good for mobile too? And what game engine should I use for mobile games?

Link to comment
Share on other sites

Link to post
Share on other sites

If you're just a beginner you should start with premade engines, like Unity and Game Maker (the former is better for 3d, the latter for 2d, although both can do both)

Unity lets you code in C# if i remember correctly, Game Maker uses it's own gml language which still has C-like syntax as C, C++, C#, Java...

 

If you wat to code the game from the ground up, then you could check C++ with SFML; it's amazing for 2d, portable and, like game maker while being based on 2d it still allows 3d
 

https://www.sfml-dev.org/

That said, if you never programmed before, i heavily suggest you to stick to unity or game maker

 

Python is a good programming language, it's just not best suited for games. Most games skeleton consist in C/C++ code for a good reason

Link to comment
Share on other sites

Link to post
Share on other sites

1 minute ago, Barnack said:

If you're just a beginner you should start with premade engines, like Unity and Game Maker (the former is better for 3d, the latter for 2d, although both can do both)

Unity lets you code in C# if i remember correctly, Game Maker uses it's own gml language which still has C-like syntax as C, C++, C#, Java...

 

If you wat to code the game from the ground up, then you could check C++ with SFML; it's amazing for 2d, portable and, like game maker while being based on 2d it still allows 3d
 

https://www.sfml-dev.org/

That said, if you never programmed before, i heavily suggest you to stick to unity or game maker

Ok, thanks.

Link to comment
Share on other sites

Link to post
Share on other sites

13 minutes ago, Snifferdog3 said:

I want to start with 2d games and I think I'll aim it at mobile as there would likely be more people downloading it than pc.... Would python be good for mobile too? And what game engine should I use for mobile games?

I don’t know mobile too well. If you want to make straight up apps, there’s something called app inventor for Android. It’s drag and drop programming. 

Some people like visual studio (uses C#) and then something called Xaramin to let it be used on any phone. For iPhones, you could use a Mac and program in swift. 

 

Gamemaker can be used to make mobile games as it has the export functionality. It has a drag and drop language or you can type stuff in GML (game maker language-a scripting language made by game maker to be easy to use.) though most people use Unity. 

 

Im not an app developer but @wasab will likely know more about this. I think @M.Yurizaki knows some stuff about mobile programming. I forget who else does phone apps but wasab is pretty passionate about android programming. 

 

It doesn’t matter where you start, most skills transfer over. An if statement is an if statement, a variable is a variable. 

Python might be 

x= 1

if x > 0:

 //do stuff

 

but php is 

$x

if ($x > 0)

{

//do stuff

}

 

whatever you learn will be valuable skills. I’d say start with desktop and pygame as python is popular and you can spend your whole career only programming python if you wish. Additionally if you go onto other types of programming like using an engine, you’ll already understand how the technologies under the hood work as you already did graphics programming, physics programming & input. None of it is hard. 

 

It seems pygame can do mobile games too from this one video title from a google search 

 

Link to comment
Share on other sites

Link to post
Share on other sites

You CAN use a game engine but there’s no difference in my opinion. 

 

Simple graphics api are as easy as this:

 

1. Create window size 1920 pixels by 1080 pixels

2. Draw circle on screen

3. If player presses right arrow set. Circle position to be a little to the right

4. Go to step 2. 

 

Then the better you get at writing code, the better your games will be. If you want to go into game engine scripting, you’ll just learn a slightly different API and deal less with graphics and physics. 

Link to comment
Share on other sites

Link to post
Share on other sites

If you are fresh to programming and just want to learn it, a crash course in Python or C# using Visual Studio will give you the foundations on programming. If you don't want to install and configure interpreter or compilers or whatever, you can also work with JavaScript in your web browser's console. Overall though, I find the language irrelevant when learning programming as long as it's something modern and what most people use, if only because there's going to be plenty of beginner level tutorials out there.

 

Now if you're going to be programming with a purpose, the language is one of things you figure out at the tail end of the process. First figure out:

  • What sort of game you want to do in the first place
  • What platform you want to target
  • If there are frameworks and such you can leverage

Basically look at all your options first before selecting a language. And unless you're up against a wall on what you need with what's available, you shouldn't be making everything from scratch.

Link to comment
Share on other sites

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

×