Jump to content
  • Advertisement
Sign in to follow this  
LostTrigger

Is it worth learning a language if I only want to do game development?

This topic is 1084 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

i want to become a game developer and I thought it would be nice for me to learn a language. I took a class in college about html/css so im familiar a bit with writing code. I took a few classes on codecademy for python and I dont exactly know what im learning or if it is relevant for game design(the beginning lessons). Im not even sure if it will transfer over. I dont plan on using what ever language im using with anything not related to game design

Am I wasting my time learning how to say code with python or java? I was thinking of just jumping into a engine but I want to be able to write the code for my own game(not a engine just my own scripts).

Share this post


Link to post
Share on other sites
Advertisement
No, there are frameworks to make games in both Python and Java. (I'm sure other members here will be quick to point out some, I'm not familiar with Python or Java frameworks/engines off the top of my head to make good recommendations) Minecraft, for example, is completely made in Java.

If your goal is to simply make games, the language you choose does not matter too much. And even if you pick the "wrong" language or change your mind later, the skills you learn in one language will frequently transfer to the new one. It's always hardest to learn your first language - the second, fifth, and twentieth are much easier smile.png

Share this post


Link to post
Share on other sites

In all honesty, if you want to solely create a game and not hand-code it, there are better options out there. Game Maker comes to mind. It is drag-and-drop with the ability to code your own scripts. I don't recall which language the scripts are written in, though. There is also software such as Unity, Unreal, etc. I can personally speak for Unity. You basically drag-and-drop game objects into your scene and you can attach components to them. Eg. Scripts, rigidbody physics, controllers, etc. The scripts are written in C#.

 

It all depends on what you want to do. C/C++ is your best bet if you want to get into writing games or even programming in general. That and Java. Minecraft is written in Java, but I believe that nearly every modern game out there (PC/Console) is written in C/C++. I'm not a professional game developer, so don't quote me on this, but I believe that sometimes in performance-critical sections of code they will hand optimize it by using assembly. So that would be good to know also.

 

Also, look into Alice. It's extremely simple and you can use pre-defined functions or write your own. When I took my computer course in High School we used that and Scratch(something to also look into);

Edited by Renthalkx97

Share this post


Link to post
Share on other sites

If you learn coding just to make a game... you're kinda hurting yourself. Unfortunately most of game programming is actually in the thickest part of Computer Science and Math.

Share this post


Link to post
Share on other sites


No, there are frameworks to make games in both Python and Java. (I'm sure other members here will be quick to point out some, I'm not familiar with Python or Java frameworks/engines off the top of my head to make good recommendations)

Yeah, here! Pygame, Processing and LibGDX come to mind - three excellent frameworks.

 

However, if you are not aiming to be a professional programmer, there are easier choices to make games. You might want to look into Visual Coding Tools, for example. Or Game Maker, as Renthalkx97 mentioned.

Share this post


Link to post
Share on other sites

I was thinking of just jumping into a engine but I want to be able to write the code for my own game(not a engine just my own scripts).

Unity. I'm surprised no one else mentioned it sooner. The scripting API for Unity is fantastic, any question you have will have been answered on StackOverflow and C# is a very good language to learn. I think because Unity's very visual too it's a great introduction. Try out the beginner & intermediate tutorials on their website.

 

Although in Unity what you're writing is indeed just scripts, I think it'd be best for where you're at. However if you're unsure, C++ is never a bad option. It's the go-to language for the games industry and although some studios will produce mobile/web games in different languages, I don't think you can go wrong with it. Check out SFML for a decent 2D kit although there're a plethora of others.

Share this post


Link to post
Share on other sites

Unity. I'm surprised no one else mentioned it sooner.


I did.

There is also software such as Unity, Unreal, etc. I can personally speak for Unity.

Share this post


Link to post
Share on other sites

From my experience, you only need to know the basics to create code for a game. In Unity, for example, most of the physics, simple shaders, collisions, and rendering is done for you. You only have to code the logic for specific events such as how an object moves or what happens when a key on the keyboard is pressed. The stuff you learn from one semester of Computer Science almost covers the basics of you need to know. The only thing you would need to learn is Unity's API, but there are a lot of tutorials on YouTube to walk you through it. Also, there are some programs that don't require conventional programming at all. GameMaker and Construct 2 have a drag and drop system, meaning you drag in actions to make a game object do something. 

 

I recommend researching software that would work with the type of game you are working with. It depends on what type of game (2D or 3D) and whether or not you are comfortable writing out your own code for the game. 

Share this post


Link to post
Share on other sites
To be honest game engines(at least the big mainstream ones) are getting much more point and click as the years go on, more time and effort is being put into trying to make engines that are easy to work with for non-technical people like artists, designers, etc. It saves a lot of time and money when big companies don't need to hire a dozen programmers just to make tiny changes to an engine to do something that the other devs need/want in a game, so the suite of tools you get is relatively impressive.

There isn't much reason to learn coding just for the sake of learning it, you can pick up the very basics of a language in a day or two, but learning all the rules, complications, ways to make things happen on different platforms or working with libraries, those things take years to learn. In the case of just wanting a game you're basically avoiding the experience all those developers making the toolsets have accumulated over the years, just to have your own crack at it. That's fine if you want to be a programmer longterm, but not exactly efficient if you just want to develop a game. It'd be like learning to cut down trees and saw them just to make something out of planks you could pick up from the hardware store.

I could also point out those engines just save insane amounts of time even as a programmer, I couldn't even begin to explain how much code and time it saves just using those engines. Even if you're experienced enough to know how to do those things, the fact is that they are already done for you. It isn't like we all have 'fun' writing what amounts to almost boilerplate code to set up things that have been set up thousands of times before, but in a slightly different environment. Edited by Satharis

Share this post


Link to post
Share on other sites

 I was thinking of just jumping into a engine but I want to be able to write the code for my own game(not a engine just my own scripts).

 

While developing a game with an existing engine can save you A LOT of time, you still need to be able to program to do so.

 

Many engines give you simple APIs and hide the low level complexity for you, and in case of Unreal Engine 4 you can also use the Blueprint Visual Scripting system to avoid having to learn the Syntax of a programming language...

 

But: you still need to know the basics of programming, else you will make mistakes that will make your game inefficient or not work at all. You will reach the limits of what these simples systems can do.

 

 

The good news is though, instead of having to learn to program boring "hello world" programs, you can jump into an engine and just learn by doing. Try your hand at Unity or Unreal Engine, or, if you want it a little bit easier and are fine with 2D games, start with a simpler 2D engine.

Try and error, listen to tutorials on the net, see how other people get their stuff working, learn from them. You will pick up basic programming knowledge before you know it.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!