I want to confess that I have wanted to be a game developer for over 10 years now. When I was in primary school I messed around with games and enjoyed modding them, starting with making levels in Doom. I did a little self study in a few languages and since then I have just fooled around starting little games and never getting far with them. I have so many game design folders of stuff that interests me and I want to have a go at creating, I don't want to say they are good ideas, just things that float my boat. Whats the point in making games if your not creating something that you want to create?
But the issue that has plagued me for all these years, more so now that my current job requires so much of its own study and extra work, is finding motivation. Its alright to have dreams and to think of a piece of software you want to create, but actually spending the time to study programming/computer science, getting experience by creating simple software, and then spending the huge amount of time in a project that will hopefully turn into something close to what you envisioned. I'm not talking about making yourself spend time doing this, I mean enjoying yourself while you do it and choosing this as a hobby over everything else.
I have periods on and off where I get into a routine of study and programming, but then this falls off usually when work or other parts of my life take away the majority of my time. Or I just loose interest.
What I want to know is how you people work yourself up to doing this? Is the secret finding another like minded person? I have often thought the key is to find someone to work with that way you both can help each other and its a lot more exciting. Or is it just the case that if you place a brilliant video game or a women/man on one table and a 2000 page c++ manual on the other, the only people worthy of being game developers are the people who run to the C++ book without a seconds thought?
I just feel kind of bad. I live in NZ and game development is really kicking off and I probably could of been there and been someone if I actually put the hours in. maybe I could have found a team if I was skilled enough.
So before I ramble on anymore, what do you guys do to motivate yourself?
PS - I know some of you will say that I will have to quit my job, go on a course for a few years and then look for any kind of game industry job I can find. Apart from the fact that I don't feel that secure leaving my current job when there are a ton of people wanting to get jobs as game developers, I don't want to work for someone. I want to make my own games. Yes, this is a silly dream and its likely to fail, but the only reason I want to be a game developer is to make the games I have always wanted to make, not work on grey-brown-cover-shooter 26. I have always thought that if I could make some small games (and I mean small 1-2 man games with half a year production time) for experience and found a group of like minded people, I could have a shot at making something cool. I'm still not talking triple A title, the majority of stuff I want to make wouldn't require a big team.
I don't want to sit down at code Final Fantasy 14 over a weekend, probably the biggest game I want to develop is a 3d Rogue-like, I'm talking small hobbiest games that would hopefully have a chance at making some money in digital sales.
How to overcome biggest hurdle - Motivation?
Members - Reputation: 181
Posted 08 February 2014 - 08:17 PM
Moderators - Reputation: 38644
Posted 08 February 2014 - 09:11 PM
For decades I have said that my biggest obstacle to my personal projects is just overcoming myself and inertia.
That is fine if you don't want to be a professional game programmer. Lots of people on the board have a similar attitude.
Following your passions is important. If game development is a smaller passion then by all means do it as a hobby. I have passions and hobbies for photography and painting and music, but they are not my day job. If something else is your day job and you follow your lesser passions of game development on the side, do what brings you joy.
I can't recommend any specific tactic on motivation other than to just get started. It may take 10 or 30 minutes before I enter the groove (nobody likes soaking and stretching a canvas, or dressing properly and heading out into the rough for some nature photography) but once I'm there I love doing it. Even so, I agree with you. Note that I am replying on the site rather than reviewing an afternoon's photo shoot.
Check out my book, Game Development with Unity, aimed at beginners who want to build fun games fast.
Also check out my personal website at bryanwagstaff.com, where I occasionally write about assorted stuff.
Moderators - Reputation: 14322
Posted 08 February 2014 - 09:25 PM
Making games fun and getting them done.
Please do not PM me. My email address is easy to find, but note that I do not give private advice.
Members - Reputation: 273
Posted 08 February 2014 - 10:31 PM
I struggled from the exact same symptoms as you seem to be wrangling with, for quite some time. That, combined with an over-active creative mind made my life a living hell to be perfectly honest. I would be sitting, watching a television show with my significant other, playing with my kids, enjoying a new video game, reading a book, or listening in on a departmental work meeting and all of a sudden an idea would hit me. Not a simple, or generic idea - the idea would hit me fleshed out to the point that I could call it a new project, and until I placed it on paper I wouldn't be able to think of anything else - this began to cause problems, especially with my profession.
I had to do something, and I can say with some certainty that the avenue I've taken has solved most of these problems, and I'm a happier person for it.
Pick one project - This was literally probably one of the hardest things I've ever had to do in my life. Having notebooks and notebooks filled with ideas and illustrations, picking one that I actually wanted to hammer down and complete was quite a painstaking act, but I knew this had to be done. Pick one project that you're dead-set on finishing, one that stands out among the rest. Once this has been completed you can move onto step two.
Define your project - Devise a paragraph of what your project is and what you hope to achieve with it, at the very beginning. This will act as your cornerstone for the rest of the project. Having a definitive goal in mind for your project in words will help you keep focus, and not sway from the target at hand - additionally, each time you go to work on your project you should re-read this definition of your project - just to make sure that you stay within it's bounds.
Divide your project up into realistically achievable tasks - Looking at your project as a whole can become an overburden, and demoralizing - losing the forward momentum to finish the project, especially if you're the only one working towards the end goal. Split your project up into tasks, something that's achievable within a window of a week or so. These tasks may be really small, or be subtasks for a bigger task that you have to complete - either way, being able to check that task or subtask off of a list of things needed to complete your project will keep that forward momentum going - you'll see that you're actually getting close, inching perhaps, to the final product - and that gratification can go a long way to keeping your morale up.
Software development teams do this, and obtain enough information from the stakeholders to create what we call "User Stories". As an example, defining my tasks in a laymen tone tends to help me with completing the task much better - such as "I want to connect Game Engine X to Relational Database Y" or "I want to have a searchable in-game inventory", "I want to understand instantiation as it pertains to C#", "I want to create an actor that can freeform move within my world", etc. etc. These may be small tasks, or larger tasks broken down into smaller subtasks depending on the level of resources and time needed to complete the task.
Keep track of your tasks - There's no sense in creating all of these achievable tasks if you're unable to easily administrate them. Find a software application specific towards task management or some other means to keep track of your progress of the current task you're hoping to achieve. There are oodles and oodles of software applications out there that are specific to task and project management. Try some, try all, find one you like and begin tracking your tasks.
Work on an array of tasks - Not to be confused with working on multiple tasks at once, work on different genres of tasks within your task schedule. If this week's task was creating a small government for a city in your game, etching out the finer details of such with short stories - then perhaps this week's task may be something more technical like studying up and understanding polymorphism. This will allow you to work on different things, while still transitioning to the same goal - the project you've defined, and you're less likely to become bored this way.
Keep a notebook with you - I keep a small, pocket-sized notebook with me at all times. If one of those "AHH HA!" moments comes to attack my mind, or a new idea begins to form - I write it in this notebook, as a brief summary, to keep incase the current project that I'm working on is ever finished. It's possible my current project may go tits up, or what have you - so writing down these ideas and just keeping them close by, without actively working on them tends to keep them at bay for me.
Either way, I hope you're able to overcome your current symptoms and hopefully some of the points I've made help you in doing this.
Edited by DocBrown, 08 February 2014 - 10:39 PM.
Members - Reputation: 1455
Posted 09 February 2014 - 01:14 AM
Programming should be fun. .....like you sit down to program and after a couple of hours something cool appears on the screen. (of course thats not the case when you work for someone else, but then you get paid for it.) If you do it this way, you will have enough momentum/motivation to push through the hard times when you have to research, analyze, plan, program for days without anything appearing on the screen.
Do something small. Make a sketch how the game should look like then list all the modules, features you will have to create. Normally if you cant list most of them the game you chose is not small enough.
...and a 2000 page c++ manual on the other, the only people worthy of being game developers are the people who run to the C++ book without a seconds thought?
If you are dedicated and find joy in game dev, that will come naturally:) And sometimes you have to force yourself doing it. Not all the time but without working hard you wont see much from your dream-games.
(I dont recommend books if you want to gain motivation now. Tutorials, gamedev.net, stackoverflow are a better idea.)
Also.... finish a game. I think game dev is not about spending years planning, making demos, engines(!), engine-fragments, game-fragments, ...but releasing games.(Ive learned that the hard way, LOL)
Members - Reputation: 1048
Posted 09 February 2014 - 01:38 AM
Motivation is something that we need to figure out for ourselves. For those of us who are hobby game-developers, this has to be an intrinsic motivation: we need to want to create for the sake of creating what we want to create.
I understand that this can be difficult, especially when time is limited. As someone with several hobbies, I'm lucky to have temporal separation of activity-availability. My neighbors don't want me playing music after about 8:00pm, so when that time rolls around, I know that it's time to stop drumming and do something else. Sometimes that's coding, sometimes it's hanging out with friends or playing a game or writing or knitting or whatever.
When it comes to choosing which hobby to practice, it's usually a moment-to-moment decision. If I'm playing a game and I get struck with an idea for my game, I'll drop everything and start coding. If I really just want to relax and watch TV or something, I'll stop coding and knit while I watch something. Whatever it is, I know that I have to take advantage of motivation when it comes, because my time is tight and I've a lot of hobbies that want my attention.
Finally, when coding, I find that once the groundwork has been laid I can spend less time coding to see a tangible result. Tonight, for example, I spent about 10 minutes coding a new, albeit small, feature, maybe 10 more minutes cleaning up code to make it fit a bit nicer and remove duplicate code, and it's something that I was able to test, tweak, and get working well within a half-hour. That felt nice. Being able to see and use the changes that you make, the features you implement, makes motivating yourself to continue easier. That's one of the problems with going through a big reference book: you often don't see the results right away, and it's easy to feel like you're spending all of this energy spinning your wheels but you're not getting anywhere.
To fix that, whenever I'm going through a book or tutorial or what-have-you, trying to implement something new or some new way of doing something, I always implement and iterate. If I can't see what I'm doing, what the code is doing, then I'm just copying. I need to understand. Sometimes, in doing this, I come up with better ideas (or ideas that work better for my needs) and hey, I've actually learned something. Sometimes, I end up using a piece of tutorial code as a sort of library (like this little piece of functionality that I recently adopted), but in implementing it, I've expanded on what, before, was a much simpler or less-functional piece of code, and hopefully I've picked up on programming practices, techniques, or something-else that I can use in future projects.
This is just what works for me, and what keeps me typing away when I could probably be doing other things (or doing other things, I suppose, when I could be typing).
Inspiration from my tea:
"Never wish life were easier. Wish that you were better" -Jim Rohn
Members - Reputation: 181
Posted 09 February 2014 - 03:32 AM
Thats exactly what happens to me, I will be playing a game or watching a movie and suddenly I will be extracting things from the media and I keep thinking about what I can take away from the media that will help me, or what I would of done differently. I am terrible at drawing freehand so I usually right down a few pages of messy information in hopes I will remember what I was thinking at the time. I always get vivid vignettes and I want to stop them filling up my memory .
In what way is it best to plan your study and project work? Just a simple calendar or spreadsheet? Is there a particular program you use for organization?
After watching many interviews with "Lord British" AKA Richard Garriot, I really like the old style design document and planning he does in clip lock folders, similar but far more organized than what I do. Nothing like beautiful concept art or maps.
I agree that its important to make sure you understand every line of code in a tutorial to the point you can call on it and modify it yourself, I have caught myself copy pasting once to many. I had a pretty good c++ regime last year where I had the book next to my keyboard so it was easier for me to do some practise each night because it was in my face. Books are so boring though, need more stimulation than that, I'm one of those learn by doing or viewing people.
That code project site looks awesome, does Gamedev have tutorials on languages in particular?
Thankyou everyone for the advice so far, I feel like I really need to change the way I do things this year or I am probably doomed to procrastinate forever and I have already wasted more than enough time.
Edited by Creamy, 09 February 2014 - 03:37 AM.
Members - Reputation: -464
Posted 09 February 2014 - 03:37 AM
As to me it seems that no motivation is a problem but time, or do i notunderstand? If you got a 5 hours a week you cand do it (is there a problem with motivation to do it?) The trouble is IMO that even doing this
70 hours a week (as I do, (or almost)) may be not sufficient to doing something finished/polished - it steel needs yet tremendous amount of time (at least in my case when i am going forward but it needs and burns so much time) that is a hurdle
Members - Reputation: 181
Posted 09 February 2014 - 03:54 AM
Motivation is the major issue, time just makes it worse. Yes the amount of time needed to even finish the smallest project assuming you don't need to study programming and are well experienced is very hard to squeeze in when you work, but getting home from work and sitting down with a whisky then trying to wake yourself up for programming can be a little tough.
Some people seem to have no problem allocating time to work on something and study, but I always run out of steam or get distracted before I get too far.
Members - Reputation: -464
Posted 09 February 2014 - 05:14 AM
Motivation is the major issue, time just makes it worse.
Motivation may be problem for you but there are many many people (like me) who ae zero problem with motivation and this grants me nothing when we speaking about results (motivation can be only problem for some and dont think this is 'major' problem, this is just 'tiny' problem 0.001of real major problems )
For me as i said time is the major problem (not only time needed for conducting a game project from beginning to the polished end) but also this time needed to gain experience to the level of being considered somewhat experienced (which is also counted in years)
And even this ('being experienced' - which takes many years of hard work do not grant you that you will conduct a good game* - you steel need to go much further)
*there are many examples on this, may people are experienced but still not created a good noticable game
thought all this path is possible to be taken and travelled but there comes a major problem - time
So for me the time is maybe one and only one realy big problem (on top of all problems), the other can be just solved by reading the google and an amount of patience and logical (+creative etc..) thinking - but the time needed to embrace/take it all is still a dooming problem.
Edited by jbadams, 19 August 2014 - 11:32 PM.
Members - Reputation: 529
Posted 09 February 2014 - 08:01 AM
Motivation is a very personal thing and when you do something for the fist time its always the harderst!
Also I think that disciple is important when programming even if a bit overlooked when programming is a hobby....
This article should be quite relevant: http://www.gamedev.net/page/resources/_/business/production-and-management/overcoming-procrastination-r3261
By trying to understand yourself and what makes you tick, its possible to improve yourself.
For example, scratching done tasks gives you motivation.
So writing what you need to do and trying to get more things off the list would make you feel like there is some progress being done.
Hopefully this confidence boost will feed it self so that you work more.
By knowing what makes you tick, such as watching something or listening to some music, (hopefully) you can pick yourself up when you feel low and get something done.
Also like others before have said, having a list of pre-defined tasks helps a lot. I guess its because the problem(s) that need to be solved are already set. So rather than spending 10/20 minutes thinking what to do, I can straight away get working. More gets done = more happiness = more motivation to continue.
Here is a nice video which kinda picks some important parts:
Failure, even if its demotivating is very important. Generally humans learn by trying things out and experiencing them. So even if you tried your best on a project and it didn't work out: The architecture was awful.... it took you ages to add new parts to the project.... The main part is that you worked on it and (hopefully) tried your best.
Its not easy to realise how much you will have learned from the experience. So that next time when you try to do this, you will have an idea how to make it work better. Maybe even you will try to apply the newly learned lessons to the project and re-factor it and cantinue until the next problem.
Hence why, starting small and progressively working on larger projects is preferred.
Edited by ZeroBeat, 09 February 2014 - 08:27 AM.
Crossbones+ - Reputation: 7111
Posted 09 February 2014 - 11:05 AM
Here are some things that work for me:
I think the first one might be the most original advice and might sound silly, but I STRONGLY recommend you giving it a try.
Watch Collateral. Any time, I need an initial fire lit under my ass to do something, I take some time to watch the movie Collateral. The underlying message in this movie is follow your dream or it won't happen.
Put it in your schedule. Many people are creatures of habit. If you dedicate particular time slots to learning, your brain is more likely to be on board when it's time to learn. I recommend against Friday night. You've already worked a long week and want to relax some. Here's my schedule:
Monday Night: Just a little
Wednesday Night: Just a little
Saturday: Sometimes alot, sometimes a little
Sunday: Just a little
"Learning" could mean programming practice, reading some game dev articles, or reading programming books. If you can get away with it at work, I recommend using a little bit of work time to read some game dev stuff. It's better than updating your facebook status at least. And if you're using some "work" time, it's like it's "free".
I do recommend actual programming at least once a week.
But keep a little fun in your schedule. All work and no play makes Creamy a dull boy. If all you're doing is working, learning, and programming, you'll burn yourself out. Make sure you have some time in your week to enjoy some of your free time.
Leave yourself a little task to come back to. If you can leave a simple task for yourself to start the next day with, it's easier to start the next day. If all you have is a MASSIVE TASK like a complete refactor of all your game logic, it's easy to skip a day to avoid that big task. But if you have a baby task to start with, you can start your day by knocking that out and hopefully keep going.
Keep a Notes.txt file in your project. I usually have a file in my project to keep up with general notes. A checklist of todo items, reminders of some design decisions, some features. And instead of deleting items you've accomplished, put an X in front of them to check them off. If you just delete them, you won't get the same sense of accomplishment if you see a completed list laying around. Every once in a while though, clean up your checklist or start a new section. You don't want yourself getting lazy by keeping that sense of satisfaction for a list you completed weeks ago.
After you get the basics down, focus on something fun. Once you know some basics of how to use variables, branching, loops, methods, and classes, start hitting game tutorials. Find a framework that works for you. I find VisualStudio Express, C#, and XNA pretty easy to mess with. Instead of printing your name on the screen ten times in a random position with a console app, put ten asteroids up on the screen. Getting something you can move around on the screen is much more motivating, because its easier for us to see the value of that.
Also, don't get bogged down in the details. Sure you might need a control library for buttons or text boxes, or some logging system. For all but the simplest framework items, I recommend using a free library. This way you can concentrate on the fun stuff.
Tell some people about it. If you can have a small supportive audience you'll feel obligated to keep at it so you don't disappoint them. Kids or significant others are great for this. They might even have small feature ideas you can do. (Or huge features you can't do).
Get a programming buddy. Having a "work-out" partner is good. When one of you has a moment of weakness, the other will usually step up to encourage the partner.
Keep your goals small and reasonable. Get my ship moving on the screen (reasonable goal). Code a networking framework to support an MMO server architecture (unreasonable goal). Split up those big tasks into smaller bite-sized chunks.
Anyway, this is how I keep motivated for learning/game developing. I only REALLY started being serious about it for the past three months. So far, I'm making some steady progress and chipping away at my game slow and steady.
Hopefully, some of these tips will work for you.
P.S. Since I recommended Collateral, I also have to recommend the TV Series Firefly. Not because it motivates you but because I'm a huge Firefly fan.
Still Flying - My GameDev journal
The Shilwulf Dynasty - Campaign notes for my Rogue Trader RPG
Members - Reputation: 181
Posted 10 February 2014 - 03:31 AM
Thankyou everyone, very helpful information. I can definately say I know the feeling of being lazy more often than I should.
My biggest problem is probably time and time keeping, I have a lot on my plate and I always end up wondering where the time went and trying to recall what I am up too.
Don't have a lot of time today and I need to hit the hay. One thing that was mentioned was finding someone to work on a project with or at least help each other, how many of you have done that and has it been successful?
Members - Reputation: 165
Posted 11 February 2014 - 12:40 AM
Wow, some of the comments here are really helpful .
finding someone to work on a project with or at least help each other, how many of you have done that and has it been successful?
I REALLY believe that's ten times easier to get motivated or take things seriously if you get someone to work with. But I've had mixed experiences with this.
It's important that the person you're working with it's at the same level (or close) as you are. I'm talking about knowledge and also motivation or attitude towards the project. I'm in college studying computer science so it's not difficult for me to get a "group of people who want to make games" (i think we all want to ), but some people just want to show how much they know and how they can do things better than everyone, or on the other side people who don't really want to learn or put effort. That kind of things are even worse in my opinion than trying to code alone, it's hyper demotivating.
I'm actually working with only one friend, that i know it's in the same page as me in this things and that's much better than a bigger group that has guys with big egos.
I can definately say I know the feeling of being lazy more often than I should.
I don't think 'being lazy' is always bad thing, sometimes when i don't feel like coding i just watch a movie or play a game (let's say 2 hours) and after that i can focus and get to work. Sometimes if i try to code when feeling lazy i just keep staring at the code and do nothing for 3 hours, so 2 hours of lazyness and one focused is better than that .
And one last thing, this could seem a little ridiculous but having small rituals can help. For example making a coffee, or move the computer to other place of the house, put some specific kind of music...Sometimes one associates some part of the house with work or with relaxation, for example i can't study in my bedroom so i go to the kitchen.
Members - Reputation: 1777
Posted 11 February 2014 - 03:39 AM
Skimming through the replies, I see plenty of good advice/motivations/etc.
For me personally, it was/is always a bit the same like going to the gym. I don't feel like going, at all, even though I know it's good for me. But once you're there, it's alright!
Gaining the motivation to start something (and keeping it) probably differs per person and it's something you will need to figure out for yourself. There are of course a lot of common ways to keep/get motivation, so trying out what others do might work fine, or not, or lead you to a way that works for you.
One of the things that worked very well for me, is a bit scary, but it greatly helped me in my motivation and even in doing things a bit more right and with more thought in it, was to write about it on a blog.
I personally wrote some stuff in a tutorial kind of way so it could also serve some good to others and kept me sharp in what I did, because it was/is also important to know what you're actually doing. It doesn't even have to be a tutorial, posting progress on your project will not only give you comparison in how much your project is advancing, but you can also get some (valuable) feedback on it. Just put a link in your signature on related forums or post it in related places. It might not attract hordes of people (or maybe it does, who knows?), but it might just give you that little push in the back when you're looking back at some posts.
Also depending on what your aim is, don't let time or other people/your surroundings influence you too much in your demotivation. You will always run into obstacles or obligations that require you to take time off from development. Do it at your own pace. You can probably also structure your time. Allocate some time a week that you dedicate to developing, even if it just an hour. Make sure that you will not get distracted by social networks or watching cats on the internet, create a work environment for yourself.
Also take note that an interest isn't always the way you should go. Sometimes an interest is best kept theoretical. Like I love biology and astronomy and I watch/read plenty of stuff about it, but that's as far as I will go on those subjects. Applying biology and astronomy is probably a tad different than game dev related stuff, but it should get the point across.
In any way, Give yourself some time to think about what you really want and how you want to do it, there is a lot less pressure if you're doing stuff just as a hobby. And if you find out this is perhaps not your thing, there is not shame in that!