Advertisement

Being realistic...

Started by January 05, 2016 04:06 AM
29 comments, last by Brain 8 years, 11 months ago

I really appreciate your time and writing this. I read it twice, just to be sure I understood everything as it was intended.

I was hoping not to see some (if not most) of the things your wrote, but I guess I knew it was coming. Being realistic is a hard thing to do, and so painful, too!

Look, the first thing you need to remember is this: Game development is hard work. A lot of it. Its an unforgiving market for games, and way to many people want to work on games.

So, there really is no easy way in, and working in the field also does not seem to be easy. Reality is, yes, creating the game you dream of is completly realistic, it could even be done by yourself alone given enough time.

But as Tom put it much better than me, this all comes at a price, and the end result might not lead to the money and fame you think of.

If being a game dev is such a big dream of yours, make it a reality. Just be realistic about your career goals (becoming lead developer ONE DAY is completly feasible... but you will have a long way to get there), and about what you can expect out of it (lots of work, working late, banging your head against the wall for little pay and a high risk of failure, but a lot of wonderful new things to learn, the occasional big success when something works against all odds, the smug feeling of doing something others think is "impossible").

If this really is such a big dream, and you are ready to work hard on making it a reality, do the most sensible thing, and PLAN ahead. What is your goal, what is your preferred way to get there?

You can "just do it", pick up programming and art learning of the internet and starting to create small games and concepts yourself... this will take a lot of time, and of course there is a limit to what you can do alone, but if you stick to it, you will get much farther than you ever imagined. End goal could be to build up your own Indie studio, and make enough money with it to survive.

You could go back to school if you have the time or money, and become a programmer or artist, trying to get into the industry and work your way up. You could also try the level design / game design route, might be harder to get your first job though.

You could try to learn the skills needed to be a programmer or artist by yourself, and aim for a freelancer career. Maybe, one day, you might be able to make the transition into a studio and get a job?

For the second and third option, you might not NEED to learn programming or art. There are many other positions that could get you into the industry (HR, finance, management), though, which of these are actually entry level jobs IDK. Game designer is not normally, though level design or QA might be, depending on the studio...

Be aware that the Skillset expected from a Game Designer is less clear cut than with other positions, and might include basic programming and art skills. A Level Designer will be expected to have basic programming skills for level scripting, and has to be able to use an engine level editor. Might also be expected to have basic art skills, for concepts and level design (color theory, compositions, IDK).

Getting into the industry without art or programming is possible, though less easy. But there are certainly positions where you are not expected to be a specialist in either of these things.

None of the above is as "easy" as going through college, and finding a job as a <insert boring office job here> in a <insert established industry here> when you are still "young and dynamic" (or seen as cheap labour, to put it in less nice words). If it is worth the hassle, hard work and sacrifice in money and job security depends completly on you.

There is also RTS engines available.

Try

https://springrts.com

or

I've heard Glest is moddable.

But I agree that spending a ton of cash on a first project is a waste. The games industry is a rough industry and with all the indie games available nowadays its easy for a title to get lost among the crowd. You have a good job which pays well, if I were you I'd use that to make my ideas come to life.

Work hard is the first piece of advice I'll give. The second is have you considered posted in the hobby help wanted ads to get a team together? But in all seriousness look at spring RTS engine and see if it is moddable to the point to prototype your idea. Or make an ad asking a programmer to evaluate such things for you. Look at the about page on there website and scroll towards the bottom... theres a section labeled content creation.

Good luck.

-potential energy is easily made kinetic-

Advertisement

I want to be a lead designer of a [snip] development team [snip]


It all boils down to this, does it not? I boiled the rest of the words away into vapor.

Some of your words that I snipped were that you want to be part of "a great development team which makes the best games ever made." There are 2 ways of doing that - indie, and "job." Is it fair to assume that you're shooting for the former, and not the latter?

Yes, it is fair to assume so.

I'm not interested in working for somebody, that's for sure. My goal would be to have my own studio.

I really appreciate your time and writing this. I read it twice, just to be sure I understood everything as it was intended.

I was hoping not to see some (if not most) of the things your wrote, but I guess I knew it was coming. Being realistic is a hard thing to do, and so painful, too!

Look, the first thing you need to remember is this: Game development is hard work. A lot of it. Its an unforgiving market for games, and way to many people want to work on games.

So, there really is no easy way in, and working in the field also does not seem to be easy. Reality is, yes, creating the game you dream of is completly realistic, it could even be done by yourself alone given enough time.

But as Tom put it much better than me, this all comes at a price, and the end result might not lead to the money and fame you think of.

If being a game dev is such a big dream of yours, make it a reality. Just be realistic about your career goals (becoming lead developer ONE DAY is completly feasible... but you will have a long way to get there), and about what you can expect out of it (lots of work, working late, banging your head against the wall for little pay and a high risk of failure, but a lot of wonderful new things to learn, the occasional big success when something works against all odds, the smug feeling of doing something others think is "impossible").

If this really is such a big dream, and you are ready to work hard on making it a reality, do the most sensible thing, and PLAN ahead. What is your goal, what is your preferred way to get there?

You can "just do it", pick up programming and art learning of the internet and starting to create small games and concepts yourself... this will take a lot of time, and of course there is a limit to what you can do alone, but if you stick to it, you will get much farther than you ever imagined. End goal could be to build up your own Indie studio, and make enough money with it to survive.

You could go back to school if you have the time or money, and become a programmer or artist, trying to get into the industry and work your way up. You could also try the level design / game design route, might be harder to get your first job though.

As I mentioned above, I am not interested in pursuing a job, just to be in the industry. Maybe if I was 18 years old, it would be an option, but being almost 33 years old and having a good career definitely changes things a bit.

So, the only way that would make sense to me would be, signing up for Game Development programs at Columbia College here in Chicago. They have a really nice selection.

Also, I could start learning a programming language.

Bottom line is, I am not willing to drop my current career just to work in a game industry. I can spend the money I make now on learning things which I really need.

I did a little research and it seems that experienced programmers say to learn Python first, since I have no coding experience.

Then, why do they say Python, if nearly no one even uses it for production games? At what point do I stop with Python and switch over to something more complex (C or C++)?

I guess I am looking for the most efficient way of even having a crack at making it happen. Apparently, without knowing how to code, I can forget about the whole deal. Thing is, what if I spend 2-3 years learning how to program and I still won't be able to make a game (which will most likely be the case). All this money and time, absolutely wasted. Sure, hiring a programmer will not give me the exact results, but neither will my weak programming skills even after spending who knows how many years learning.

There is also RTS engines available.

But I agree that spending a ton of cash on a first project is a waste. The games industry is a rough industry and with all the indie games available nowadays its easy for a title to get lost among the crowd. You have a good job which pays well, if I were you I'd use that to make my ideas come to life.

I think finding the right engine will be the least of a problem. It's the fact that I personally can't do anything with it. It would have to be the person I hire, in this case, a programmer.

This engine does not fit what I would need it for, but thanks for the link.

Now, how would you use the money to make your ideas to life?

I'm not interested in working for somebody, that's for sure. My goal would be to have my own studio.


Okay. Then, given all the foregoing, the answer to your initial question is: no, it's not realistic.

-- Tom Sloper -- sloperama.com

Advertisement

Then, why do they say Python, if nearly no one even uses it for production games? At what point do I stop with Python and switch over to something more complex (C or C++)?


Learning programming languages is MUCH easier than learning a new natural language like Japanese or English. Most programming languages have VERY few rules to remember, and almost no exceptional cases to memorize. IDEs and compilers can quickly tell you when you're wrong and often suggest fixes. They're designed to avoid the stupid inconsistencies that natural languages have. They are all based off of the same core ideas, and this makes it very easy to switch once programming "clicks" for you.

Recommending Python instead of C++ is based out of complications specific to C++. When you learn C++, there are a lot more occasions where you be on a roll, learning something, and then a tedious detail of C++ (usually a compile/link/template issue) rudely interrupts your train of learning. This doesn't happen as often with languages like Python or C#, which is why lots of people recommend starting with those languages. It's easier to learn if you don't have to stop and fight with the language.

Different languages come into favor or fade into twilight over time. COBOL used to be a Pretty Big Deal, Way Back When. You don't hear about it much lately. Luckily, unless you plan on being a full-time professional programmer, you don't have to invest "all-in" with any single language. Most of your knowledge will lie not in the language details but in the *strategies* you use when you convert your ideas to code. It's like ordering a hamburger in English or Japanese. Once you know what to do, actually doing it is the easy part. This makes it easier to adopt different ones as time pass.

Then, why do they say Python, if nearly no one even uses it for production games? At what point do I stop with Python and switch over to something more complex (C or C++)?


Learning programming languages is MUCH easier than learning a new natural language like Japanese or English. Most programming languages have VERY few rules to remember, and almost no exceptional cases to memorize. IDEs and compilers can quickly tell you when you're wrong and often suggest fixes. They're designed to avoid the stupid inconsistencies that natural languages have. They are all based off of the same core ideas, and this makes it very easy to switch once programming "clicks" for you.

Recommending Python instead of C++ is based out of complications specific to C++. When you learn C++, there are a lot more occasions where you be on a roll, learning something, and then a tedious detail of C++ (usually a compile/link/template issue) rudely interrupts your train of learning. This doesn't happen as often with languages like Python or C#, which is why lots of people recommend starting with those languages. It's easier to learn if you don't have to stop and fight with the language.

Different languages come into favor or fade into twilight over time. COBOL used to be a Pretty Big Deal, Way Back When. You don't hear about it much lately. Luckily, unless you plan on being a full-time professional programmer, you don't have to invest "all-in" with any single language. Most of your knowledge will lie not in the language details but in the *strategies* you use when you convert your ideas to code. It's like ordering a hamburger in English or Japanese. Once you know what to do, actually doing it is the easy part. This makes it easier to adopt different ones as time pass.

Very interesting. So, let me ask you this. If you had to guess, or perhaps if you know this for a fact... Given three years of total learning, one person starts out with Python for say, 1 year and then switches over to learn C++ for another two years. Another person starts out with C++ as a first language and spends the entire three years learning it. Both guys are beginners. Who would be better off in the end and why? Let's keep in mind, game programming is the main focus here.

I'm just trying to figure out what will be the most efficient way for me to learn this. I really don't want to waste time on language which I won't even use later on, especially if it will not help me in any way.

Your reply is much appreciated.

The person learning both languages will be better off because they've seen a wider variety of concepts. Python and C++ are different enough in how they approach things, showing you totally different programming strategies that you may not have thought of if you had only used one.

As I mentioned above, I am not interested in pursuing a job, just to be in the industry. Maybe if I was 18 years old, it would be an option, but being almost 33 years old and having a good career definitely changes things a bit.

So, the only way that would make sense to me would be, signing up for Game Development programs at Columbia College here in Chicago. They have a really nice selection.

Also, I could start learning a programming language.

Bottom line is, I am not willing to drop my current career just to work in a game industry. I can spend the money I make now on learning things which I really need.

I did a little research and it seems that experienced programmers say to learn Python first, since I have no coding experience.

Then, why do they say Python, if nearly no one even uses it for production games? At what point do I stop with Python and switch over to something more complex (C or C++)?

I guess I am looking for the most efficient way of even having a crack at making it happen. Apparently, without knowing how to code, I can forget about the whole deal. Thing is, what if I spend 2-3 years learning how to program and I still won't be able to make a game (which will most likely be the case). All this money and time, absolutely wasted. Sure, hiring a programmer will not give me the exact results, but neither will my weak programming skills even after spending who knows how many years learning.

It is totally fine to not give up your current career... actually, it might be a better idea anyway. Indie Game development is a high risk business, so doing it fulltime is not a good idea unless you have quite the financial backing, either from your savings or some other source.

Look, I am in a similar boat, started game development as a hobby in 2009, went to 80% on my job one year later to have more time for my hobby... I am doing this for more than 6 years now, and I still haven't finished any of my games. I have a pretty advanced prototype, that is put on hold right now because the physics engine in Unity got broken with Unity 5, and many overscoped games I had to shoot down quickly. I am now at a stage where I feel pretty confident about my C# abilities with Unity, and starting to pick up C++ and Blueprint in Unreal Engine 4. I am able to create pretty good looking 3D Assets in Blender and 3D Coat by now, and are quite competent in 2D design.

But, I started at a different point, having a bachelor in CS and having worked as a professional software developer for 5+ years when starting in 2009 certainly helped me on the technical side, and always having drawn stuff as a hobby and taking drawing classes prior to that also made I didn't start at zero when it came to the art stuff.

So with all that, and 6 years, I am still working on getting a game done, what? Yes, because I am an idiot and constantly bite off more than I can chew. I am pretty bad at correct scoping and I know that pretty well.

But you know what? I don't care. What I do care about is my creative vision and creating a game I am proud about, and doing this as a hobby gives me freedom to work on projects that are basically "a bad idea"...

I am not just shooting for the moon though, that is why I have many shelfed projects, and every project I start anew has a slightly smaller scope. I am putting the cart before the horse so to say, instead of scoping up and starting with the smallest possible project I do the opposite. You could say I like the challenge... I certainly miss out on the expierience of actually finishing a game and releasing it, which might not be ideal. But I learn a lot anyway with every project I try to bring to a releasable state.

TL; DR of my slightly offtopic rambling about my own expieriences up there: if you do this as a hobby, and you happen to like working on your own ideas... don't worry too much about the time it takes you to get where you want to go. There are more sensible paths forward, and less sensible ones (like the one I have chosen smile.png ).

It doesn't matter, as long as you enjoy it and cosntantly learn something new. At least as long as you enjoy the process of developing and learning.

If you DON'T like to spend your time developing a game and learning something new, you might want to think again if game development is the right thing for you. Even if you hire people to work on your game, you will be involved in it.

If you just don't want to spend so many time on this hobby (I lost count on my hours long ago), maybe listen to general advice and don't follow my example. Start with smaller games. Create your own variation on Tetris. Even with beginners skills, even with not many hours per week put into it, you should be finished in a month or two, and you will be able to show off your very own game.

If you are afraid that you are not able to pick up the skills, don't be. Programming is not Rocket Science, and Art can also be learned, by doing it over and over.

You can always skip something if it really isn't your thing. There are always ways to supplement your skills (stock art or third party code), and you can always pick a game type that is lighter on one or the other (a tetris clone doesn't need incredible art skills on your side to look good, a game with simple mechanics doesn't need you to programm page after page of new innovative code).

If you happen to not enjoy something, you should stop doing it. But maybe you should give it a try first, maybe programming IS your thing once you got the basics.

About the language: yeah, I hear that about python a lot. I on the other hand had to start with C, because we had this in my apprenticeship. Then we moved on to Java, which I didn't got for the full 6 months we had the course... I just couldn't understand the Object Oriented way of thinking. I was forced to learn it in some weeks because I had to write my final practical project for the exam in Java.

Is Java or C the easiest language to pick up for a beginner? No. But actually, the difference in complexity is not as high as people think. There are things that are tough nut to crack in some languages (the OO paradigm, some of the more obscure C++ oddities), but the basics of most modern languages are the same, because most of them are based on C anyway.

This also means if you master Python, you will have an easier time getting into any other modern language. You will still have to learn many new concepts, the basics are very similar.

Be aware that most bigger games today are written in a game engine, and often these are third party engines (like Unity or Unreal Engine)... they will dictate to some degree what languages you can use (C# and UnityScript (Javascript basically) for Unity, C++ and a visual scripting editor for Unreal). Moving from engine to engine, you will have to learn a new language anyway, so getting the hand of multiple languages early on might prepare you well for what you will have to do later on anyway.

Oh, and one last thing... it is good to be worried about efficiency. If you do not work efficiently, you will not get anywhere after all.

Never waste too much thought about "wasting your time" though. Game development is a long journey for most people, and learning to program is also nothing you do overnight. You will waste a lot of time on many things... you will run into dead ends, you will have to shelf and throw away things, and restart again. That is part of every "creative" line of work, software development just as much as game development.

Python is not the most used language in the world, and none of the game engines I have used had python as an option for scripting. That said, there are such engines (Hero Engine comes to mind), as well as other things in the software world (Blender (3D Tool of choice for most freeloaders) Plugins are written in Python for example).

You never know when a language can become useful down the road, and as long as you just see it as a stepping stone for greater things (like to learn programming basics preparing you for a smoother transition to C++), learning python first is not the worst idea.

This topic is closed to new replies.

Advertisement