Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411512 Posts in 69376 Topics- by 58430 Members - Latest Member: Jesse Webb

April 26, 2024, 07:19:11 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Best programming language and software for game designer?
Pages: [1]
Print
Author Topic: Best programming language and software for game designer?  (Read 1128 times)
Vitta
Level 0
*



View Profile
« on: April 29, 2016, 01:07:40 AM »

Hello guys,
I want to start designing games for digital platforms - PC, mobiles, consoles and since I dont have professional programmer at my disposal I want to start programming my game concepts myself.
So I want to ask you which language is the best for me to learn when I am complete beginner? I want to learn programming at "decent" level so I can start out and make my own games but when a "bigger game" time will come, I will definitely group up with some great programmer.

I heard that for a decent level programming "simpler" languages are : Java, JavaScript, C#, GameMaker Language
The big plus for this languages is that they are mostly used by popular game engines like: Unity, GameMaker ...

I want to be able to programm a game myself because I heard that noding game actions in GameMaker is not a way to go in order to be versatile game designer but on the other hand I dont see need in learning complex C++ or Delphi in order to make games...

Is there a good "middle way" for me? From what language I will benefit the most in terms of versatility? (If I would have to turn on the other language in process)

Thank you so much
Logged
bateleur
Level 10
*****



View Profile
« Reply #1 on: April 29, 2016, 01:20:51 AM »

My recommendation would be to start with C# and Unity.

Two reasons:

1) C# isn't some narrow, special-purpose tool, it's a pretty good example of what modern programming languages look like and how they work.
2) Unity lets you get to the interesting stuff quickly without months of engine work and/or configuration and works fairly similarly for both desktop and mobile deployment.

Logged

Sgt. Pepper
Level 1
*


View Profile
« Reply #2 on: April 29, 2016, 12:42:04 PM »

Ok, here's my two cents.

You say you're a complete beginner and you don't want to have to learn C++ or Delphi. Then forget about making games for consoles, every console I've seen in the past 10 years use C++ only. Now, if you want a good, easy(ish) language to start with, I'd recommend Java. If you write something in Java, it can be run on Windows, Mac, Linux, and Android (but no iOS). Once you learn Java, C# is basically the same (key word: basically). However, this is only my opinion, so take it with a grain of salt. Good luck.
Logged
Polly
Level 6
*



View Profile
« Reply #3 on: April 29, 2016, 01:18:55 PM »

You say you're a complete beginner and you don't want to have to learn C++ or Delphi. Then forget about making games for consoles, every console I've seen in the past 10 years use C++ only.

Nonsense. Microsoft had XNA ( C# ) for 360, Sony had PSM ( C# ) for Vita and Nintendo had NWF ( HTML5+CSS+JS ) for WiiU. Also, a good number of games made with Unity / Game Maker / Construct etc. have made it to consoles.

Now, if you want a good, easy(ish) language to start with, I'd recommend Java. If you write something in Java, it can be run on Windows, Mac, Linux, and Android (but no iOS).

I wouldn't recommend Java. Your games will only work on computers that have Java installed.
Logged
bdsowers
Level 3
***



View Profile WWW
« Reply #4 on: April 29, 2016, 03:02:46 PM »

I would recommend just picking one system and running with it, and it doesn't much matter which. Both GameMaker and Unity are competent game dev systems with fully realized languages and polished, released games that prove their capabilities. They also have large communities and support networks, so help is always a forum post away.

Once you get sufficiently experienced with one, jumping to others isn't terribly hard. Foundation-level programming skills are applicable across languages (every language has its quirks and its own unique syntax... but if you an do C#, you can learn GML and quickly and vice-versa). And you're going to spend more time learning the problem solving techniques that go into development than you are the specifics of a programming language.

Personally, I'm partial to Unity and C#. But that's a personal preference.
Logged

gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #5 on: April 29, 2016, 04:08:13 PM »

Yeah unity and c# is the best versatile starting point by now, extensively covered with tutorial too, hit youtube and find one that is both easy to follow and ambitious to make you feel good...
Also you don't have to code everything, there is enough script to modify and start. It's easier to modify and adapt existing code with pre made assets to learn.
Logged

PixHammer
Level 0
**



View Profile
« Reply #6 on: April 29, 2016, 09:53:12 PM »

When you say 'Game Designer' do you mean the role of Game Designer or more of someone that just makes Games? With the latter there is no silver bullet, and it will always comes down to what is best suited for the game you're making. It's best to just get friendly with many engines until your idea/design arrives, that way you can weigh up all your platform and engine restrictions, and avoid any self imposed restrictions. A designer role however would benefit from the speed of an engine such as Game Maker for rapid prototyping.
« Last Edit: April 29, 2016, 10:07:53 PM by PixHammer » Logged

Lares Yamoir
Level 0
***


View Profile WWW
« Reply #7 on: April 30, 2016, 07:03:07 AM »

Like most people suggested C# is not a bad choice as a first language, if you want something with lot of potential that's easy to learn.

That being said, GameMaker isn't that bad either from what I've heard. many commercial games are made with it, the newest one being Hyper Light Drifter on Steam as far as I know.
You might also want to consider Web technology (HTML5 JavaScript). Some people really like working with that and at least 2d games are not a problem to develop. You could use the development tool Construct 2 to make your game or one of the available JavaScript libraries.
Logged

Vitta
Level 0
*



View Profile
« Reply #8 on: May 01, 2016, 12:07:13 AM »

Thank you guys for amazing effort, just one more thing to ask:

So I have chosen to Unity for engine and C# for language ... Now, what do I learn first? I think the language is first because its the words of and engine.
Or do you know any better way to learn making and coding games in engines? (maybe, learn as you do?)
I am really curious what learning methods are best for this type of study ...

Also, could you show me some good sources from which I can learn language and the engine? (free or fair price)

Thank you Smiley
Logged
Polly
Level 6
*



View Profile
« Reply #9 on: May 01, 2016, 04:23:03 AM »

Now, what do I learn first?

Everything is tied together, so learning things separately isn't the way to go in my opinion.

I am really curious what learning methods are best for this type of study ...

It really depends on your preference. I personally prefer to just have a manual so i can find my own path .. but others might prefer to be taken by the hand and follow a video tutorial series.

Also, could you show me some good sources from which I can learn language and the engine?

There are literally tons of tutorials on Unity online. If you're a reasonably quick learner i think starting with a short-form video tutorial ( where you create a entire game in a hour .. such as this one ) would be helpful. But again, it really depends on your preference, whether you prefer everything to be explained up-front and how quickly you're able to pick up on things.
Logged
gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #10 on: May 01, 2016, 11:30:54 AM »

also always it the doc for an overview:
http://docs.unity3d.com/Manual/UnityManual.html
Logged

Glyph
Level 10
*****


Relax! It's all a dream! It HAS to be!


View Profile
« Reply #11 on: May 01, 2016, 12:01:06 PM »

I'm personally partial to Game Maker over Unity. But it really depends on what you want to do! So I've listed some benefits and drawbacks, in the hopes it can inform some decisions:

Game Maker
  • Incredibly fast and easy to work with, because much is abstracted away
  • Really good built-in sprite editor
  • Very lenient yet powerful coding language (good for beginners)
  • Some tools for beginners are a bit of a trap (you have to learn how to code eventually)
  • Doesn't have great support for 3D
  • Doesn't handle traditional data structures well (which becomes a problem in complex games)

Unity
  • Much better for 3D as an IDE
  • Better for organizing large projects because of this
  • Better for cross-platform (as of now)
  • 3D trappings make 2D less straightforward
  • Slower-paced than GM due to a more complex design architecture

Both have good documentation and community support, with GameMaker's being more beginner-friendly and as such, less technical. Both GML and Java/C# are good intro languages and learning either will get you far towards learning 'more complicated' languages. I would like to weigh in on revision control too, but I haven't used it yet in GameMaker. It would only be possible in Studio, since that was the first version of GM to separate assets into folders.
Logged


bdsowers
Level 3
***



View Profile WWW
« Reply #12 on: May 01, 2016, 05:14:04 PM »

Thank you guys for amazing effort, just one more thing to ask:

So I have chosen to Unity for engine and C# for language ... Now, what do I learn first? I think the language is first because its the words of and engine.
Or do you know any better way to learn making and coding games in engines? (maybe, learn as you do?)
I am really curious what learning methods are best for this type of study ...

Also, could you show me some good sources from which I can learn language and the engine? (free or fair price)

Thank you Smiley

There's no "best learning method" here. It depends on how you want to approach the problem.

Here are some options:
- There are a lot of tutorials that walk you through the process of creating an entire small game. Though most of them assume some basic familiarity with C#, some will try to ease you into that.
- There are also a lot of tutorials on doing smaller things, not creating entire games. A lot of people I've known have tried starting out with these and gradually building up.
- You could learn the C# basics before diving into Unity-specifics. The bare minimum: conditionals, loops, functions, arrays, classes. This alone is enough to keep someone occupied for anywhere from 1-4 months. (There is a *huge* variance in how fast people pick up programming, but be prepared for a struggle)
- Hack around in Unity. Try to do something until you hit something you can't do... then research how to do that thing. Sometimes that will involve digging into programming, sometimes it won't.
- There are classes at various colleges for some subset of these topics. Of course, there's a cost there.

There's no right answer, and you'll probably end up using a combination of these.

The only thing to keep in mind: there's also no *fast* answer. If you're completely new to this, it's going to take some time. And there's going to be some struggle. And that's fine, and everyone goes through it, but it requires some patience and self-determination. The resources are out there, you just have to be willing to put in the time.
Logged

Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic