Advertisement

how get over this feeling?

Started by January 04, 2018 03:13 PM
14 comments, last by awesomedata 6 years, 10 months ago
On 1/11/2018 at 5:30 AM, BBeck said:

Then again, that's why I choose to have a day job instead of working in the game industry. I can do this because I enjoy doing it and my day job pays the bills regardless.

Just wondering... Because I have to decide a lot of things for myself... You talked like You're professional and make games for money. But in the piece of text I quoted, You say that You have another (not game-related?) job, therefore, game development is Your hobby. Right?

Yes, game development is my hobby. I work in the computer industry. But what I do is in the business world, not in the entertainment industry. I imagine there's no way I could find a job in the entertainment world that pays me half of what I make in the business world unless I owned the company. I think if I ever do do anything in the game industry it will be to start my own company, but I'm still several years away from being ready for that. I know a whole lot about game programming, but I also know enough to know I haven't even begun to understand the subject. There's 1,000 times more that I don't know than what I do know. And make no mistake, there are people on this forum that know a whole lot more than I know.

I've just been around forever and have learned a whole lot through my failures (and triumphs) over the years.  And I have a unique perspective because I have a diverse background that's extremely uncommon; I've done pretty much everything necessary to put together 3D games. I started out as a musician (which is really how I learned how to learn) because I basically had to teach myself to one extent or another. I've worked as a photographer and so understand things like lighting and so forth. I've been coding since I was 12 and 3D game (really basic engine programming) for about 5 years in DX11 and OpenGL with C++. I've programmed in like 10 different computer languages and understand machine code. I've done animation and rigging. Done a bit with foley; I certainly have done a tremendous amount of recording. I've recorded quite a few musicians including myself and studied audio engineering for awhile, even thought about doing it as a career at one point. And awhile back I got tired of my 3D modeling skills holding me back as my coding skills grew. I was doing the 3D equivalent of stick figures. I had spent years in 3D Max and then Blender, but most of my models were basically just boxes. So, like I used to do with music, I focused on my weaknesses and enrolled in a 2 year art program to learn 3D modeling. Within the first 6 months they had brought me so far I was impressing myself. I've already gone way beyond what I expected I could with the 3D modeling.

I'll let you be the judge of how far my modeling skills have come.

You can see several of my models in the opening montage to my YouTube channel. (I did the music and the video editing and such on the intro too. Maybe not the most brilliant piece of music I've ever written, but I like it well enough. I'm actually more of a guitar player than a synth programmer, but I play pretty much every instrument in your typical rock band and studied violin for over a year. The montage was just video clips from various projects I did over the years back before I got into DX and OGL when I was still doing XNA.)

 

The X-Wing someone else did (I did the asteroids and used a program to generate the star field). The good looking car came from Riemer's tutorials I think. The box car was mine. LOL The trees and water I did. And the horrible looking boat I did. Professor Zombie was a tutorial from a book, but I did go through the tutorial. The 3D Pong game was a project I worked on years ago.

Anyway, the stuff on my DeviantArt page is my finals from last semester in the art program.

https://virtuallyprogramming.deviantart.com/

The backgrounds for the cannon and for the lamp are photographs, but the cannon and lamp were what I was doing after 6 months in the art program. I didn't think I could do it, but they assigned it to us and I just tried and surprised myself when I succeeded. That's still not organic modeling like creatures and people. I think we do that next semester. So, while I think these models look good and realistic, I know what I still can't really do and that's quite a bit. Right now I'm modeling a spaceship interior that I've been working on since September. 

Anyway, I'm far from an expert at anything except maybe music and I'm a decent coder. And there are some actual experts around this forum. But I figure if I know one thing someone else doesn't know, then I can help them learn that one thing. With music, I'll never teach basically anyone what I've learned for various reasons. But with game programming, it's always just been for fun for me. So, I decided to be an open book and teach anything I know for what it's worth. For many years I tried to learn and couldn't find anyone anywhere to teach me. It's like no one wants you to know how to do it. Kind of like people in the industry feel threatened that you might take their job. But I don't work in the industry, so if I have no reason not to teach anything I can. I'd like to see everyone improve their game making skills because it improves the chances that someone will make a game I can play.

And some of my advice there was from life in general. A lot of it comes from being a musician for quite awhile starting out knowing nothing, playing in night clubs, and eventually realizing it wasn't what I really wanted to be doing with my life after spending quite a few years at it and going from not having a clue what I was doing to being a reasonably competent musician that other musicians could respect. I think a lot of my failures and victories in music actually taught me that I could get good at pretty much anything if I could just keep at it long enough. But it also taught me that that kind of perseverance really comes from loving what you do when no one else does. There are just unimaginable numbers of hours practicing that it requires to get good at anything when there is no one there who cares at all about what you're doing. If you don't love that thing you're doing, you can't keep it up hour after hour, day after day, year after year, for countless years in a row. And that's what it take to get good at pretty much anything in life.

I've met or listened to quite a few famous people in my life (many of them musicians) and one thing I've noticed that they all have in common is that they practiced more than most people even imagine is humanly possible. There were days where I locked myself in a room for 10 hours with an instrument. Most days I only put in 30 minutes to an hour of practice. For several years that was EVERY day. I watched myself go from totally clueless to competent. Another 10 years of that and who knows.  But I eventually discovered it wasn't what I really wanted to be doing in life and that I was doing it for all the wrong reasons. That's when I switched much more seriously over to game programming although I had been programming and doing game development type stuff for pretty much my whole life. Because I do game development related stuff pretty much every weekend even though noone really cares about my work. I do. That's all that matters.

And if I can share what I know and help someone out along the way, so much the better.

Advertisement

BBeck,

Wow... Thank You very much for Your reply! It's so cool to see that someone's really spending a lot of time to reply to other's questions!

Agree that Your 3D skills are obviously far beyond what a programmer usually is capable of.

Where can I see Your game projects?

Spoiler

 

Main reason why am I asking is that... Em... I'm an "enterprise programmer", doing server-side programming in Java for a banking company. My experience is just 2 years, and I can't say that I have learned something important before getting a job. I was trying to learn Pascal programming in school, but I felt like in the "dark room", because there was no one who could help me with some questions. I knew how to code using Pascal, I had ideas about code organisation, but I had no idea how to design and develop even something simple like Tetris. Then I just gave up.

Now I'm 27 and trying to start making games. Mainly because I personally want it. Because I remember I was imaging computer graphics and video games when I thought about programming. It was many years ago when I wanted to learn programming. But I have betrayed my own dream! And now I am a programmer already so why not? Why not to do something I was afraid to do long time ago?  I learned guitar too, but I feel that I can't express myself with music as good as I can do with game development. If I can give people something valuable, It is possible only through games. Then I suddenly realized: "Man! Who can deny me trying to make money from game development?" I just have to build my skills up, make a good game, even very simple, and try to sell it.

So now, having this background, I'd like to ask You: do You think it is possible? You are the guy who loves making games, who spend a lot learning to do that. But You work in business too, not in gamedev. Even not trying to sell Your games? Does it make SO big difference that I just can forget about earning money by making video games?

The problem is, that if I want to go commercial way, I should take into account modern tendencies like mobile gaming popularity. This means designing game to be controlled by touchscreen, to be vertical (if possible), to be easily distinguishable on a small screen of the mobile phone, and so on and so forth. Partially it is OK, because I'm learning Java game development using LibGDX, which is mobile-ready if not mobile-first at all. But still those huge design problems and trade-offs, and therefore divergencies from what I really like. Because I think that I will earn nothing if I make just simple desktop video game, taking into account simplicity of it. Simple games only make money on mobile platforms nowadays. Right? But if I go hobby-only way, I can design a game in the way I like, because I strongly prefer desktop or console platforms over mobile. I actually hate mobile phones. I can spend my free but precious time on polishing something I would like to play rather than something only others would like to play (maybe would). I even can choose any programming language I want just because it will make the process more entertaining for me. But this ways makes it impossible to try to become a full-time game developer.

It's a compromise like this: either become a professional game developer (get a chance at least) and develop games that I don't like at 100% for platforms I don't like at 100% which I can't use to impress people by showing off on my phone, or be an armchair game developer, who will be satisfied with the process of making a game, with the game itself, but without hope to become a professional and make money, and finally, impressing and getting respect from limited number of people. From another point of view, You'll never know unless you try... And maybe it is better to regret a decision than indecision?

 

TL;DR

I think I just have to make games I want in my free time. And then, If possible, try game development as a side-job. Information system development gives more stable income than game development.

So, I still spend more time learning than trying to do something I can release as a game. If I were doing 2D, there would be a lot less to learn and I could probably get something out the door with my current level of skill. But 3D is tough, especially when you try and do it all. If you can find friends to form a team with where they work on art and you work on code, that would be ideal. But my friends are musicians, not 3D modelers. You can buy 3D models, but that gets REAL expensive REAL fast. Plus, the biggest draw back there is that you are stuck with whatever models you find and they probably don't really match up art-style wise. Having someone actually able to model, whether it's yourself or someone else can make an enormous difference. 

My most recent projects are on my website at VirtuallyProgramming.com with XNA, DX11, and OGL stuff. I think that page covers the history of how all that came about; so I won't rehash that here. But, I started out doing XNA coding examples as tutorials. Then I switched to trying to write a DX11 engine from scratch in C++, as tutorials. Then I recoded it in OGL4.5 with C++. The Visual Studio projects are linked on those pages. So, all the source code is available for download, where you can see every line of code.

One thing I learned from being a musician is to focus on fundamentals and learning and not try to put the "cart before the horse" and start before you are ready. So, I've never really gotten my skill level up to the point where I feel like I'm really ready to make a full blown game. I hosted a contest to make a Pong game years ago. As judge I wasn't allowed to have an entry in the contest, but I wanted to join in on the fun and make my own version just to say "Here's what I would have done if I could have entered into the contest." So, I started working on 3D Pong which is in the opening montage on my YouTube channel near the end. I first made a mostly functional 2D version of the game to make sure I had all the concepts down and especially things that I don't do a lot of like screen management. Then I started coding the 3D version and it was coming along nicely. Then I had to spend most of a winter in the hospital watching my father die and that got cut short. I barely had time to judge the contest and by the time I got back to having time to work on finishing the 3D Pong game the contest was over and it was largely pointless. So, I never quite finished it up.

Then after Microsoft dropped support of XNA I got stuck trying to figure out where I would go next. I tried Unity for about 6 months but found that I was buying everything from models to code and not really learning anything like I had in XNA. So, I decided I wanted to continue learning about engine programming and doing things myself and decided to teach myself DX11. Then I decided I wanted to do OpenGL instead and had to start all over again.

Then I decided to focus on 3D modeling for a couple of years and I've been in that mode now for about a year and a half which means I haven't done any game coding during that time. The class is more work than I have time for, which leaves me zero time to write game code. Now, I've learned PBR art and I don't know how to write a PBR shader. So, when I do get back to the code I'm probably going to want to write and learn the math behind a PBR shader in GLSL.

I'm also going through some tutorials on Unreal Engine. I would like my future to be pursuing OGL as well as Unreal Engine so that I can learn the deep engine programming things and have Unreal available to crank things out more quickly. Unreal is C++ based and almost makes it pointless to do your own engine except that they own Unreal and you own your own engine. Plus, doing some of that really low level stuff helps you understand how engines work under the hood. I know a lot of what I do in my 3D modeling art is informed by my knowledge of how the graphics card itself works and how that model would be consumed by my engine code. When i put together a normal map for a model, I know the math behind a normal map and know how to write the code to play back a normal map in the engine. So, it helps me understand what I need to do as an artist. Most 3D artists would just be guessing and going off of rumor why you need to do a certain thing or how a normal map works.

Anyway, the big thing about going commercial is that your first several projects are almost guaranteed not to be commercial successes. Especially if you are working in 3D there's just so much TO know that it's going to take years before you have the first clue about what you're doing even if you spend dozens of hours on it every week. Without an artist, it will make it that much more difficult as you need at least some stand-in art. A good artist can come in and replace your poor art with better art later. But knowing how to code to get the art in there is really a big part of what graphics programming is all about.

So, you have to be honest with yourself as to whether the money is truly enough motivation to keep you going when you SPEND more money producing your first several projects than you EARN from them? When no one wants to buy your first few projects, what then? I've been going through "MasterClass" with James Patterson on writing novels. He's one of the top selling authors in the world. He said his first novel couldn't get published and it was a big let down. No one wanted to read it. But he picked himself up and wrote the next one. And the next one. And the next one. With failure after failure. And eventually, he learned from his failures and kept at it, not because he was looking for a big pay check, but because he loved writing and telling stories. And now he's got hundreds of major successes under his belt.

If the lure of the money is enough to keep you motivated even when you're operating at a loss because you truly believe that eventually you can get out of the red and into profit, then by all means do what you want to do.

If you want to become a professional game developer of some sorts even though the pay may be minuscule and you'll have to work on other peoples' ideas instead of your own, but you think you will still love it, then by all means do that.

You just have to realize this isn't even close to being easy and there's a steep learning curve. You're going to go through years of failure and producing crumby work. Can you stay motivated through the bad times? Because they will be more often than not in the early years. But if you can stick to it and work hard at learning from thousands and thousands of mistakes, you can get to that professional level where everyone agrees you know what you are doing. Will, your game sell once you reach that level? Probably, although there's no guarantee that it will. People who know what they are doing, like the Beatles for example, can produce mediocre work even on their worst days. It's no guarantee that your next project will be well liked by others (some of the Beatles best work was never played on the radio and most of it was never really considered their best). There have been lots of games that I would agree are solid video games, that I just didn't like. Most of them as a matter of fact. But until you reach that level, you're game probably isn't going to even be well constructed and likely to suffer from numerous problems.

If you want to go the fast commercial route, try Unity. You can script for it in JavaScript I believe (I always did C# with it because I was doing C# in XNA before that). So, the coding for it should come somewhat natural. It's a great engine for 2D and pretty good for 3D, although I'm favoring Unreal Engine partially because it's more C++ based and partially because it has a slightly better reputation for 3D work and high end graphics.

Doing the low level engine programming is not everyone's "cup of tea". I like the learning as much as anything else, and thus I find it rewarding to do something like try and understand the math behind a PBR shader so that I can code it myself in GLSL. On the other hand, I'm trying to learn Unreal Engine for those days when I want to get some work done as opposed to just learning. I figure there's no reason I can't code in OGL and in Unreal.

Oh. And as far as making money in game programming. Besides the years it takes to get to that level, I spend lots and lots of money on this and make almost nothing in return. My website is about $175 a year I believe. I have a subscription to Adobe CC that's $10 a month. I've got a subscription to Substance that is about $30 a month. Blender is free fortunately. I'm thinking about getting Marvelous Designer and ZBrush. I've spent thousands on computers and things like graphics tablets. I've spent hundreds if not thousands on books to learn it. I've spent thousands on classes. I've spent hundreds if not thousands on game assets at places like the Unity Store. My time is worth a substantial amount per hour that I could have been working at a job instead of games and you could say that adds up to far more of a financial loss than all this other stuff combined probably by an order of magnitude. If you really add up the costs, I would say I'm going to have to have a major hit of a game before I can get anywhere near out of the red. So, if it's just the lure of money, you have to truly believe you can eventually have a huge success after dumping massive amounts of money into it at the startup.

2D is probably a better bet if the primary interest is the money. Your startup costs are likely substantially less. The time involved is substantially less. The learning curve is substantially less. So, the quicker any success you do have down the road will pay itself off. Plus, I think 2D is still very popular on mobile.

Oh, and if you want to go down the difficult path of engine programming, check out LearnOpenGL.com and check out the OpenGL tutorials there. I've been meaning to go through that, if I can get the time to learn to write PBR shaders.

11 hours ago, BBeck said:

So, I still spend more time learning than trying to do something I can release as a game.

I do the exact same thing -- studying various aspects of game development and design as many hours a day as I am able everyday is my life more than I care to admit lol.

11 hours ago, BBeck said:

If I were doing 2D, there would be a lot less to learn and I could probably get something out the door with my current level of skill.

Sadly, that's a very popular misconception. I am a 2D-pixel-artist/animator-turned-3D-modeler, and I just wanted to mention that there is just as much work on a quality 2D title as there is on a 3D one (most of the time, as there are obviously really CRAP 2D games out there lol) because all the same game-design, pacing, animation-design, rules, character-designs, etc. etc. still apply -- In fact, in 2D games, you have the additional burden (as a sole developer) to find creative ways of avoiding the issue of things being too repetitive, whereas with 3D, it's easy to do this by employing differences in color, differences in scale or differences in kind (such as differences in physical shape using blendshapes) to keep up the variety and pacing, whereas with 2D, differences in color are pretty much all you've got (without a lot of extra work) and so it's hard to vary the visual pacing without (sometimes very extensive) manual labor in the design and animation department to avoid that repetitive nature that 2D tends to present so readily if you're not careful.

12 hours ago, BBeck said:

So, if it's just the lure of money, you have to truly believe you can eventually have a huge success after dumping massive amounts of money into it at the startup.

This is indeed true -- I myself have spent a pretty penny on this "hobby" but it is something I truly believe will pay off (even if it's not in a financial way) at some point in the future. -- I feel like, at the very least, I am furthering myself as an artist above all -- and that, in itself, is worth the huge investment to me.

12 hours ago, BBeck said:

2D is probably a better bet if the primary interest is the money. Your startup costs are likely substantially less. The time involved is substantially less. The learning curve is substantially less. So, the quicker any success you do have down the road will pay itself off.

Again -- sadly, the misconception here is that 2D is only about as successful as the demand for your product is. If you put little effort into it, demand too will inevitably be very small (and even smaller if there's nothing super-unique or genuinely addictive about the game.) The alternative (and opposite approach) to money is making games that have been made a hundred-thousand-times-over or other cheap 2D knockoffs of better games. Depending on how tasty this idea of making money on advertising dollars sounds to you, making money might be a viable option on mobile. Desktop games, on the other hand, as mentioned already, require something truly unique -- plus you're going to be competing against other really cool and really unique games that compete to take your users' time over your game. You truly have to make your game worth your players' time -- and not just in YOUR opinion of "worth" -- it has to be quite apparent to anyone (even those who might be *against* your game idea entirely)  of the game's value -- and being objective and open enough to accept that sort of criticism is part of the job too.

As mentioned before -- ALL aspects of making a game good enough to truly sell requires a LOT more effort than one is likely to want to put in solely in their free time and while not getting paid for it either. -- If money is a major motivation, it should be a very *distant* prospect, at the very least. We all might as well be at the gambling table if we're trying to make money -- you have to *have* money to make money -- so if you're not willing to invest in your skillset heavily enough to be considered crazy, you probably have enough money to pay someone else to make your game for you. If that's not the case -- you better find a way to invest a lot more time then. It will require a LOT of it to reach where you want to be without a full-on advertising campaign on your side -- and even then, you might still not break even from your investment.

Just keep this in mind -- you'd better know for sure you are completely unwavering in your ambitions when you suddenly find yourself dreading the idea of doing all the unforseen work you suddenly find before you at the worst moments. Making a game is never easy -- 2D or 3D -- and I speak from experience with both -- it's just 'hard' in different ways. There are shortcuts in one you don't have in the other -- but that goes both ways. I actually got into 3D because I preferred those shortcuts to the 2D ones in regards to making games.

 

There's more I'd like to speak to in this post but I'll save it for later -- this is all I've got time for at the moment. -- I hope it's enlightening to someone at least. :)

 

This topic is closed to new replies.

Advertisement