PDA

View Full Version : Motivation



Crisp_N_Dry
23-11-2005, 08:05 PM
Just a quick query regarding any techniques you guys use to keep yourself motivated to program. When I first started I couldn't stop myself from programming but as a newcomer I found my haste would always lead me into trouble because I wasn't thinking things through. After a long hiatus from programming I decided to take things slow. While I make fewer design errors and tend to make more stable programs it means I am reluctant to advance at any sort of pace in case I break my code. For me, breaking it is like hitting a brick wall and I very rarely find the impetus to repair it and move on. What methods do you guys use in order to keep progress going without hitting hurdles on the way?

JSoftware
23-11-2005, 09:51 PM
i make marks..

when i complete a new section of a design spec then i create a new folder where i put all the code fromlast mark and develop on from there. if i screw up or my design is wrong then i still have the old source which i can go back and develop on from :D

i really lack on motivation at the time though :cry:

Traveler
23-11-2005, 10:15 PM
i really lack on motivation at the time though

Same here. Haven't touched Delphi since the end of the 4e4 contest. Tbh I picked up World of Warcraft again. Getting lots of ideas from it, that much is sure. But as long as the little wow icon on my desktop remains more attractive than the Delphi icon, those ideas wont be realized anytime soon.

In regards to the question, i'm not sure I can help you there. I think its more of a personal thing. Unsually when I break something in the code, its because its a mess. And if thats the case, then its a sign for me to clean up. It can be a bit of a pain to do, but afterwards the rewards are certainly there.

alexione
23-11-2005, 10:33 PM
I write TODO list - I put down any idea that comes to my mind! Right now, I have almost 100 points in TODO list for game engine NODE (rendering engine, client/server architecture, UI improvements, ... ... ...). So, when I get tired of client/server job, I do some stuff on UI, then I jump to optimization, then back to render engine....) I found it refreshing to change area I work on.

User137
23-11-2005, 10:44 PM
Lol, wow was the main thing that unmotivated me too for last half year maybe. Especially free playtime on beta server month ago was a strict "no coding" season :P
It's hard to recover, you need an active project group that keep you busy which i don't have.

technomage
24-11-2005, 12:23 AM
for me I try to work on small units of functionality. So I say "I'll get the planet rendering system written as well as the editor", that way you get to see come of the results at small intervals. I found that many people just start onthe graphics and leave the important (and boring stuff) till later, I think it#s better to do some interesting stuff, then some boring stuff and so on.

As for keeping code, I use CodeSave http://www.torry.net/pages.php?id=47 which is a free source control system, it's quite light weight if you can't be bothered to setup cvs or subversion. However if you're not used to checking your code out when you want to edit it it can be a bit of a cculture shock... :wink:

LP
24-11-2005, 12:49 AM
When it comes to developing a freeware project doesn't give me direct bonus (for instance, Asphyre, TMDC entry, etc.) motivation becomes an issue. Although motivation has its own seasons (i.e. a time when you get inspired by an idea or a time when you are have lack of any ideas whatsoever), I've noticed few things that help to keep up my productivity:

1) Avoid distractions at all costs. Playing a game or visiting GameDev.Net Lounge (if you know, what I mean) can be a very good distraction which not only gives a loss of an hour or two, but also gets you tired and you won't have any motivation to develop things after that. Additional distractions may include chatting by ICQ/MSN/similar and others. I've noticed that if I avoid all of these distractions for a given time, I won't have to worry about motivating myself for the project :)

2) In your project, develop most significant parts first; parts that gives a great visual and/or technical difference. This way, you can naturally see "your progress", which also works as self-motivation.

3) If you are at the very start of your project, sometimes it's difficult to find a "starting point" and it also lowers your motivation (so you can't really start a project). In this case, I keep a series of steps (usually common to any project) to get started with the project structure. After this, you can apply point (2) to work on most significant parts first.

4) Lack of sleep, stress and hunger usually seem to have impact on working motivation. In my case, lack of sleep can usually drop all my working efficiency and since I can't acoumplish much during first development hours, my motivation drops. In order to solve this, I have to make many futile attempts to sleep enough :)

5) Motivation and working efficiency seem to have related to the time of day (perhaps because you get used to it). Several months ago, I had greater motivation in the morning (like 7 a.m. or so) and could acoumplish many things at that time. Now, it's in the evening (about 6 p.m. and later) - where I can motivate myself for a project. What I do is to follow a certain working schedule, so I work on a project where my motivation/efficiency is high.

6) Single project focus: try to work on a single project at a time and try to finish it before working on the next one. The slower a single project goes, the more likely you will lose motivation to keep working on it.

From all things, I think the most important point is (1): distractions. If you feel lack of motivation for a certain project, try the following experiment:
a) Uninstall all games from your machine, put the disks away, so you won't remember about them.

b) Download all manuals / docs and other files required for the project, then shut down your internet connection, if possible. At least, close all chat software like MSN/ICQ/etc., and don't read forums/e-mail during development phase.

c) If you completed steps (a) and (b), it's more likely you can get to work for a period of time without distractions. Get working on the project, even if it's not very motivating at first. Eventually, you'll get "into the mood" - a condition where you get high concentration in something. Motivation will come in as soon as your acomplishments will speak for themselves ;)


Sorry for large post: these forums are silent enough =)

Sly
24-11-2005, 06:11 AM
I've been suffering from a very large lack of motivation over the past several months. There are a few factors behind this.

- I've been working full-time on the games development industry for over five years now. I'm reaching the point where people burn-out from the constant crunch periods, severe lack of structure in the design and development process, and constant pressure to do better than everyone else. This is just going to get worse with the introduction of the next-gen consoles such as Xbox 360 and PS3. The pressure is going to increase to create better, more realistic games, but development difficulty is going to escalate due to having to manage multiple CPUs. The Xbox 360 launch has already been marred by many reports of games crashing and/or freezing. I am not looking forward to working under that pressure.

- I got married. That takes a lot of spare time away.

- I have been left behind by the fast pace of advances in 3D. I could not tell you how to use a pixel or vertex shader, let alone write one. Render states leave me confused. Matrix math is fine as long as it stays simple. Anything more and I'm a blubbering mess.

- The progress of the Delphi IDE is greatly disappointing. Each release now seems worse than the previous while it gets more and more bloated with new features that Visual Studio introduced several years ago, except Visual Studio did them well. FreePascal is an interesting option, but there is no decent IDE/debugger yet. Lazarus is nowhere near ready for general use.

I'm looking at going back to grassroots development. I've ordered the new GP2X handheld game system which is made for homebrew development. I will not be using FreePascal for it. I will be using C. Why? Every resource available for development on this unit is in C. I have seen mentioned that FreePascal has support for ARM, but only ARM7 and not THUMB yet. The GP2X has two ARM9 CPUs. If I'm wrong, correct me.

I've had this entire week off work recovering from a minor operation, and in all that time I had no motivation to do any games stuff in Delphi. It's just not as fun as it used to be.

cairnswm
24-11-2005, 06:33 AM
Like Sly I've been through a rather rough patch at work. For about 3 months I was working 60 to 75 hour weeks. It takes a toll and ment I had no time for doing my own stuff.

That period ended about 8 weeks ago. It took me about 5 weeks of being pretty much a zombie (do minimum work and ignore anything that can be ignored) for me to get over that lack of motivation.

The last three weeks have been the opposite. Suddenly I want to do stuff again. In the last three weeks I made my first 3D game, am learning mobile game development with J2ME etc. Of course this means nothing is getting completed, but hopefully I'll settle down and start finishing things again soon :)

I think the most important thing for me about motivation is the love/passion I have for my hobby. At the moment I am now finding time to make my games (even sometimes stealing time at work for it). As it is my hobby, when I dont feel like doing it I dont need to. Putting pressure on yourself to do it will make yourself less motivated.

I agree on removing distractions. My biggest distraction are my kids, (my wife understands when I want to code :) ), and often I need to ensure that my kids are nowherenear me when I want to do gamedev coding.

Last thing. If you are not motivated to make new games, take a break. If you are really passionate about making games as your hobby, you WILL come back to doing it - I promise. If you find that you would rather take up a new hobby, go for it. Dont make yourself do something just because you think you should! Do it because you love doing it.

Crisp_N_Dry
24-11-2005, 07:16 PM
Fantastic response guys. A few things I like the sound of:



Uninstall all games from your machine, put the disks away, so you won't remember about them.

Damn good idea Lifepower, although I'm not sure if I have the will power to delete BF2. It really is that good.



write TODO listI have a TODO list for my current project and I find it is definately helpful when it comes to finding direction for my programming time.


Dont make yourself do something just because you think you should! I do love doing it, I always knew I wanted to program games from the first time I played one aged 7 but my problems lies in overcoming design flaws. While my design skill has improved especially since I started writing more object oriented code I found it helps a great deal when I find something doesn't quite work how it should. However I still find I have trouble finishing the majority of my more complex endeavors. And I guess the answer to that would be to Keep It Simple, Stupid but where's the fun in that? :D

btw, Grats on the marriage there Sly.

WILL
24-11-2005, 10:54 PM
It's funny, but I think the one thing that can make or break your bigger projects has absolutely nothing to do with programming. It's project management. You are working on a project so why not treat it as such.

I found out that the more I draw out and write up goals, benchmarks, bug lists andother to do like lists, the more things progress or move along nicer.

Following this though, you will probably run into your bigger problems quicker. Lack of artists, musicians, story writters, etc... run out of good ideas, marketing problems, whatever it is...

But that has nothing to do with the project's management, it's just the facts of your available resources. If you plan fully, you can even predict and plan for these too. It's all in your planning stage.

marmin
25-11-2005, 12:17 AM
For me, motivation comes from the playablity of the arcades games of the 80ies. Programmers didn't have nothing, and still.. with a224 x 320 resolution the graphics and gameplay are awesome . I want to make this too.


...


I am not a xbox 360 -super - graphics - ( but - too - complex -and -no -gameplay -anymore - ) fan. But that remark was extremely Off-Topic!!! :lol:

LP
25-11-2005, 03:31 AM
For me, motivation comes from the playablity of the arcades games of the 80ies. Programmers didn't have nothing, and still.. with a224 x 320 resolution the graphics and gameplay are awesome . I want to make this too.

For the very same reason I still try to contribute to TMDC (http://www.taat.fi/tmdc). This is because although the hardware was rather limited back in DOS days, the creativity was not (what you do and how you do it was up to you). Things are rather different now: "how to do it" is defined in Micro$haft SDK and "what to do" is dictated by the beurecracy (seems like after Windows Vista I might have to throw off my OpenGL books which I haven't even had the chance to read well). Few cents for the motivation :?

Sly
25-11-2005, 01:55 PM
Uninstall all games from your machine, put the disks away, so you won't remember about them.

Damn good idea Lifepower, although I'm not sure if I have the will power to delete BF2. It really is that good.
I just spent most of today trying to play multiplayer BF2 over LAN. BF2 is so much less stable and less mod-friendly than BF1942. EA bought DICE after BF1942 was so successful, and as a result what could have been a great game has been crippled. The BF mod community is crying out because BF2 is not mod friendly, and they do not support co-op play over a LAN (stupid marketing decision to promote online play). This is one of the reasons I think game development is heading for a crash. Games are becoming too complex, therefore being released with more bugs. The big publishers are letting the marketing department determine the features that a game supports, not the developers. Therefore we end up with buggy, crippled games being released. That's killing my motivation to work in this industry as well.


btw, Grats on the marriage there Sly.
Thanks. Passed the first anniversary a few months back.

LP
25-11-2005, 03:35 PM
I just spent most of today trying to play multiplayer BF2 over LAN. BF2 is so much less stable and less mod-friendly than BF1942. EA bought DICE after BF1942 was so successful, and as a result what could have been a great game has been crippled. The BF mod community is crying out because BF2 is not mod friendly, and they do not support co-op play over a LAN (stupid marketing decision to promote online play). This is one of the reasons I think game development is heading for a crash. Games are becoming too complex, therefore being released with more bugs. The big publishers are letting the marketing department determine the features that a game supports, not the developers. Therefore we end up with buggy, crippled games being released. That's killing my motivation to work in this industry as well.
I thought it was just me. I noticed that in most modern games the complexity increases and the overall quality decreases. UT2003 + UT2004 was a disappointment to me. UT2003 was plain buggy and when I got UT2004, I practically saw UT2003, or what it should look like in finished form. Why should buy two separate game titles, if they can't even sum to a decent single game? Just bought Half-Life 2 - another disappointment. WTF is the story about? When I got my first pistol (after about 30 mins of play!), it was already awful boring. Not to mention that while playing it, the "story script" got messed up few times (for instance, the girl got stuck in the elevator entrance so she wouldn't hit the switch button). And it took quite time to deinstall too, not to mention the sadness of wasted money.

Traveler
25-11-2005, 10:08 PM
Just bought Half-Life 2 - another disappointment.

Too bad you feel that way. I thought it was one of the better games we've had in a few years. Perhaps I'm a sucker for PFS games, but I think it was worth every peny. I still play CS:Source often (though not as often as I used to now that I play WoW) and when it comes out, probably will buy the addon as well.

Good calls on the motivation subject though. As far as Wow goes theres a better option available. Dont buy any gamecards :)

LP
25-11-2005, 11:34 PM
Just bought Half-Life 2 - another disappointment.

Too bad you feel that way. I thought it was one of the better games we've had in a few years.

Off-topic:

This is only matter of opinion (perhaps because I was kinda HL fan). I'm upset about it because of the storyline and because of bugs. IMHO HL1 storyline felt much more realistic and more justified than in HL2. Although HL1 was neither bug-free, but it really gets boring having to re-load three times just so that NPC will *do* what it is supposed to do (so you can advance in the story line).

Here are some examples:
1) The girl got stuck in the elevator several times after her speech (I was standing in the back) - without actually entering it. She was supposed to enter the elevator and hit the damned buttons! She also got stuck exactly on the entrance (i.e. made one step inside, but suddenly got frozen). Throwing boxes on her back didn't help. Had to reload the game twice, so that she would proceed.
2) Teleporter room - Barney just stayed still when he was supposed to get to the console (it was my turn to get teleported). I even tried throwing stuff in his face, etc. - no effect. After few reloads, he finally got to the f#@aking console.

I didn't use any patch (if there is any) though. In my personal opinion, HL2 is just a commercial sequel to HL1 and besides its physics engine (which is not new and easily beaten by UT2004 IMHO), there is no great deal about it.

Sly
26-11-2005, 01:23 PM
I'm with Traveller in that HL2 was one of the better examples of recent games. I only found one bug in it and that was a pop-through-the-ground bug that resulted from trying to push the physics engine a bit too far (swampboat jammed in the entrance of a shipping container that had a couple of crates in the doorway, and me in the middle of it all). The game soon recognized that I had fallen through the world and it automatically restarted me back at the last save point. Steam is a good way to keep the game always updated (except for the one time where for about half an hour it was automatically delivering a broken patch).

Granted, your experiences have been different as you explained. I have not found fault yet with the scripted AI and have been totally immersed in the story.

HL2, in my mind, has been an exception to the rule because Valve is still an independent developer. Vivendi were just the distributor of the game, and therefore had very little say in what went into the game. EA bought DICE and therefore had a great deal of influence in what went in and what did not get in to the game.

jasonf
01-12-2005, 12:38 PM
I find that feeling like you're not making any progress is the biggest motivation killer. Followed by the feeling of being overwhelmed.

You sit in front of the screen thrying to think your way around a problem.. all of the solutions to a seemingly innocent problem all of a sudden mean a weeks additional coding. That kind-of puts a wet sponge on the fire for me.

So what I do is step away, do something else to do with the project. I let my brain work on the problem in the background and get on with something else, like graphics, music or SFX.. maybe scripting.

Then I revisit the problem and see if I can come up with a better way around it. More often than not, I've reprioritised the problem and decided I can do it better another way, or.. not have to do it at all.


Right now I've got a problem.. I need to make destuctible buildings that work within the Torque engine .. EY!! Back off with those pitch forks fellas!!.. :) There are several approaches I can take, all involving a massive investment in terms of coding/scripting and art.. some more than others, but there's an element of each in every solution I've come up with. I've got to give it a lot of thought 'cos each solution has got additional issues of performance (network traffic, rendering) and gameplay issues. So I think about it for a while... then, I do something else like work on weapon scripting or modelling, then revisit it.. still no solution.. OK work on the UI.. and so on. There are enough small tasks I can complete to feel like I'm making progress.

Keeps me motivated because I'm always busy and always making progress. Not getting stuck in a hole fighting to get out.


I learned this lesson the hard way on a few other failed projects where I'd coded myself into a hole with a half thought out solution which became a mill stone around my neck.