A couple years ago when I started really digging into the gaming scene and trying to get familiar with other game developers by their blogs, I found it odd that so many seemed to disappear or otherwise fall off the face of the earth. A couple years older and wiser, and with some game development experience under my belt, I now know why.
For me, my regularity in posting drops off when I'm busy in a development cycle. The logic goes something like this: Why should I write about my game when I can be developing my game? Why write a blog post when I could be otherwise writing code for the game? Even when my fellow collaborators continued playing a ton of other games, I had trouble playing anything because I couldn't seem to justify spending any spare time NOT writing code for the game I was working on at the time. You see, the problem is balance. Especially as an indie developer where my time was already split between my 40+ hours per week day job and family, precious little development time would often occur after hours (10pm to 2am, sometimes 3am... ish) a couple nights a week. I think I just got burned out a little, and I wouldn't be surprised if that happens to others as well.
But I'm not complaining. I'm thankful for the 2-year experience I had working with some really cool artist friends on a tower defense game. In fact, today I was (finally) able to load it up again and take a look at what we had accomplished. Of course, looking at it now, somewhat removed from when I had written a lot of the code, it was a lot easier to see the imperfections and how un-polished it was. It's very tempting to go back and try to make some of those old game mechanics work better. I've learned a lot about engine design since those days and I wish I could go back and redo the entire design, but I know it would take forever.
In the time since the tower defense game, I took a nice long break to just spend time with my family and unwind a little before diving into some Android development. I was really interested in creating a game people could hold in the palm of their hands. So I created a ball-jumping puzzler tentatively named Plane Runner, and it was an AMAZING feeling to run it on our Kindle Fire. Heck, even the simple Layout Views app that I posted about in my last post over a year ago was a blast to watch running on the Kindle Fire. And when we got a smartphone, it was even more sensational to play Plane Runner on that device. But again I started putting in too much after-hours time on the game, getting burned out again, and had to take another little break.
Whereas the tower defense game taught me a lot about collaboration with artists (and a sound guy!), as well as XNA and a variety of effects processing and creating a 3D game, Plane Runner has taught me a lot about creating a game for mobile devices (mind the garbage collector!) and how to better design a game engine, including but not limited to the use of a Scene Graph, better event management, and a component-based architecture. If you're at all interested in creating games for Android, I highly recommend Chris Pruett's Google I/O talk.
So that's just a little history on what's happened in the time since my last post. But I wanted to let everyone know that I'm still here. I'm still ticking, still developing (though now at a slower pace for the sake of sanity) and hopefully also still writing here from time to time. I am determined to finish Plane Runner, to have at least ONE completed game in my portfolio. But most importantly, I hope to continue growing and learning, and would encourage fellow indies to do the same. I now understand why some seem to have fallen off the face of the earth, but hey... it's never too late to make a comeback, right?
It's not the end result, but rather the journey that matters most!
Learning the Art of Game Programming
Showing posts with label Motivation. Show all posts
Showing posts with label Motivation. Show all posts
Sunday, May 26, 2013
Thursday, June 2, 2011
Phoenix Rising
You, my dear reader, deserve better than excuses. But I'm afraid that's all I have for not posting in such a long time... just one single excuse... life :) Things have been so busy, in fact, that I've barely had time to work on my game that I've alluded to in posts of olde. But if you somehow have my blog still on your "pages to check" list (or RSS reader for the web-savvy folk), I thank you for checking back. And I look forward to reviving this dormant space.
I have much to write about, having worked in XNA for about a year and a half at this point on a single game project. But I figure, as an old proverb states, that "even a journey of 1000 miles starts with a single step."
Btw, while I was gone Blogger added some new features. Just for fun, check out this blog in some new dynamic views (requires IE8+, Firefox 3.5+, Chrome, or Safari):
I have much to write about, having worked in XNA for about a year and a half at this point on a single game project. But I figure, as an old proverb states, that "even a journey of 1000 miles starts with a single step."
Btw, while I was gone Blogger added some new features. Just for fun, check out this blog in some new dynamic views (requires IE8+, Firefox 3.5+, Chrome, or Safari):
Tuesday, September 21, 2010
Three Lessons Learned
So I think I mentioned in my last post (two months ago?) that some buddies and I were working on a tower defense game that we hoped to demo at an upcoming conference in September. As you may have noticed, September has almost come and gone but I haven't posted any stellar updates detailing the success of our demo at said conference.
Part of this is due to an unavoidable stall in development progress, which brings me to my first lesson learned. When I realized the ever-increasing scope of the game I would soon be writing, I should have pulled in more developers. As it is, I am currently the only programmer among a group of two 3D artists, two concept artists, and one musician. Although there is a certain amount of pride in being able to take full ownership of the (increasingly large) code base, there is also much to be said for having a fellow to bounce ideas off of and having someone to share the load when you're not available.
Another thing that's bitten us in the development of our game is not understanding core requirements in the beginning. We think we have a great idea for a game and started prototyping the basics right away. For a simple tower defense game, you have enemies moving from one end of the screen to the other, and that's what we created initially as a 2D game. Once we had this basic prototype, we realized that it was pretty darn difficult to make projectiles with faux-depth in a 2D isometric view look right. So we had to make the leap to the third dimension, which involved converting our 2D sprites into 3D rigged/animated/textured models. We started creating 3D animated models right away before adding concept artists to the team; so the models had to be recreated. But once we had our concepts, we needed to make specific decisions regarding Art Style - the overall game appearance - and this required new models yet again. As a programmer I occasionally overlook these finer details; I mean, if all the characters on screen are moving to their correct destinations... it looks good! But the second lesson I've learned is that Art Style is something that should be seriously considered early on in a game's development.
Performance is also a major consideration for our game. Although we want to have the best-looking game we can build, we also want it to be playable for as many people as possible, so limiting it to the highest-end graphics cards didn't seem right. And given the fact that I was developing the game on a laptop with only 32MB of dedicated video memory at the time, I had a big problem creating a game I wouldn't be able to play! So we took a step back and realized that our 3000-polygon models probably weren't going to cut the mustard. But even with reduced-poly models, we wanted to do some fun stuff in our game like using outlines on our toon-lit models, particle effects, etc. And some of these special effects are expensive operations that quickly drop frame rate and can cause the game to lag. So as our designer likes to say it, the final lesson for today is to "prototype everything." Although he doesn't really mean to prototype everything. What should really be prototyped is all of the core systems of a game that could be rendered/executing together at the busiest point of the game's interaction: music, sound effects, lighting, particle effects, blur effects, and so on. And provide a way to instantly, with the push of a button, drop a hundred or more models on the screen to simulate the game at its most computationally-intensive point to see how it will perform in the worst-case scenario. Doing this type of prototyping early on can help identify where you need to save polygons or cut features that could prevent your intended audience from playing your game.
The cool thing about my team is that we're all learning as we go, and sometimes part of that involves looking back and saying "You know, we could have..." So I hope this helps as you start your next project.
Part of this is due to an unavoidable stall in development progress, which brings me to my first lesson learned. When I realized the ever-increasing scope of the game I would soon be writing, I should have pulled in more developers. As it is, I am currently the only programmer among a group of two 3D artists, two concept artists, and one musician. Although there is a certain amount of pride in being able to take full ownership of the (increasingly large) code base, there is also much to be said for having a fellow to bounce ideas off of and having someone to share the load when you're not available.
Another thing that's bitten us in the development of our game is not understanding core requirements in the beginning. We think we have a great idea for a game and started prototyping the basics right away. For a simple tower defense game, you have enemies moving from one end of the screen to the other, and that's what we created initially as a 2D game. Once we had this basic prototype, we realized that it was pretty darn difficult to make projectiles with faux-depth in a 2D isometric view look right. So we had to make the leap to the third dimension, which involved converting our 2D sprites into 3D rigged/animated/textured models. We started creating 3D animated models right away before adding concept artists to the team; so the models had to be recreated. But once we had our concepts, we needed to make specific decisions regarding Art Style - the overall game appearance - and this required new models yet again. As a programmer I occasionally overlook these finer details; I mean, if all the characters on screen are moving to their correct destinations... it looks good! But the second lesson I've learned is that Art Style is something that should be seriously considered early on in a game's development.
Performance is also a major consideration for our game. Although we want to have the best-looking game we can build, we also want it to be playable for as many people as possible, so limiting it to the highest-end graphics cards didn't seem right. And given the fact that I was developing the game on a laptop with only 32MB of dedicated video memory at the time, I had a big problem creating a game I wouldn't be able to play! So we took a step back and realized that our 3000-polygon models probably weren't going to cut the mustard. But even with reduced-poly models, we wanted to do some fun stuff in our game like using outlines on our toon-lit models, particle effects, etc. And some of these special effects are expensive operations that quickly drop frame rate and can cause the game to lag. So as our designer likes to say it, the final lesson for today is to "prototype everything." Although he doesn't really mean to prototype everything. What should really be prototyped is all of the core systems of a game that could be rendered/executing together at the busiest point of the game's interaction: music, sound effects, lighting, particle effects, blur effects, and so on. And provide a way to instantly, with the push of a button, drop a hundred or more models on the screen to simulate the game at its most computationally-intensive point to see how it will perform in the worst-case scenario. Doing this type of prototyping early on can help identify where you need to save polygons or cut features that could prevent your intended audience from playing your game.
The cool thing about my team is that we're all learning as we go, and sometimes part of that involves looking back and saying "You know, we could have..." So I hope this helps as you start your next project.
Thursday, July 15, 2010
Making Games on the Side
As a hobbyist/indie game developer, I found the following Gamasutra article of particular interest. It describes some of the challenges and sacrifices required to be a successful game developer, whether your definition of "success" is actually breaking in to the industry or simply making games for the love of doing it. Hope you enjoy the article as much as I did.
Making Games On The Side: Development In The Real World
Making Games On The Side: Development In The Real World
Wednesday, September 23, 2009
Staying Motivated
I can't believe I started this blog more than six months ago. I remember thinking initially, after seeing many game development blogs trail off after just a couple months, that I would surely put out at least five posts every week. Ha! Let's just say I may have been a little ambitious. It's easy to push forward full steam when something is new, but the question of true dedication comes when the going isn't so easy.
I've seen forum posts regarding burnout on the game development dream and even noticed one of the blogs I followed (and had linked here) seems to have disappeared. So... how do you stay motivated when your enthusiasm wanes? I think part of it is remembering what you enjoyed about it (whether it is game development or another hobby) in the first place, and looking forward to what you will be able to do with practice. In my case I'm reading through a very dry, technical graphics book right now and sometimes it is flat-out boring; but I know that by reading it and working through the examples I will in time be a better game developer.
Quite honestly, I think everyone loses their enthusiasm at times. If you stay away from an activity too long it can be hard (though not impossible) to get back into it, and if you play with something too long it can start to feel like work. But the best approach is to just stick with it. Don't give up!
Check out Brenda Brathwaite's blog post for more inspirational thoughts on staying motivated. I'm proud to say that even though I'm not posting as frequently, I am still learning new graphics tricks (today was Direct3D meshes) and will not be disappearing any time soon!
I've seen forum posts regarding burnout on the game development dream and even noticed one of the blogs I followed (and had linked here) seems to have disappeared. So... how do you stay motivated when your enthusiasm wanes? I think part of it is remembering what you enjoyed about it (whether it is game development or another hobby) in the first place, and looking forward to what you will be able to do with practice. In my case I'm reading through a very dry, technical graphics book right now and sometimes it is flat-out boring; but I know that by reading it and working through the examples I will in time be a better game developer.
Quite honestly, I think everyone loses their enthusiasm at times. If you stay away from an activity too long it can be hard (though not impossible) to get back into it, and if you play with something too long it can start to feel like work. But the best approach is to just stick with it. Don't give up!
Check out Brenda Brathwaite's blog post for more inspirational thoughts on staying motivated. I'm proud to say that even though I'm not posting as frequently, I am still learning new graphics tricks (today was Direct3D meshes) and will not be disappearing any time soon!
Tuesday, June 30, 2009
June Monthly Checkup
Yep, another month has come and gone. Sadly I still don't have a finished game, but I do have some cool demos to show off in upcoming posts. I'm up to chapter thirteen (of twenty-two) in Luna's Introduction to 3D Game Programming with DirectX 9.0c: A Shader Approach and am learning a lot, but it takes a while to work through the chapter exercises. I'm also in the process of taking Ian Schreiber's free online game design course. My portfolio website is nearly completed; I just need to find a better host before posting the link here on GDJ.
So it's been yet another busy month of learning and experimenting, all while prepping for our big move to NC in August. After we get settled I plan to join the Triangle IGDA chapter so I can get serious about that whole networking thing.
So it's been yet another busy month of learning and experimenting, all while prepping for our big move to NC in August. After we get settled I plan to join the Triangle IGDA chapter so I can get serious about that whole networking thing.
Sunday, May 31, 2009
May Monthly Checkup
This has been a busy and difficult month with some unexpected events that nearly derailed my resolve to continue this journey. Nonetheless, I press onward, but with the realization that I may not be able to post as frequently or accomplish goals as quickly as hoped. So this is a pretty informal checkup this month and I've decided not to restate previously completed goals in favor of highlighting tasks that still need work.
The foremost goal in my mind is to complete a full game. I've started reading a new book that I plan to review once I've completed it, and the exercises of chapter five have me working on a 2D space shooter. Following completion of this mini-project I will start work on a PONG clone; the physics of a ball in motion (including collision detection) are quite interesting to me and may require further study.
I have been playing more games lately but don't own a fancy new console yet; picked up three older games for the original XBox (only cost $20 for the set) and want to get a Nintendo Wii at some point. Meanwhile, I have updated my old resume and started a portfolio site that is still a work in progress.
So that's about it for progress updates this month. I think my main takeaway from this month is that it's not how quickly you run the race... just that you eventually finish... and Rome wasn't built in a day. Finally, for some fun reading, check out The Escapist online magazine. They've got some cool game-related articles and a pretty cool RSS feed. Check out my devious guide for help with RSS.
The foremost goal in my mind is to complete a full game. I've started reading a new book that I plan to review once I've completed it, and the exercises of chapter five have me working on a 2D space shooter. Following completion of this mini-project I will start work on a PONG clone; the physics of a ball in motion (including collision detection) are quite interesting to me and may require further study.
I have been playing more games lately but don't own a fancy new console yet; picked up three older games for the original XBox (only cost $20 for the set) and want to get a Nintendo Wii at some point. Meanwhile, I have updated my old resume and started a portfolio site that is still a work in progress.
So that's about it for progress updates this month. I think my main takeaway from this month is that it's not how quickly you run the race... just that you eventually finish... and Rome wasn't built in a day. Finally, for some fun reading, check out The Escapist online magazine. They've got some cool game-related articles and a pretty cool RSS feed. Check out my devious guide for help with RSS.
Thursday, April 30, 2009
April Monthly Checkup
Has it been another whole month?!? Where does the time go? Here's my current goals checklist on my journey towards becoming a Game Developer.
"If you wanna be rich, you gotta do rich people stuff." - Dave Ramsey
"Wanna be a Game Developer? Do Game Developer stuff!" - Me
See any holes in my plan or have useful tips/pointers to help get me further along? Post a comment!
![]() |
Create a finished game. I did some good work on my SkyCop demo, finally getting a playable demo posted. I plan to design a smaller-scale (possibly 2D) game at some point but need to work on learning more fundamentals first. |
![]() |
Use personal projects to test different rendering techniques and programming methods. Check! See the SkyCop reference above. |
![]() |
Continue learning and be competent enough to explain design decisions. In addtion to keeping up on the latest feeds for major game sites and participating in a couple forums, I've purchased five new books! Admittedly three of them were recommended for Ian Schreiber's Game Design Concepts course. The one I'm probably most excited to dig into is Game Coding Complete, which I'm hoping will be a good reference for proper structure and best practices. Despite these positive steps, I can't mark this item completed just yet. I am still learning, after all. |
![]() |
Start networking! I'm staying active in a couple forums and planning to participate in a local IGDA chapter. The only problem is the local Columbus chapter (which I would still be a couple hours away from) appears to not be meeting at this time, so I may have to wait to participate with the Triangle chapter after we move to NC later this year. Attending the SIEGE conference is still a possibility, or I might consider a visit back up this way to check out the GameX Games and Media Expo. |
![]() |
Play more games! I haven't bought a shiny new game to play yet, but I have tried out some independent games on Armor Games. Crush the Castle, where you get to use a trebuchet to destroy castles, is actually a lot of fun! Nonetheless I think I need to get better versed in newer games to mark this item completed. |
![]() |
Update the outdated resume. This is a new goal and a worthy one I think will help me focus even better on my target. Darius Kazemi has some great tips on writing a resume for a game company and I plan to update my resume soon. |
"If you wanna be rich, you gotta do rich people stuff." - Dave Ramsey
"Wanna be a Game Developer? Do Game Developer stuff!" - Me
See any holes in my plan or have useful tips/pointers to help get me further along? Post a comment!
Monday, March 30, 2009
Monthy Checkup
It's been a whopping two weeks since I started this blog, but it's also the end of the month, which means it's checkup time! At the end of each month, I will review my incomplete goals and determine how I'm progressing toward becoming a Game Developer. You may recall some of the following from my Inspiration post and I've added a few new goals too.
Dave Ramsey, creator of Financial Peace University and an awesome motivational speaker, says "If you wanna be rich, you gotta do rich people stuff." Likewise, if you wanna be a Game Developer, you gotta do Game Developer stuff! I found these testimonies of actual developers/designers working in the field to be quite interesting. They're a good reminder that there's more than one way to break into the games industry, and I know that I can do it!
![]() | Create a finished game. I'm still in the process of learning Direct3D and playing with various techniques. SkyCop is a wide-open testbed for experimentation, but once I feel more confident in my skills I will design a smaller-scale game that I can actually finish. I've read numerous articles stressing the importance of showing potential employers you can create a finished product. |
![]() | Use personal projects to test different rendering techniques and programming methods. Check! See the SkyCop reference above. |
![]() | Continue learning and be competent enough to explain design decisions. I've exponentially ramped up my reading of game development blogs and articles on major sites like GameDev.net and Gamasutra. I want to get another book or two to learn technical/design concepts; I've heard Game Coding Complete is a good reference. |
![]() | Start networking! I've started participating in the Game Career Guide forum; they have a bunch of bright and friendly people willing to help newcomers to the scene, and I'm hoping I will be able to contribute positively to the community. I'm also learning about different game development conferences and considering a trip to GDC next year or possibly attending SIEGE this year. |
![]() | Play more games! I love playing video games, and remember the thrill of playing multiplayer Quake 2 and Unreal Tournament back in the day. It's hard to find the time these days, but in order to understand modern game concepts I really should buy a new game. That's my rationalization, anyway ;) |
Dave Ramsey, creator of Financial Peace University and an awesome motivational speaker, says "If you wanna be rich, you gotta do rich people stuff." Likewise, if you wanna be a Game Developer, you gotta do Game Developer stuff! I found these testimonies of actual developers/designers working in the field to be quite interesting. They're a good reminder that there's more than one way to break into the games industry, and I know that I can do it!
Sunday, March 15, 2009
Inspiration
GameDev.net recently linked to this Game Career Guide interview with Jean-Francois Lévesque, describing his path toward becoming a Game Developer at Ubisoft Montreal in Canada. This post is one of a few leading to my recent fervor to work harder to break into the field. As I read the interview, I kept saying to myself "check, check, got that... I can totally DO THIS!!!"
I'd like to summarize what I believe were his most important insights and define where I am with each:
I'd like to summarize what I believe were his most important insights and define where I am with each:
- Learn the English language. -> Check!
- Have a plan. Read as much as you can on game development and work on your own games/projects in your spare time. -> Check!
- Have at least one complete personal project to show to potential employers. -> I'm still working on this one.
- Use personal projects to test different rendering techniques and programming methods. Continue learning and be competent enough to explain design decisions. -> I'm working on this one too.
- Expect rejection in the beginning. It may take a couple times, more college courses, or simply meeting the right people to succeed. -> This might be tough!
- Be willing to step up and ask for more challenges/responsibilities once you do get hired. -> This is me!
- If you start getting in over your head once you land the job, seek help and learn from your co-workers. -> No problem.
- Be prepared for a personal component AND technical test at your interview. Be passionate about what you do! -> I plan to keep learning as much as I can to improve my technical competency, but I know I can easily show my desire to work on games!
- Have a personal website so employers can learn more about you. -> Check!
- Start networking! Attend job fairs and gaming conferences, participate in video game-related forums, and do everything you can to make new contacts in the field. -> I need to work on this one.
Saturday, March 14, 2009
About Me
Welcome to my Game Developer Journey blog!
My name is Jeromie Walters, and I promise this is the only personal post you will ever see on this blog. Having held a long-time bias that many blogs simply disseminate unwanted TMI, this is a huge step for me. Having started the discipline of reading blogs related to the field of software development, particulary Jeff Atwood's Coding Horror and certain others I will add to my links section soon, I've come to learn that some blogs can be of great informational value and hope that this one will do the same. Jeff and others have convinced me that I should just start writing. Obviously my personal opinions will be expressed on topics related to game development, but my promise is that there will be no posts simply stating what I had for lunch.
Who am I? I am a software developer for a small engineering company in Ohio. I graduated from The University of Akron with a Master's Degree in Computer Science and truly enjoy the art of programming. Of course, I got into it with the idea of writing games but eventually learned that I couldn't translate my general software development knowledge into game creation. At my current job, I work on a large web application that helps companies manage their business. It's a great company to work for and I get to use the latest and greatest web technologies, but I still feel like something is missing.
I believe my passion is game development. I love to work on something and get to SEE something visibly change on the screen! It's such an amazing rush to work on something and see your creation come to life. I took a couple (sadly underwhelming) graphics courses in college and have spent some time learning Direct3D on my own, especially recently.
I've always been a highly-motivated, goal- and detail-oriented person and I figure if this person can use a blog to try to get a better job, why can't I? I don't expect the game development companies to come knocking quickly (though that would be great!), but even if this blog helps me to just capture my own progress and have a chance to learn from others' experiences (please comment!), it will have been a success. I believe the Internet is an amazing tool for knowledge sharing and hope you will enjoy following my journey to become a true Game Developer!
My name is Jeromie Walters, and I promise this is the only personal post you will ever see on this blog. Having held a long-time bias that many blogs simply disseminate unwanted TMI, this is a huge step for me. Having started the discipline of reading blogs related to the field of software development, particulary Jeff Atwood's Coding Horror and certain others I will add to my links section soon, I've come to learn that some blogs can be of great informational value and hope that this one will do the same. Jeff and others have convinced me that I should just start writing. Obviously my personal opinions will be expressed on topics related to game development, but my promise is that there will be no posts simply stating what I had for lunch.
Who am I? I am a software developer for a small engineering company in Ohio. I graduated from The University of Akron with a Master's Degree in Computer Science and truly enjoy the art of programming. Of course, I got into it with the idea of writing games but eventually learned that I couldn't translate my general software development knowledge into game creation. At my current job, I work on a large web application that helps companies manage their business. It's a great company to work for and I get to use the latest and greatest web technologies, but I still feel like something is missing.
I believe my passion is game development. I love to work on something and get to SEE something visibly change on the screen! It's such an amazing rush to work on something and see your creation come to life. I took a couple (sadly underwhelming) graphics courses in college and have spent some time learning Direct3D on my own, especially recently.
I've always been a highly-motivated, goal- and detail-oriented person and I figure if this person can use a blog to try to get a better job, why can't I? I don't expect the game development companies to come knocking quickly (though that would be great!), but even if this blog helps me to just capture my own progress and have a chance to learn from others' experiences (please comment!), it will have been a success. I believe the Internet is an amazing tool for knowledge sharing and hope you will enjoy following my journey to become a true Game Developer!
Subscribe to:
Posts (Atom)


