Best Program & Tools For Beginner

-FlavorTown-

Newbie
Aug 2, 2017
95
97
I'd like to start learning about game development but have little to no programming knowledge. My concept for my 1st game is a point and click style adventure game with a turn based rpg system (not planning on doing random enemy encounters). Art will be 2d and possibly pixel sprites for npc characters. From my research Ren'Py or Unity sounds like the best way to go for my needs but I'm not 100% sure. Any tips or suggestions on getting started?
 
Last edited:
Oct 13, 2018
27
32
Look up Godot. Open source is the future.

Do you already know how to make the art you want?

Godot or unity is easy for the game you're describing, and there are plenty of tutorial on YT for that kind of thing. You will need to learn some python, but it's a very easy language.
 
  • Like
Reactions: -FlavorTown-

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,967
16,215
Any tips or suggestions on getting started?
Yes, choose the tools that you understand.
As powerful as it can be, a software is nothing in the hands of someone who don't understand what he's doing with it.


Godot or unity is easy for the game you're describing, and there are plenty of tutorial on YT for that kind of thing. You will need to learn some python, but it's a very easy language.
Learning Python for Godot or Unity ? Why that ?
 
  • Like
Reactions: -FlavorTown-

GNVE

Active Member
Jul 20, 2018
724
1,185
Once you decide on an engine that can make your game. Don't dive straight in but do a programming beginner course.
Python is the easiest to learn but it is useless for Unity or Godot. Ren'Py is easy to learn and can do what you want it to do from your description. Though it is a little more advanced than the click through VN most people make.
The biggest thing is to make your first game very small. (even smaller than you are thinking now). The best first game is a completed first game. You don't start writing a book in Malay when you only know how to say Hi in that language. The same is true for game development.
When starting out you are going make giant game stopping mistakes. Sometimes it'll end a project. Ending a project that is a week of work is a lot easier than having to throw away months or years of work and essentially having to start over.
 

-FlavorTown-

Newbie
Aug 2, 2017
95
97
Look up Godot. Open source is the future.

Do you already know how to make the art you want?

Godot or unity is easy for the game you're describing, and there are plenty of tutorial on YT for that kind of thing. You will need to learn some python, but it's a very easy language.
Thanks. I'll check it out. Art/writing is the only thing I'm decent at. I'd utimately like to make a game that has mod support someday but I know that's too ambitious for me atm.
 

-FlavorTown-

Newbie
Aug 2, 2017
95
97
Once you decide on an engine that can make your game. Don't dive straight in but do a programming beginner course.
Python is the easiest to learn but it is useless for Unity or Godot. Ren'Py is easy to learn and can do what you want it to do from your description. Though it is a little more advanced than the click through VN most people make.
The biggest thing is to make your first game very small. (even smaller than you are thinking now). The best first game is a completed first game. You don't start writing a book in Malay when you only know how to say Hi in that language. The same is true for game development.
When starting out you are going make giant game stopping mistakes. Sometimes it'll end a project. Ending a project that is a week of work is a lot easier than having to throw away months or years of work and essentially having to start over.
Thanks that's good advice. I considered just hiring a programmer but I'd also like to learn how to do it myself as it's a usefull skill to have and can transfer to other fields outside of game development like mobile apps and web design. Would learning python be a good start for a beginner or is it becoming a bit outdated? If so where would be a good place to start and what would be a good place to go for the future? What are some traits & skills that make for a good programmer? Patience, good math skills, attention to detail?
 

-FlavorTown-

Newbie
Aug 2, 2017
95
97
Yes, choose the tools that you understand.
As powerful as it can be, a software is nothing in the hands of someone who don't understand what he's doing with it.




Learning Python for Godot or Unity ? Why that ?

Understood. Is picking the right program for the type of game I want to make just as important? I could make an rpg with a program like Ren'py just like how I could drive in a nail with a rock instead of hammer. One may be more optimized to get the job done but if I'm better at using a rock then is that all that matters? What program would you recommend to start with?
 

GNVE

Active Member
Jul 20, 2018
724
1,185
Thanks that's good advice. I considered just hiring a programmer but I'd also like to learn how to do it myself as it's a usefull skill to have and can transfer to other fields outside of game development like mobile apps and web design. Would learning python be a good start for a beginner or is it becoming a bit outdated? If so where would be a good place to start and what would be a good place to go for the future? What are some traits & skills that make for a good programmer? Patience, good math skills, attention to detail?
Well the most important thing for choosing a programming language to start learning one you'll use. If you want to make a website it is better to start with HTML/CSS, If you want to make a game in Unity or Godot start learning C#, Ren'py learn python.
That being said I found Python to be the easiest to understand from the programming languages I have tried. Python was made to be human readable and that shows. They are also not afraid to break code to keep it easily understandable (python 2 to python 3 was a whole thing) while Excel for instance has bugs in the program since the 90's that were left in intentionally because some data sheet made decades ago might break. Both approaches are valid and depending on the use case and design philosophy. (SQL has similar functions that should not be used because they don't do what they should do).

I've read articles declaring the death of python for a couple of years but right now it is one of the most used programming languages so I don't see it dying out any time soon. (Especially since it is used quite a lot in science by people who are biologist/astrophysicist/psychologist first programmer second and the languages that are foretold to replace it have a steeper learning curve).

To start learning I did a course on Udemy that really helped me get my bearing. As for what makes a good programmer I don't really know. I just dabble for making VN's

Understood. Is picking the right program for the type of game I want to make just as important? I could make an rpg with a program like Ren'py just like how I could drive in a nail with a rock instead of hammer. One may be more optimized to get the job done but if I'm better at using a rock then is that all that matters? What program would you recommend to start with?
It is important to a degree. Some engines are very focussed for making one product and only that product. If you try to make a vampire survivors clone in RPG maker you're going to have a bad time (if it is possible at all). It is just a bad fit between what the engine is made for and what you are trying to make it do.
Other engines are very generalized and can do almost all games but its like jumping into the deep end of the pool while you are a bad swimmer. Yes what you can do is almost unlimited but where do you even start.
You probably want an engine that is relatively focussed on the game you are trying to make and is easy to use. You can always generalize later on. From what I understand knowing one programming language helps when learning a second one. (I even noticed my knowledge of excel formulas helped me learn python as I already understood how to think in a way you need to program more generally).
 
  • Like
Reactions: anne O'nymous

Network 34 Games

Developer of The Accidental Master
Game Developer
Aug 19, 2019
355
656
How is it you are intending to produce the art itself? You said 2D imagery so I think it would be pretty safe to assume that you'll need the Adobe suite (photoshop, After Effects, Premire, Audition etc) to make your assets.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,967
16,215
Is picking the right program for the type of game I want to make just as important?
It's also important, of course but, globally speaking, the kind of game you want to make can be done with most game engines. Some are better fitted for this, but the others still can do well.


I could make an rpg with a program like Ren'py just like how I could drive in a nail with a rock instead of hammer.
You would have as much difficulties to do it with Unity or Godot.
While not being strictly a RPG, Lust Hunter is the demonstration that you can perfectly have a map system and a clothes/equipment system, with Ren'Py. And it's so badly done, that it also prove that you can do this in a good enough way without having coding knowledge. This last part being way less true for Unity. And even more for Godot, since Unity have tons of frameworks and templates to help you.
For a JRPG-like combat system, look on the side of Sakura Dungeon or Planet Stronghold 2. And both are games made with old versions of Ren'Py, it would be a bit easier nowadays.

This being said, I second GNVE, whatever the engine you choose, since you have near to no coding knowledge you'll have to starts with something small and less ambitious first.
And once again this apply even more for Unity and Godot than for Ren'Py. This because despite all the frameworks and templates you can find, they'll need a lot more of coding from your side than Ren'Py.


One may be more optimized to get the job done but if I'm better at using a rock then is that all that matters?
The only game engine optimized to get the job done is RPG Maker. But it's optimized to get the job done, not to have an optimized game that will be flawless and accurately fit what you want to do.
Whatever Unity, Godot or Ren'Py, all are more generic. The first twos will give more optimized result if your code isn't a total none optimized mess, but way more pron to bugs. You'll never be able to make a "pixel move" RPG with highly animated environment and characters with Ren'Py, but the more static version you'll be able to do with it will need less knowledge, and be less prone to bugs, that an equivalent with Unity or Godot.


What program would you recommend to start with?
I already answered this, the one you feel at ease with.

Would I be totally honest, I would even answer Visual BASIC, or even goes back to MSWLogo... It wouldn't at all let you do the game you want, and would be a pain in the ass for a game (that you wouldn't even be able to do with the second), but it would teach you coding basis.
But, well, all Ren'Py games available here tend to prove that it's a step that can probably be skipped.
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,967
16,215
[Edit: hmm, sorry for the double post]
That being said I found Python to be the easiest to understand from the programming languages I have tried. Python was made to be human readable and that shows.
One of the reason being that it was partly intend as substitute for Pascal as teaching language. Fixing its main flaw that was its outdated internal structure that made it more difficult to read and understand, while including modern paradigms (mostly Object Orientation, but not only) right from the starts.

I have to admit that, while I was mostly disliking Python years ago, all those years having to use it with Ren'Py, and having to help people fix their issues, made me change my mind. I still find it way too rigid for my own taste, but this rigidity is also its strength for people who are starting and don't necessarily want to reach a high level of knowledge.


I've read articles declaring the death of python for a couple of years but right now it is one of the most used programming languages so I don't see it dying out any time soon.
I second this. For Python to die, it firstly need that someone come up with a better generic language. And this have yet to happen.
There's better languages, but they are all task focused. Therefore they can replace Python on one field, and on it only. You talked about science, there's language that are way better for biologists or astrophysicists. But those guys had some Python courses in class, and it's good enough for what they are doing. So they continue to use it, because it's better than learning something new that they'll use without being totally sure if they get the right results, or if they messed their code.


As for what makes a good programmer I don't really know.
A twisted mind and years of practical experiences (read "a lot of failure with some success") ; one not going without the other.
You can be a good academical programmer right out of school, but to be effectively good you've to rely on your twisted mind in order to get from your experience the small parts of knowledge that will make you do marvels.


From what I understand knowing one programming language helps when learning a second one.
Totally.

It don't always works (knowing Assembly language don't help learning another one, and vice-versa ; yet ASM and BASIC is should works), but globally speaking all languages follow the same logic and tend to share a lot of keywords. So, while the way to use it can change, you already have a part of the knowledge.
And all languages tend to share the same structure. You declare a function/method/whatever by using a dedicated keyword, providing a name, then giving a list of parameters. How you'll do it will differ (C need that you specify the type everywhere, other languages can even make the list of parameters optional) but the structure and logic stay. And this, you already know it.
Then, the more languages you know, the easier it become to learn a new one, because you'll encounter more and more "oh, it's like in that other language" cases.
 
  • Like
Reactions: GNVE

-FlavorTown-

Newbie
Aug 2, 2017
95
97
I know the reply is late but wanted to say thanks to everyone for the good advice. I put in some extra research and I decided to start with C# and possibly python later down the road but C# offers me a lot more utility. Thanks again peeps