JiX Member Posts: 14 From: Finland Registered: 06-17-2001 |
Sometimes (quite often in the last year) I lose my motivation to programming. I'd like to know if someone has a good tips to give for 'getting motivation'. Maybe it's just that sometimes I code too much and then when I encounter some problems I just can't take it anymore. So if anyone has a comment or something please feel free to reply [This message has been edited by JiX (edited July 19, 2001).] |
MeanManInOz Member Posts: 388 From: Hobart, Tasmania, Australia Registered: 06-26-2001 |
I can't say I ever suffer loss in motivation, more likely I find there are so mnany things to learn that half the stuff I want to do I never get to. But in answer - 1/ Make sure you're not biting off more than you can chew. For example. I find a lot of people asking questions on forums and it's obvious they are looking to run before they walk. Whatever you set out to learn, do some test apps first for the sake of experimenting and learning, then incorperate them. 2/ Have several things on the go at once. Then if you hit a wall with one project, you can play with another ( totally unrelated ) project. For example right now I have a 2D Asteroids game that is near finished ( needs alien ships to wander in from time to time and clean up of the intro screen ), a VC add in that will function as a per project bug tracker, an ATL object that consists of add ins to GDI+ ( mainly graphics filters ), a 3D Asteroids game ( very early days, I am still incompetent at OpenGL ) and a couple of other things that escape me because it's been so long since I worked on them. What you'll notice is that the technologies between them are totally unrelated, so if I get stuck on one, another will be a total breath of fresh air. That way I keep programming, I keep motivated, and I find when I go back to a problem the answer has been percolating in the back of my mind. I can't tell you how many of my biggest problems are solved in the shower or walking home.... 3/ Compete only with yourself. If you try to be the best, you'll be frustrated. Just read Richter or Stroustrup and you'll know what I mean. Those guys are just too smart IMHO. Striove instead to be the best YOU can be, because then you'll find it rewarding because you improved, regardless of what other people are doing. 4/ Set daily goals. If your goal is to 'write a Quake game', you'll always have one, distant goal and you'll potter your way towards it. If you set daily goals like 'today I'll get the lighting to work', or 'today I'll build the menu system', then you'll feel more like you're getting somewhere. I hope that helps... |
Briant Member Posts: 742 From: Stony Plain, Alberta, Canada Registered: 01-20-2001 |
I sometimes encounter the same drop in motivation. Here are things that get me back: 1. coming up with a really good design: coding it *after* a good design in is place will be both quicker and easier, and will also give you a pride in your work that will inspire you to do more. I think this is key - if you can do a few things you can be really proud of (even if non-programmers don't understand the big deal, such as designing and coding a really efficient and tight algorithm), you'll enjoy coding more, and thus code more - which in turn gives you more experience as well as ideas, and you start getting into a "positive circle". 2. Money. Honestly, I find this to be a pretty good motivator. I'm working on a shareware project that at times seems to really drag, and I often sluff off and go watch TV instead of working on it. However, when I start to consider the money I should get out of it once I release it (I did some research and number crunching to give me a ballpark figure), and compare that to my current bank balance, I often get right back to work. Related to this, I have some short term and long term business goals I'm working towards, which help keep me on track. It's OK if you have to bump a goal date now and then, but if you have no goals to steer you, you'll never end up anywhere and thus have no reason to code in the first place. 3. Gaming. I often, when I'm sick of looking at code, boot up Unreal Tournament and blast away for a while. Besides being a stress reliever, I find myself wondering how they do certain effects, and it indirectly inspires me as a coder. 4. Reading. Get your mind's gears turning. For me, it doesn't really matter what: programming books give you more knowledge and coding ideas, novels give you product and gaming ideas. Well, those work for me. Maybe they'll work for you too. Brian |
Saint Cheez Member Posts: 85 From: San Diego CA USA Registered: 06-24-2001 |
Thought this was funny Programming Apathy... Hmm... Wonder what that means... eh... Who cares... ----------------------------------------------------------------------------- I will now hope to cover the ametuer programming killer... Yes, thats right... You don't get paid to write a pong clone in basic, do you? --- So, you read all the tutors... And you are now going to embark on a brand spaking new game... You start, you might even get as far as drawing a bunch of sprites for But, suddenly... You know the folder... Its like an attic... But, you know deep down inside, it might as well go into the recycle bin... Its not that you can't program... It is, that thinking of programming for that game, would be like scraping or something like that... It's called Apathy... But wait, I make sure to do the dishes, and clean my room! But, ask yourself... do you enjoy it? 99% of people would say no... You learned to program for fun... You may be a proffesional dish cleaner or room cleaner... ---
Its very simple... What makes you turn in your homework on time... (or close) You would fail right? What would happen if you didn't finish your Pong clone... ... nothing right? But to tell you the truth, I NEVER go into my Crap folder...
(But, this time, I asked for permission...)
Subject: RE: RE: Need help in Basic! Message: > Run the command Thanx... And, I have another query... How come I havn't seen any of your games lately on the internet?
e' hem... But, I realized she was right... The most use they ever got, was writing these tutorz... I mean tutors... e' hem...
Let me go to my crap folder... c:\windows\profiles\radiohands\desktop\Crap (nice name huh...) Now, I will count all the files in my crap folder... Ok, Im in the folder... Now,,, EDIT Now, lets see... at the bottom left-hand corner of the screen, it says... "166 object(s) selected" 166!!! no lie! ------------------------------------------------ Ok, enough talk about the problem... Lets get to the solution... Thats right! solution! And, as soon as you find it out, E-mail me! So I lied, there is no REAL solution... But, I will list many of the reasons games do get finished, and ---
Commitment... that is the #1 cause... When you go to work, you know what is expected of you... ---- To help illistrate this for you, I will tell you about a company that A company that creates games... ID SOFTWARE... GET IT!! ID? LIKE IDEA??!! HA!!!
Credits right? (I can't believe that the only reward you get for finishing a game is How many credits? A TON!!! And, you are at home creating your Wolfenstien clone by yourself!? Why do they have so many credits? Because, they are a team... Wich is more fun, Playing tennis against a wall, or playing tennis against Wich one are you most likely to do longer? ... Here is another example having to do with another game creater... 3D realms... Duke nukem 3d... (by the way) It was supposed to be out in what... 1997? ha! notice how I put the two ## next to the 4 letter words... where was I? The original Build engine (build.exe) was programmed in QB!!! It was built by Ken Silverman... Only one guy... But, it was far away from being Duke Nukem... Apathy probly hit the engine late, and thats when it was picked up And, with the team, Ken and 3dRealms, they Spanked the first person
Although, Ken doesn't program games for money anymore...
Hey, and you want to know some more crappy info? APOGEE (sounds like Apathy...) Have you heard of that company... Yeah... But, they wrote many of thier earlier games in QBasic... but, what do you see at the end of thier games? Credits... A motherload of credits... People got together in QB? Nope... You can do it too... Friends don't like to program? Do a trick that the guys at NASA do... Split up your personalities, and do each job thinking its your only job... It helps in doing every important job good... If you work as a person that changes tires... Think if your only job was to change one tire on one car, wouldn't you --- for example (in game programming)... Start working on nothing but the engine... After the engine is done, start working on the graphics... After graphics, work on sounds or whatever... Forget about the last job you did,,, The people at NASA meditate... go back to your crap folder, and grab an old forgotton file... Change it... Most likely, you forgot what most of the lines of code are for... and thats good! Its a new project! ----------
Well... One very important thing to do, is Project Planning... Speeks for itself doesn't it... Before you open Basic or VB or VC++, Write everything down on paper... thats right... That way, when you get programming, the tedious thought proccessesing is This really helps in code organization... Did you forget what part of your code covers sprite movement? If the sprite movement isn't going right, take out a pen and do the old Draw all of your graphics on paper... Graphics force your engine to work with those graphics only... A good thing to do is to Write the engine, THEN draw graphics and sounds to If your engine supports 3 inch sprites, and you have allready got 12 inch DON'T!!! The work on your engine should be over! Does your car sprite take up 3 lanes of trafic? Change the game into a motorcycle game, or shrink your car... If you were working on a game like that, and your boss wrote the game KEEP TO YOUR NOTES! IF you screwed up on the notes big time, and it doesn't work in the real Organization secretly goes out the window...
For this answer, look up these things... PSUEDO CODE, & FLOWCHARTS! PSUEDO CODE is very simple... It's basically basic code... but, instead of saying -
open "dude.txt" for input as #1 for i = 1 to 100
It helps to leave some things to the actaul programming section of your work Psuedo, as you might allready know, means FALSE... Meaning that if you put this into a compiler, it wouldn't work... If, you wanted to cover a certain part of code as code, you would write it Open file "dude.txt" and, you can get more indepth if you like...
for i = 1 to 100 Close file "dude.txt" !!NOTE!! But, one of the biggest advantages of Psuedo code, is that it can be read If your boss, wants to review your progress, or a team member wants to Although, this is a great advantage over basic Code, you may feel that your A great way to do this, is with FLOWCHARTS... It's self explainitory... You use drawings to show the general flow of a program... One of the problems with this code, is that you can't use FOR NEXT loops... If you ever want to use a loop, you need to set up a counter...
If you can draw a line from start to finish, with no problems, then you If you can't finish, you know exactly where your problem is... I would even go to say, that it is much much easier to use then DEBUG... Except that flowcharting is done on paper... There are a few symbols that you need to learn in order to flowchart... such as...
( finish ) start and finish circles...
--- Code... x = x + 54 THESE BOXES DO NOT HOLD IF STATMENTS!!! here is a crappy example... (start) --- Decision symbols... These are the If Then statments... If a sertain condition is met, they go in one direction... quick crappy example... (start)
see if you can run the program to the end... it should be easy... in the beginning, x is told to be 5 Since, it has been set to five, the answer is yes, and if follows down the If, x didn't equall five, it would follow the no arrow, and go to the code --------- now, the input and output symbol... Its easy... DO NOT get them confused with basic code boxes!!! here is an example
And, here is your basic loop... then, x is added by one... I know that I should have put the print num in between the loop, but I'm too Apathetic, if you will... you could write out this code like this, if you wanted... input num or you could more accuretly do it like this... input num or input num and, there you go... thats all you really need to know about flowcharting... Visualization, will also help the reader of your code... ---------------------------------------------- Shared Game engines... You know what they are... Remember Duke nukem? Here are a few games that have come from that very engine... 1.) Duke nukem (duh) How did those games get created? NOPE... Just as much planning goes on for a Modification (mod) as did the original Documentation, Planning, Flowcharts, psuedo Code... but, most of the boring tedious crap is all out of the way... Try that... Has a friend written a cool piece of code? Whip it out and create a MOD... Once again though... Give credit where credit is due... and thats all I have to say about that... ---------------------------------------------------------------------------- Before I leave you to the dogs, Remember one important thing... If you are creating an engine... Make sure you document constantly... Document how your sprites move... And, if any of these things change, MAKE SURE TO CHANGE THE NOTES!!! Are you writing a PONG game? When you don't feel like programming, Look to see how you can make it smaller... It is much easier to make changes in your notes and documentation, then it If you change the code, you might as well rewrite the documentation for it... If a time comes, where you feel that your needs no longer fit the That leads to apathy... If you have to go through 500 lines of code, When there is a page of documentation for each thing, it is much easier to --- think about the Quake engines... They created Quake 1... How did they create the engine for quake 2? They revised thier documentation, and created a brand new engine... They didn't Revise thier direct code... --- Do you have an image editor that you just wrote? Do you want to revolutionize the way it draws, and saves? Do NOT take the old program and edit it to fit your new ideas... The code is from an old way of thinking... The documentation, is How you came to that way of thinking... and, it can be used to create a whole new way of thinking... But, the code will block you from your goals... And, that will of coarse lead to PROGRAMMING APATHY!!! --- You have been warned! good luck! |
sgstair Member Posts: 25 From: Emporia, Kansas, USA Registered: 07-12-2001 |
gaaa! wow.. I don't even want to think about how much time you spend writing that post well.. If I had that much free time, I don't think my 'stuff' folder would be that big.... hehe Well, I have problems with motivation to at times, that's why I have 6+ projects at any given time.. they get done more slowly, but when I get tired of one, I can always switch to another. -Stephen |
Saint Cheez Member Posts: 85 From: San Diego CA USA Registered: 06-24-2001 |
Sorry, I did not write this motivational piece, but I did like it. My apologies, as I did not wish to give that impression. After reading the piece completely through the second time, I thought it was good. St. Cheez |
JiX Member Posts: 14 From: Finland Registered: 06-17-2001 |
Well... wow, what can I say. Thanx and especially to u Cheez. I enjoyed reading your reply . I only wish it could be easy to find a programming group. I don't know any programmers in the whole country where I live in... And now I just got some motivation. I finished my 'Isometric Random World Generator'. Now it only needs some 'eye-blinder' graphics and a lot of improvements . I'm creating it for my 'finishing project' for my school. But thanxks to MeanMan and Saint Cheez. |
MadProf Member Posts: 181 From: Larnaka, Cyprus Registered: 01-24-2001 |
JiX: you dont know any programmers in finland? try checking the LUGs (linux user groups), there are a LOT of very tallented finnish programmers out there. MadProf |