Hello!

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • Hello everyone!

      I'm about halfway through the book and am loving it. I typically find books of this nature to be either completely mundane or just off-the-mark in scope and level of detail, so it was refreshing when I picked it up. Congratulations and thanks to both Rez and MrMike.

      I currently work in a java shop pushing out enterprise applications and rewriting legacy apps, but have always had that desire to write games. I never thought it was realistic because the first, last, and most common piece of advice is that it's absurdly hard to break into the field and an extremely volatile industry to exist in. However, the itch has never left me and I'm now doing it for real after finding this book and some of the awesome projects like the handmade community or this guy: jonbho.net/2013/08/25/spacecrash-designing-a-one-week-game/. As I start with this, I'm probably going to be taking advantage of those of you who spend your time helping newbies like me for when I ask silly things like "why do I need a process manager?" :)

      For some discussion, I did have something to ask already - starting out, does anyone have some advice as to how to stay motivated writing the simple games / clones that I need to write to get more experience (I've only ever written a poker game, battleship, tic-tac-toe, and pong so I am still at the early stages) when all I can think of is the design for all those super cool ideas I've had over the years?

      Just wanted to introduce myself, as I hope to be an active member of this community.

      fire00f1y AKA Myrddyn
    • Welcome!

      So, about staying motivated, that's a tough one to answer. Everyone has their own methodology and you will need to find what's right for you. Working as a professional in a studio, I find it easier to stay motivated because it's directly tied to my paycheck, but working on personal projects can be much harder.

      Here are a few suggestions that work for me, in no particular order:
      1. Try to have multiple tasks you could be working on. If you get sick of working on the UI, you can switch and work on the enemy behaviors. This can help prevent you from getting burned out on one task.
      2. Set actual deadlines and milestones. This will keep your eye on the prize. It's easy to go off on a tangent.
      3. Remember that at your stage, a lot of this is just practicing the skill. You have an advantage that you already know how to program, you just need to learn to do it for another medium (and perhaps another language if you don't know C++ that well). It might be helpful to spin up projects that don't need to be complete and are purely for learning purposes. For example, here's a swarming demo I wrote back in 2005 or 2006: bleachkitty.com/PersonalProjects/Swarm/
        There's no game here, you just click and they swarm to that location. It was purely experimental.
      4. Take breaks.
      5. Find a coding buddy. This can be as simple as having someone you talk to about your progress; having someone hold you accountable can be very powerful. If you're open to it, you could even find someone to work with.
      6. So far, you've just been cloning games. Try taking one of those finished clones and adding a twist. Write a complex Battleship solver and use it as the AI. Same with Poker. Expand tic-tac-toe to one of the many alternate forms (one of my favorites is where each of the nine squares is its own tic-tac-toe board).
      7. Go to GDC. Seriously, this fuels my desire make games for another 12 months. I go every single year and always leave creatively charged. If you can afford the main conference pass, it's absolutely worth it. If not, an expo pass will do. There's still plenty to see. If there's a specialty you're interested in, it might be worth checking out the summits and getting either a summit pass or an all-access pass. I tend to lurk in the AI summit since I'm a member of the AI Game Programmer's Guild. On top of that, you will meet people exactly like you. You will be with your people. If you do go, let me know and we'll grab a beer.
      I definitely commend you for working on learner projects rather than your passion projects. I've watched a lot of hopeful developers fail miserably because they wanted to make something but didn't have the skill. It takes a LOT to make even a simple game, which is why I always tell everyone who wants to be a game programmer to make Tetris or some other old arcade clone.

      It sounds like you've already created several of these kinds of projects. That's great! Are they completely done? Do they have a title screen, main menu, credits, options, graphics, music, sfx, high scores that are saved to the disk, UI, animation, and all the other little things that go into making a complete game? If so, you're ahead of the curve. Most people don't finish games. If not, it might be worth going back to one of them and adding in those little touches.

      Here's another thing to consider: what is keeping you from working on one of your passion projects? Is there a tangible delta in skill? When will you be ready?

      The reality is that you will never be officially ready. No one ever is. You have to jump in BEFORE you're ready and not be afraid to sink, because you probably will. I have more failed personal projects than I can count under my belt, but I learn from each and every one. Failure is absolutely apart of the learning process and it should embraced like the companion and mentor that it is. Let go of making something perfect.

      That having been said, the most common problem with passion projects is scope. The Sims 4 took 250 people to make. I didn't even know everyone on the whole project. Make sure you scope appropriately. :)

      Also, consider using 3rd party tools like Unity or Unreal 4. Depending on the kind of game you want to make, they can give you a HUGE leg up. Unity uses C# as its primary development language, which is sort of like if C++ and Java had baby that grew up to be more successful than either parent.

      Anyway, I'm probably just rambling at this point. ;) Good luck, and welcome to the boards!

      -Rez
    • Thanks for the response!

      Regarding your suggestions, they all make total sense to me and I will be doing each one. I hadn't thought to give myself deadlines, but I know from previous failures that lack of schedule has led me to veer into other things so I really need to. I also already have a coding buddy, thankfully. He's a webdev/java guy who doesn't have any academic learning on the subject so he likes talking about/learning about lower level concepts and CS-y stuff that he missed by not going to school for it.

      Regarding GDC: I have considered going in the past, but frankly I'm not 100% sure what I'd get out of it. First of all, I'd feel like I don't belong since I don't make games (yet!) and second, it seems like it would all be way over my head unless I already have industry experience. Are those thoughts completely off base? I will definitely be attending if so.

      So to your question of what's holding me back... It's that while I'm not a perfectionist in any sense of the word, I like to understand how things work underneath. This leads me to some pretty good understanding of things, but it slows me down tremendously because I always have to ask the "how does it do that" question. This leads me to over-prepare for things and under-practice things. In game dev, this means that I actually understand a lot of the concepts in game development but have almost no practical experience actually doing things so I'm super not ready for a real project. Kind of a silly problem to have, but hey what can I say. I think I am going to move on to one of my real project when I feel comfortable dealing with some graphics api (probably openGL) and when I feel more comfortable with c++ because I used it in college, but haven't since.

      Again, thanks for the welcome and the advice.

      Myrddyn
    • fire00f1y wrote:

      Thanks for the response!

      Regarding your suggestions, they all make total sense to me and I will be doing each one. I hadn't thought to give myself deadlines, but I know from previous failures that lack of schedule has led me to veer into other things so I really need to. I also already have a coding buddy, thankfully. He's a webdev/java guy who doesn't have any academic learning on the subject so he likes talking about/learning about lower level concepts and CS-y stuff that he missed by not going to school for it.


      Nice! That can really help.


      Regarding GDC: I have considered going in the past, but frankly I'm not 100% sure what I'd get out of it. First of all, I'd feel like I don't belong since I don't make games (yet!) and second, it seems like it would all be way over my head unless I already have industry experience. Are those thoughts completely off base? I will definitely be attending if so.


      Yes, that is completely off base (probably; I actually have no idea what your programming skill level is). First of all, keep in mind that most talks are 30 - 60 minutes, so they really can't go too deep into implementation details. Good talks typically give you enough to understand the problem and their approach to solving it.

      There are also the design talks. I find myself going to more of those lately, but my own professional role is shifting a bit so that makes sense.

      If you're really worried about the level of the talks, why not watch a few on the GDC vault? There are tons of free talks up there. Filter by Programming and watch a few. :)
      gdcvault.com/free

      It looks like you live in Atlanta, so there's a bigger expense than just the ticket, but it's well worth it. It's in March, but you'll want to make the final decision sometime towards the end of this year. Hotels fill up FAST.

      So to your question of what's holding me back... It's that while I'm not a perfectionist in any sense of the word, I like to understand how things work underneath. This leads me to some pretty good understanding of things, but it slows me down tremendously because I always have to ask the "how does it do that" question. This leads me to over-prepare for things and under-practice things. In game dev, this means that I actually understand a lot of the concepts in game development but have almost no practical experience actually doing things so I'm super not ready for a real project. Kind of a silly problem to have, but hey what can I say. I think I am going to move on to one of my real project when I feel comfortable dealing with some graphics api (probably openGL) and when I feel more comfortable with c++ because I used it in college, but haven't since.


      Sure, that makes sense. It's actually fairly common. I see a lot of people churn through books and papers on game dev but don't actually practice their craft. It sounds like you are practicing the craft, which is great. Just don't get caught in the trap of waiting until you're "ready". At some point, you just have to go for it. :)

      -Rez
    • I just wanted to stop in and say some of your advice already helped out!

      I'm taking one of the things you said and doing a game start to finish with all the parts (like menus, saves, SFX, etc...). It's still a rather simple game - I'm cloning breakout - but I'm going to add a few of my own ideas like custom power ups and effects (have some neat shader effects I'm thinking about). Well, I got kind of burnt out with the OpenGL code because it's all 100% new to me, so it's just been constant new stuff rather than thinking about how to do things (namely matrix transforms because I'm still not picturing it well). So, I switched gears and loaded up FL Studio and started making some trance background music. Was absolutely the right move - I had a blast just messing around with sounds instead of banging my head against OpenGL.

      So yeah, thanks again for the advice.

      Edit: OH! I've been watching a ton of GDC talks, and they're all really interesting. I found some steam conference ones too mostly regarding cross-platform development. I think my favorite ones so far have all been post-mortems. Oh, and the Rocket League one which is kind of a post-mortem anyways. I just love seeing what didn't happen and seeing their design decisions and process.
    • Great! I'm glad to hear it!

      Yeah, I generally recommend that people start higher-level. The problem is that you'll spend most of your time just getting the basic graphics system working before you get to any of the gameplay. I usually push people to use SDL or another library that takes care of that sort of thing. You can always come back and add more.

      To put it another way, take a look at Pixar. I have a few friends who work there and on every movie, they try to tackle some kind of hard technical problem. For Finding Dory, it was all about the tech behind Hank the octopus. I think there's real merit in choosing one big technical hurdle to get over for each project, but not letting yourself choose more. If you try to do everything, you'll do nothing.

      That's just my opinion though. :)

      -Rez