Total Begginer needs lot of advice

Started by
12 comments, last by Craticus 7 years, 11 months ago

Hey guys..

As the title says im a total n00b and need a bit of direction before I jump in :)....

first things first the distant goal is make a heavily story based game, I would love to go "point and click" but I think that's a bit far off in future, so to start im thinking of going down the visual novel road, I've spent about 2 months solid researching all things game dev and if one thing sticks out it's that your ideas are always way to big, so scale em back lol

The next thing is while im not totally against the idea I would rather not use one of the many VN engines out there, WHY? because I don't just want to make a story driven game I want to learn how to code properly while doing it, yes I could DL once of these VN engines like ren'py and maybe have something half way there within a week, its stupidly easy so I hear, BUT I wont get any knowledge of coding a game from scratch, I purposefully scaled back my idea's so I could go down this route...

so with that in mind Ive hit a bit of wall on my next step... the language....

ive not done any coding before, im self taught in HTML but nothing in regards to programing languages. I did a few days leaning C++ but while learning I was also researching the language and ill be honest its depth scared me off LOL.... im not looking to go that deep TBH.. and while C++ is a very powerful language I don't think im going to need anything that powerfull for where I want to go, im not interested in highly complex games, if my wildest ideas where to come true now creating something along the lines of the "broken sword" series would be incredible, and yes I fully understand something like that is still not "simple" :D....

So after my dabble with C++ (and really enjoyed it although I only created a very simple calculator) I decided maybe C++ would be to deep latter on down the road when the learning curve sky-rockets, one thing I did learn I wanted tho was, what ever I learn I want it to be object oriented so I went back the drawing board... I have always dismissed java for some odd reason, but in my research I narrowed it down to roughly C#/java... and I think im pointing more to java which has surprised me TBH, but the very little I did in C++ java seems very much like it, I find it very logical in its syntax which I like a lot, speaking of logical, I also learned that object oriented programming requires logical thinking, im very logical in how I think so the learning ive done on how object oriented programming works has come very easy to me (so far) and I like the way it works a lot....

So right now im really thinking about jumping into java. why? its cross platform, higher level than C++, a little more productive that C++, easier to learn that C++ due to its higher level, has huge amounts of library's...

as I say with the road I want to take in regards to visual novel with the idea of going point and click latter on I would rather not go down the engine route, say unity/UE4, ive read some teams going down this route with such games and a lot say they feel like that are swatting a fly with a shotgun and I still would be missing out of the coding experience of writing from scratch...

So this is where I get sketchy... am I wrong here??? would I be better learning C# and going down the unity route? am I bitting off more than I can chew by thinking of going down the java path and writing from scratch?

with the above in mind how difficult would it be to program a simple visual novel? im NOT expecting to do a few tutorials in what ever language and go for it, I know im going to need experience in smaller projects and im fully accepting of that truth, but am I still thinking to big and going to need atleast 4 yrs XP before im ready to think about coding such a thing...

In the longer view how difficult is a simple 2D point and click to take on? on another level? is it worth aiming for considering my current position or am I living in dream land?....

finally with what I want to do would you advise java or am I looking down the wrong path here...?

sorry for the wall of txt but I wanted to try get across where I am and need to know that im making the right choices before I jump head first into this im 35 now and time is running out LOL... any advice would be greatly appreciated

Best Regards

Rick

Advertisement

Hello.

Imagine that you want to live in your dream house. You have a few options:

1. You could go into the forest and cut down trees to build tools to cut the trees into perfect wooden planks so that you can build your dream house.

2. You could go to a hardware store and buy both tools and pre-cut wooden planks to build your house.

3. You could buy a house and renovate it.

4. You could search all over the world and find your dream house has already been made and purchase it.

I think backwards. If it is already built, I just buy it. For example, if there is a game out already that was in my head, I play that game and I enjoy whatever entertainment I sought.

I could use templates and hack them to fit my needs.

I could use frameworks and libraries.

I could build something from scratch.

Get a good idea of what you want to do. Find the best way to do it (I like the easiest and fastest myself). Then, learn the languages or tools you need to learn in order to make your dream game. No need to build it from scratch when there are tools that already exist to help you build your idea.

And if you need a bit of help:

https://github.com/TutorialDoctor/Software_Development

They call me the Tutorial Doctor.

Visual novels are among the easier types of game to program, largely because they are more "on rails" in terms of design and are less complicated than other games. I think that it is absolutely an achievable goal for a first "major" project, by which I mean I think that you can make a VN rather than Pong or something similar. It is not a good project for introducing yourself to the language or to coding more generally.

Point-and-click isn't that much harder but I would still recommend the VN first, as you've planned. Point-and-click can be an expansion on the skeleton you develop for a VN.

I think that Unity is overkill for that specific type of game, although it will do what you want if you choose to use it. From what you listed as your goals, I think that C# along with SFML would be a good route. Java would also be fine, I just happen to like C# more

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~

Tutorial Doctor.... thx for your reply and please accept my apologies as I accidently down voted your post instead of up voting :( im new here ok :D.. very sorry if I can edit that please tell me how :)...

thx for the advice, and while I agree to a certain extent but this is not just a "I want to make a game" post.. if that was the case I would happily use one of the many simple game engines out there designed to create games like im looking to do, but I don't JUST want to make a game, I want to learn how to code and be in total control of what I want while creating it, considering I want to do a story heavy game I don't even have an idea ready in the story department yet, that part is the easy part, I have bigger problems right now and that's learning a language lol, that's why I don't want to use an engine (especially VN engines) yes they would make creating a game a LOT easier, but im not looking for "easy" and have a game up and running ASAP, I want to learn to code along with it so I can grow my ideas as my coding knowledge grows.... if that makes sense lol,,,

Khaiy....

some great info there thank you!... awesome to know that VN would be possible out the gate as you say instead of a pong or something, that's awesome, although im still going to do those things (pong and other small programs) so I get experience in other area's of coding and the language as a whole, if I go strait into the VN idea I will be spending valuable time in art/music/story rather than learning vital concepts in coding... that's my take on it anyway LOL.... basically im not in any rush to get a game out ASAP weather that be a VN or a point and click, the learning to code is the main objective, I just want to use that knowledge latter on to create these types of games

also good to know my plan on expanding latter to point and click is also achievable, I wasn't expecting that, BUT I understand we are then adding a lot more into the mix with coding the grafix and stuff, so right now im a good ways off but its good to know my plan holds water and im not dreaming my silly head off lol....

although you say a VN is doable pretty early on you also say and I quote

"It is not a good project for introducing yourself to the language or to coding more generally."

could you expand on this??? why is this? because there isn't a lot of stuff involved in such a venture and I would be missing out on lots of important aspects? if this is the case would my plan to do lots of small games like pong and the like be a good idea before I went actually doing the VN thing to experience in other areas?

also thx for the info on unity, on how it will do what I want but maybe an overkill for my goals, ive read a post on these very forums about this, and im getting more pleased with my choice to leave the whole engine idea alone, things like these engines take it for granted that you already know how to code and do a lot for you, so while awesome they would be doing a lot of things for me that I need to learn! and that just sounds counter productive to me considering my goals... maybe if at a latter date when im a coding god (cough!) and I wanted to do something a lot more complex then unity/UE4 would be a great idea, but for where I am now and what I want to do I think im making the right decision...

sorry for the questions people LOL... any more advice would be much appreciated

Tutorial Doctor.... thx for your reply and please accept my apologies as I accidently down voted your post instead of up voting :( im new here ok :D.. very sorry if I can edit that please tell me how :)...

I've up-voted it to cancel your accidental down-vote.

Hello to all my stalkers.

Tutorial Doctor.... thx for your reply and please accept my apologies as I accidently down voted your post instead of up voting :( im new here ok :D.. very sorry if I can edit that please tell me how :)...

I've up-voted it to cancel your accidental down-vote.

Thank you for that!.. much appreciated

No prob about the down vote. You are on the right track though.

I learned programming concepts using Python with Pythonista (an IOS IDE on the iPad). From learning the various libraries included with Python, that lead into other areas of programming (networking, databases, regular expressions etc.), all of which are topics used across the board. That lead to research in web development for a little while. I eventually found the Godot game engine which uses a scripting language based on Python (perfect!). This engine can also be extended using the C++ programming language (great for getting more in-depth programming experience). An easy intro to C++ programming with this engine is making extensions. I could also use Python to make plugins for Blender 3D.

My next goal is to learn Ruby for web app development with Ruby on Rails and also for building plugins for Trimble Sketchup. All of these skills will be useful in creating content that I believe in. The story goes on. The best to you in your pursuits.

My github repo gave me writing experience and got me a job as a technical writer.

I have no college education.

They call me the Tutorial Doctor.

although you say a VN is doable pretty early on you also say and I quote

"It is not a good project for introducing yourself to the language or to coding more generally."

could you expand on this??? why is this? because there isn't a lot of stuff involved in such a venture and I would be missing out on lots of important aspects? if this is the case would my plan to do lots of small games like pong and the like be a good idea before I went actually doing the VN thing to experience in other areas?

Sure. There are things you need to learn about programming to make anything at all, things like syntax, variable types, design ideas, etc. There are a lot of them and they are kind of fussy to learn but they really matter. Small projects, on the scale of tech demos, are good for learning these things and gaining an understanding of how they work. When people want to make a game, they generally have in mind something that will require some higher-order knowledge which doesn't depend much on the language you're using, like how to work with game states, transition between scenes, handle input, and on and on. You need the earlier programming knowledge to be able to build those higher-order systems, and especially to build them well. It doesn't work very well to jumble the order around.

Anything you're thinking of as a game you want to make is almost certainly beyond your skills as a beginner (this is true of everyone, not just you) and it will likely be frustrating to work on it right away. Learn the language a bit first, then start building specific components of a project that is a radically scaled down version of what you ultimately want. So developing some C# skills first (if you choose C#), then learning how to make a text-only story in a console window, then adding a player input piece, then making a larger story with player choices sounds like a reasonable sequence to me. And one that will help keep you from getting ahead of yourself. After that you can dive into bigger topics like how the game code should be structured (game states, saving and loading progress, etc.), graphics (with SFML or whatever you decide to use), and other topics that will lead to the game you are imagining.

That's the same reason I'm recommending point-and-click for later-- you'll have to cover the same material as you would need for a VN, plus more. There's no reason not to build up to it. Pong is a fine project, but you won't learn much from it that you can apply to the game types you are interested in that you won't learn from a VN. I suggest a progression that starts with making a very small, simple VN, and then expanding on it rather than moving to a similarly large, complex project that has little to do with what you want.

It's generally true of programming, and especially for beginners, that a project is bigger and harder and more complicated than you predict it will be and the only realistic measure of whether or not you can do something is whether or not you've already done it.

-------R.I.P.-------

Selective Quote

~Too Late - Too Soon~

Tutorial Doctor.... thx for your reply and please accept my apologies as I accidently down voted your post instead of up voting :( im new here ok :D.. very sorry if I can edit that please tell me how :)...


I've up-voted it to cancel your accidental down-vote.


I've up-voted it to add your original up-vote!

although you say a VN is doable pretty early on you also say and I quote

"It is not a good project for introducing yourself to the language or to coding more generally."

could you expand on this??? why is this? because there isn't a lot of stuff involved in such a venture and I would be missing out on lots of important aspects? if this is the case would my plan to do lots of small games like pong and the like be a good idea before I went actually doing the VN thing to experience in other areas?

Sure. There are things you need to learn about programming to make anything at all, things like syntax, variable types, design ideas, etc. There are a lot of them and they are kind of fussy to learn but they really matter. Small projects, on the scale of tech demos, are good for learning these things and gaining an understanding of how they work. When people want to make a game, they generally have in mind something that will require some higher-order knowledge which doesn't depend much on the language you're using, like how to work with game states, transition between scenes, handle input, and on and on. You need the earlier programming knowledge to be able to build those higher-order systems, and especially to build them well. It doesn't work very well to jumble the order around.

Anything you're thinking of as a game you want to make is almost certainly beyond your skills as a beginner (this is true of everyone, not just you) and it will likely be frustrating to work on it right away. Learn the language a bit first, then start building specific components of a project that is a radically scaled down version of what you ultimately want. So developing some C# skills first (if you choose C#), then learning how to make a text-only story in a console window, then adding a player input piece, then making a larger story with player choices sounds like a reasonable sequence to me. And one that will help keep you from getting ahead of yourself. After that you can dive into bigger topics like how the game code should be structured (game states, saving and loading progress, etc.), graphics (with SFML or whatever you decide to use), and other topics that will lead to the game you are imagining.

That's the same reason I'm recommending point-and-click for later-- you'll have to cover the same material as you would need for a VN, plus more. There's no reason not to build up to it. Pong is a fine project, but you won't learn much from it that you can apply to the game types you are interested in that you won't learn from a VN. I suggest a progression that starts with making a very small, simple VN, and then expanding on it rather than moving to a similarly large, complex project that has little to do with what you want.

It's generally true of programming, and especially for beginners, that a project is bigger and harder and more complicated than you predict it will be and the only realistic measure of whether or not you can do something is whether or not you've already done it.

once again AWSOME advice, thank you so much, you have made things a lot clearer on the direction im going... and probably saving me a ton of time too... thank you for that...

I know you said your mainly a C# programmer so I accept your going to be slightly biased here, but whats your thoughts on going with java? is the language capable of such things and run them smoothly and get a good end result? I dunno, im worried about what ever I learn handling the animation smoothly, (I have no foundations for such concerns but there ya go LOL) is java harder to code games and more to the point games like im looking to do point&click / visual novel....

ive explained my thoughts and issues with going C++ (maybe a bit to low level for what im going to need) so im looking at C#/java so far im really liking the look of java atm, don't ask me why I just feel very at home with its syntax (even though ive only watched a few hours worth of tutorials)... i guess im just worried about learning a language only to find out its not the more than capable of doing what i want.... as i say the distant goal is to do something like the old broken sword / runaway: a road adventure and the monkey island games.... i know its not possible for me even with years of XP to hit that kind of level but is java capable of doing it?

thanks again so much!! and anyone else with any views on this please don't hesitate to throw your hat in the ring :D

thx once again

regards

Rick

This topic is closed to new replies.

Advertisement