1. Welcome to Autism Forums, a friendly forum to discuss Aspergers Syndrome, Autism, High Functioning Autism and related conditions.

    Your voice is missing! You will need to register to get access to the following site features:
    • Reply to discussions and create your own threads.
    • Our modern chat room. No add-ons or extensions required, just login and start chatting!
    • Private Member only forums for more serious discussions that you may wish to not have guests or search engines access to.
    • Your very own blog. Write about anything you like on your own individual blog.

    We hope to see you as a part of our community soon! Please also check us out @ https://www.twitter.com/aspiescentral

Anybody studying videogame programming

Discussion in 'Computers, Science & Technology' started by Rotundi, May 31, 2020.

  1. Rotundi

    Rotundi Artist, reader, creator.

    Messages:
    61
    Joined:
    May 20, 2020
    Karma:
    +49
    What is it like programming a game? Is it fun to learn? Was it your first choice for a major?
     
    • Like Like x 1
  2. Giraffes

    Giraffes Well-Known Member V.I.P Member

    Messages:
    380
    Joined:
    Feb 24, 2020
    Karma:
    +565
    Hi Rotundi computing and gaming seem to be popular pass-times on this forum, i have never 'gamed' and have low computer skills so sorry no help here!
     
  3. Misery

    Misery Photo-Negative V.I.P Member

    Messages:
    1,535
    Joined:
    Aug 10, 2016
    Karma:
    +3,709
    Hmmm, yeah, I've done some of this.

    College: ehhhh. I went to college to learn this stuff. It accomplished bloody nothing. Total waste of time... after that experience I now know why the whole "college is a fraud" idea exists. Pretty sure I didnt learn much, not that they were even trying to teach anything useful. I got a degree, and that was also useless. Not that many years after, I exited the job market entirely anyway. So.... yeah that was a bloody waste of time and effort.

    I'd learned BASIC programming as a kid... age 7 or 8, it was. I dont remember how I learned it, but that was in the DOS days. So that's part of what fueled my interest.

    Fast forward to... 4 years ago? I'm not sure. Anyway, I'd been into game TESTING for quite awhile, as a hobby. Not paid, mind you. Just as a volunteer. I'd gotten to know a small dev studio by the name of Arcen, after alot of involvement with a couple of their games. I even moderate their forums.

    And then they sent me a contract offer, out of the blue. They had an idea for a game they wanted to make. But there was one part of it they didnt feel like they could handle themselves, and because I'd displayed clear knowledge of that aspect, they asked me to do it. Basically, they wanted to do a game that had a proper bullet-hell aspect to it. However, experience in that genre is quite rare, particularly at the level they wanted it done. They saw a couple of gameplay videos I'd shown, which were a bit unusual in terms of the difficulty being displayed, and that plus all of my rambling on the subject over on their forums was enough to convince them that I knew enough to do it. I mean, seriously, a couple of 5-minute videos on Youtube of me playing a game, that's really all it took. Ridiculous, but that's how it happened.

    Project #1 was simple enough. They'd made most of the game, but they wanted me to come in and handle enemy attack/pattern implementation and design. Later into the project I also rebalanced alot of the different ships for... some reason.

    Project #2 was an expansion to that first game, which had done well enough. It was more of the same. Nice and easy... ish. Note that it was a rather unusual game though. Bullet hell aspects dont normally exist in a pseudo-turn-based-but-real-time gameplay landscape. But hey, I made it work.

    Project #3 was the big one. It's a game a bit like Binding of Isaac, except with, well, more of the bullet hell aspect. This time it wasnt so simple. Previously, I went into each project knowing exactly what to do. It was like "Okay, we'd like you to design these 12 things for this bit", you know, that sort of instruction. But this new thing, it didnt work that way. My role was much bigger. The #1 thing I'll always remember, is when the project started, I wasnt sure what they wanted me to do, so I asked the lead dev, and his response was "Well, what do you think you should do? Whatever it is, do that". Not quite what I'd expected. I figured I was going to screw the whole thing up. I mean, *me* making big decisions? Couldnt end well.

    But you know what, it worked. Instead of being told what to do, I was able to just come up with whatever. Did I have an idea for some horrible new boss fight or whatever? BAM, it went in. Did I feel like making some change to something? Done, no problem. I was even able to veto ideas from others on the team. Cant imagine why anyone thought that was a good idea, but I just rolled with it. I ended up doing alot more than what I'd done before. I came into these projects with the intention of handling enemy/boss design and stuff like that. Ended up doing other things as well. Like the time I had to fix every bloody room in the game because reasons despite having designed none of them. There was a problem, I saw the problem, fixed the stupid things, also complained alot.

    The experience was like that... impulsive. Understand, indie development is not at all like how it works at a major dev studio. For a major developer, there are ALOT of incredibly strict aspects, and tons of rules and restrictions. But for an indie dev, there is.... none of that. Some indie devs are a bit more organized than others. But as a rule, you dont have some giant publisher breathing down your neck, so you can do whatever you want.

    Which was good, as I dont take instruction very well. Too spacey, you see. And I'm just very impulsive by nature. I didnt use any sort of design document or anything like that. I'd have an idea, sit down, there'd be typing, and it'd get stuffed in. It was that simple. Fortunately I really *do* know what I'm doing when it comes to that genre of game. Note though that I didnt handle the deep engine stuff. The "core" team consisting of the lead dev and a couple of others did that. Gameplay elements and implementation within that engine were what I was doing.

    The whole thing worked though in large part because the lead dev is a really nice guy who is also very open-minded and understanding. They worked WITH the whole autism thing, rather than trying to stuff me into a box I wouldnt fit in. There were no forced hours or anything like that... in fact my hours per week was extremely low. It simply didnt take long to implement any given idea I had, so I didnt NEED tons of time each week. They didnt care in any case: all they cared about was the result. So that worked nicely. I could work on it when I wanted, and didnt have to when I either didnt feel like it or couldnt come up with an idea that I wanted to do.


    I will tell you though, it was stressful. Game design is... complicated. I mean, the programming aspect for what I needed to do was actually fairly simple, even if everything I did was a hideous spaghetti mess (the others were good about cleaning that up though to make it less insane, once I was done with it). No, the stress came from 2 things: 1, bug-hunting (which I haaaaaaaaaaaate doing) and 2, balancing.

    Seriously, balancing is the most frustrating freaking aspect of it. It doesnt matter how good you are, or how careful you are, you are not going to get the balance to be where you want. Some boss fight or enemy or other game element would always be way too hard for someone, but also maybe too easy for someone else... input from the players was always this confusing conflicting mess. And I'd fix it, change some numbers, but then there'd be a new problem. A game like that has ALOT of things to balance and tweak and getting it to a satisfactory place was... a test of sanity. Also having to deal with the community sometimes... you know, they're a nice enough group, but the worst part was having to turn down suggestions. I remember a couple of people kept asking for a regenerating health system. I said no to that, wouldnt allow it. Explained why, very carefully. Still felt like a total jerk about it though.

    The stupidest moment though was when a particular thing bugged out. We were watching this guy play the game on a stream, very shortly after release, right. He's doing fine, lots of neat stuff happening. He gets to a boss. The fight starts, aaaaaaaand.... the boss just sits there. Doesnt do anything at all. The accursed thing bugged out. I have a very distinct memory of throwing a box of crackers at the wall after seeing that. I still dont understand HOW that bug got past me, or how it was there in the first place. That's not just a LITTLE glitch, that's an entire boss fight not doing anything. Boy was I not one bit happy about that (stupidly, it took all of 2 minutes to fix it). I learned the hard way one of the biggest truths of game development: there WILL be problems, there WILL be bugs, and they WILL get past you. When you see games bug out in stupid ways, never laugh at or insult the devs. Chances are... they did their best to avoid it, but it happens anyway. No developer escapes this.

    Honestly even despite the easygoing and impulsive nature of the whole thing, I learned alot about the hard truths of development. It's tough. Even when you've got it "easy", it's still very, very tough. I cant emphasize that enough. And that's indie work. If you want to work for the Big Guys, it's going to be an infinite nightmare. No amount of money could ever get me to do THAT. It wouldnt be worth it. Not with what I know now about how the industry really is.


    Nowadays, I'm actually looking to try making something entirely on my own. Likely, I'll use Clickteam Fusion to do this. A bit less.... irritating than traditional "coding".


    Sorry, that was a bit long, wasnt it? I dont really do "concise". Particularly when I tell that story. There, I'll stop now.
     
    • Like Like x 2
    • Informative Informative x 1
  4. Graphin

    Graphin They're red can duck?

    Messages:
    657
    Joined:
    Jul 30, 2018
    Karma:
    +923
    As far as I'm aware most of the good ones in the field are self taught or at least didn't mainly learn it in college.

    You can probably better make an open source game or be a major contributor to one without that much effort as a jump start in the industry, but the market is unbelievably saturated with passionate skilled people and games in general in a way in which making a living is either very hard, or you're very lucky, or you do it like an entrepreneur. Almost any programming field is better than this if you want to get a living without dedicating your life.

    Whether it's actually fun, it really depends on you and what you're working on, how lucky you are with your errors being quickly found on stackoverflow and how wonky your code is in general.
     
    Last edited: Jun 1, 2020
  5. Jumpback

    Jumpback Well-Known Member

    Messages:
    518
    Joined:
    May 11, 2020
    Karma:
    +464
    Long gone are the days when a brilliant but unfocused or flaky person can accomplish anything on their own. In the early days of invention, someone could like design a handgun with a certain type of ammunition and follow the project through from start to finish, or like with Atari video game design there seemed to tend to be one designer. It seems like with phone games and such at first things were simple enough that it could be a one person job, but I suspect not any more. Like the Wright brothers really could solve manned flight on their own

    The more complicated things get, the less creative problem solving is important and the more important working through tedious details is more important than anything else. Like as maverick creative problem solving brothers turning their experience with bicycles into being first in flight, might actually work against them if the Wright brothers tried to work on design teams designing new aircraft today. They did ingenious creative problem solving, they did not do as much tedium.

    I can see why steampunk appeals to people
     
  6. Jumpback

    Jumpback Well-Known Member

    Messages:
    518
    Joined:
    May 11, 2020
    Karma:
    +464
    Did I just relate 19th century handgun design and the invention of flight to Atari games and phone apps and steampunk to each other in a rational way? Yes I did. And can others do this as effortlessly as I did? No, they cannot

    @Misery has stated that they have a natural tendency to react in video games faster than others can and just now stated that they were able to walk into an indie game studio and fix non bug related things pretty easily. Can others do this? No, they cannot

    So since @Misery and I can pretty easily do certain things that others find hard, we should both be rich, right? But almost the opposite is true for me

    Having tendencies in this direction can be so very frustrating
     
    Last edited: Jun 1, 2020
  7. Rotundi

    Rotundi Artist, reader, creator.

    Messages:
    61
    Joined:
    May 20, 2020
    Karma:
    +49
    So far it sounds like fun!
     
  8. Misery

    Misery Photo-Negative V.I.P Member

    Messages:
    1,535
    Joined:
    Aug 10, 2016
    Karma:
    +3,709
    Nah, it's absolutely possible to go and make something big yourself. That has not changed.

    The biggest example of all is Minecraft. Made originally just by Notch himself, the game sent shockwaves throughout the entire industry upon it's appearance. Everything changed and entire new types of games appeared in the wake of that behemoth. And that was ONE guy, making a game that absolutely did not have crazy AAA graphics. Yes, the dev team over at Mojang is now quite a bit bigger, but that happened quite awhile after that point. The core of the game, the important bits that changed the gaming landscape, was all Notch. Just by himself.

    There are other examples too. Spelunky is a particularly famous example (the original game, not the remake), as is Binding of Isaac (again, the original Flash version). Well, for Isaac, Edmund had some help on the audio front... some people he knew making music for the game. But the game itself was all up to him. Isaac may not be as big as Minecraft, but it's influence still reverberated far and wide. An entire genre spawned around it. In fact, if it wasnt for Isaac, my own game dev experience with the main game I worked on would never have happened.

    Something I learned through this experience, and my gaming hobby as a whole, is that you never know where your skills and interests may take you. I didnt actually show what caused that contract offer earlier, did I? Have a look at this... skip to 1:50.



    That moment right there at that time stamp, that's what did it. That's what got me the contract offer. All I did was record the footage of me playing that, mostly to show to a friend, and left it there. And it led to actual game dev experience, something I'd wanted to do since I was a kid. It's not just that though... my gaming hobby has led to other places I never would have expected. I could tell many stories. On top of that, the money gotten from that contract was used to fuel an entirely new hobby, so that got interesting too.

    If you have ambition and determination, you can get somewhere. But you cant go into it with an attitude of "this isnt going to do anything".

    Just as a bit of context, I didnt go into fixing that room thing I mentioned just out of nowhere. As I said, the game is very inspired by Binding of Isaac, and the way the levels are done is very similar. Randomly generated, but made out of individual pre-constructed rooms chosen from a huge list of them. I've played the genre so much that I know how to balance that aspect, so... I did. It just happened to be a design aspect I was already super familiar with. If someone was making like a JRPG and asked me to come help redesign a bunch of combat encounters, the result would be a hideous confused mess. I cant just fix or revamp absolutely anything. I know shmups and roguelikes, that's where my knowledge lies. It's the same for any developer, everyone's got their specialties and unique types of focus.


    Well, it can be, yeah. But anyone going into it expecting it to be JUST fun all the time is going to be sorely disappointed. People really tend to underestimate just how much work goes into any given game... even the small ones.

    Is it something you're looking to try to get into yourself? Is that why you made the topic?
     
  9. Jumpback

    Jumpback Well-Known Member

    Messages:
    518
    Joined:
    May 11, 2020
    Karma:
    +464
    Thanks for letting me know this. I wasn’t aware that there were still opportunities for one person to change everything.

    But, at the same time, things really have gotten harder for an individual. Like Steve Jobs was not necessary to create Apple computers, Steve Wozniak was. Jobs did very little other than recognize this guy is a friggin’ genius and figure out how to channel this guys genius to something that would be marketable and profitable. But where would Wozniak be now if he was involved in an assembly line process at Microsoft or at a major game studio?

    “my gaming hobby has led to other places I never would have expected. I could tell many stories. On top of that, the money gotten from that contract was used to fuel an entirely new hobby, so that got interesting too.

    If you have ambition and determination, you can get somewhere. But you cant go into it with an attitude of "this isnt going to do anything".”

    I have this weird ability to see relationships between things that others don’t see. Like early Ancient Greek art and the blacksmith trade and the Ruso Sino war and early hot rodding and modern art all are connected to me. I can jump back and forth between subjects that others have no idea might be possibly related pretty easily. It’s like since my brain doesn’t work right innone way, it works better in a different way.

    Like, in a way, I feel like you are positive and optomistic because what you are good at translated well. But then you are absolutely 100% correct in what you seem to be describing as just put yourself out there and maybe something good will turn up. I mean you didn’t try to do anything except be yourself and you put that video online and something positive came of it, but if you didn’t put that video up and talk about things, this opportunity that presented itself would have never happened
     
    Last edited: Jun 1, 2020
  10. Rotundi

    Rotundi Artist, reader, creator.

    Messages:
    61
    Joined:
    May 20, 2020
    Karma:
    +49
    The difficult stuff IS the fun part for me. Once something becomes easy and I've learned all there is to it I get bored, so I purposely seek out things others consider difficult. I've heard people complain about programming and developing always having challenges to it, and since that's what I'm lookimg for Ithought I would look into it.
     
  11. Misery

    Misery Photo-Negative V.I.P Member

    Messages:
    1,535
    Joined:
    Aug 10, 2016
    Karma:
    +3,709
    Ah, I see.

    Well then, I think you'll get what you want if you go with that hobby. It doesnt matter how good a programmer gets, there will *always* be challenge there.

    This is the most accurate depiction of the whole thing I've ever seen:

    progr.png

    Yeah, it's like that. You'll find that the right side applies more often than the left. Even when things work.

    Heck, in the game I worked on, there's this one boss fight, right. I spent hours making the thing, staring at it. And if I were to go back to it now... I could not possibly tell you how it worked, because I dont KNOW how it works. And that's not like an "oh it's been 4 years, of course I dont know" sort of thing. No, I didnt know how it worked the day after I made it. Cant imagine how the heck I made it in the first place. But the horrid thing works... somehow... and didnt bug out, so I got away with that one.

    So yeah, that's programming for ya, whether it's high-level stuff done in C++ or whatever, or low-level scripting. It's just like that.