Sign in to follow this  
Craticus

Total Begginer needs lot of advice

Recommended Posts

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

 

 

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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   

Edited by Craticus

Share this post


Link to post
Share on other sites

 

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

Share this post


Link to post
Share on other sites

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.

Edited by Tutorial Doctor

Share this post


Link to post
Share on other sites

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, [i]plus more[/i]. 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.

Share this post


Link to post
Share on other sites

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! Edited by Tanay Karnik

Share this post


Link to post
Share on other sites

 

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

Edited by Craticus

Share this post


Link to post
Share on other sites

... 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....

 

 

Ofc. Java is capable of it, e.g. take a look at this

 

I like your down-to earth approach, you seem to pay respect to learning a programming language and don't take it too lightly.

Reading through your posts, it almost seems like you overanalyze and respect/fear it too much.

 

The thing with programming languages is - its not like you learn just one language and thats it, its over, you wont take a look at any other language.

Java IS one of the best languages to start with imho.

Once you master the language, which in itself is not that hard, there are just a few concepts you need to understand and learn the grammar of the language, all that is left to do is polish your design and problem solving skills, which is language agnostic.

 

Once you learn and become fluent in any programming language, it takes little to no time to learn another one. The concepts stay the same. The only thing that changes are miniscule (like grammar - takes one max 1 week to learn and max 3 weeks with a simple project to master).

Then there are few different programming paradigms but they wont concern you any time soon. I'd even say if you embark on a professional route, you will be fine.

 

Take a look at tiobe index, java is #1- For many years now java has either been #1 or at least top 5. So, in a few years, if you lose interest in gamedev you will have aquired a tool (programming language java) which you can use and earn money with.

Anytime I think of java, all that comes to my mind is that: its an easy language, its clean, its object oriented, its platform independent. Sure, its an interpreted language (instead of native [machine code]) and therefore a bit slower but there is JIT for that.

If you are not working on realtime systems where micro/nano seconds matter, you practically wont have any issues with java. And once you run into issues, you will be at a stage in your development, where you will easily pickup any other language.

Transitioning or picking up C / C++ after java will be very easy. Language wise they differe here and there and some concepts are different but overall, it will be easy, Id say. Well, Im only talking about my experience here.

 

Java, C++, Python - they rule!

Share this post


Link to post
Share on other sites

C# and Java are about as similar as two languages can get, and the differences between them may feel rather arbitrary for the early stages of learning the language. I learned C# first and making a game in Java has since been mostly a matter of determining what the syntax equivalents for C# methods are. There are some nuances that make C# more attractive to me (the ability to pass by reference, for example; edit: to be more clear, Java passes references by value, whereas C# passes references by reference), but I'm not sure how necessary I would feel that was if I had learned Java first. 

 

Ultimately, choosing between those languages is not going to be one of the more important choices in your life, and, if you like programming, it won't be the last time you choose which language to learn. They're both capable and they both do a lot of things, some things better than others, but they won't be the limiting factor on what you can accomplish with them for, probably, a very long time.

Edited by NoAdmiral

Share this post


Link to post
Share on other sites
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....

 

If you are attracted to Java, regardless of the reason, then go with Java. It's more than capable of making the kinds of games that interest you and has a reputation (deserved, from what little I know of it) for being forgiving for beginners. As the posters above me said, if you later decide to learn another language it will be easier with Java under your belt, and that's especially the case for C# because they have so many similarities. Don't let the choice between C#/Java stress you out at all-- either will do everything you need them to do.

Edited by Khaiy

Share this post


Link to post
Share on other sites

can I just say a big thank you to all of you guys taking time to reply here, its helped me massively, I wont quote you all on your points as we would be here all day lol, I think I just need to get my head down now learning this, seems like java is a safe bet for your first language and can handle what I plan so I think I need to stop walking around in circles and just get on with it now lol...

 

oneeeeeeeeeeeeeeeeeee problem tho :D... I have found that java don't like pre rendered scenes very much playing videos/cutscenes that kind of thing which is a slight concern but i'll cross that bridge when I come to it..

 

thx once again for all your help guys...

 

ill be back... trust me ... LOL

 

regards

 

Ricks

Share this post


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

Sign in to follow this