Sign in to follow this  
mike25025

Finishing my engine (problems with motivation)

Recommended Posts

mike25025    494
I've finally got a game engine design that will work well. I have all of the interfaces finished and now I have to implement everything. Its a lot of code that needs to be written. The stress is too much for me. I just cant stay motivated long enough to finish any part of it. Im not sure what I should do. How can I say motivated? Anyone else have this problem? What did you do?

Share this post


Link to post
Share on other sites
Drew_Benton    1861
Quote:
I've finally got a game engine design that will work well. I have all of the interfaces finished and now I have to implement everything.


Wait, how do you know it will work well? Right now I get the impression that you have planned it all out, but have not actually made it and tried out the concepts you are thinking about. The problem is that a lot of things that you think will work fine, 99% of the time don't. I just had an idea that I was working on, the self managing objects.

I just wrote like 3 variations of it - in the past 3 days I've spent 45 total hours on it - yes, 45/72 hrs! It was a failure of concept because one of the most vital parts that it used would not work in the way I designed it. So you know what I did? I went to where I failed at, and figured that out first, to which, I did all tonight in a matter of hours, with the help of others [smile].

Quote:
It's a lot of code that needs to be written.


You have no idea! It's an engine! Of course it's going to be a lot. I mean I've written more engines (frameworks) then I can remember, none to which I have finished, but I have all the code laying around, it's a lot of freaking code man!

Quote:
The stress is too much for me. I just cant stay motivated long enough to finish any part of it. Im not sure what I should do.


Hold up. Why are you making an engine for? This programming is supposed to be Fun, not stressful! You should be happy that you have made a plan and are now following through with it. They key is to break it down and work on various parts. You don't have to sit down and do it all at once, you will burn out. I know I am immune to that, for I sit down and just code for 10+ hours at a time [lol], but I know how anyone else would get tired from that.

Quote:
How can I say motivated? Anyone else have this problem? What did you do?


Best way to stay motivated is to set your goals and enjoy when you reach them. For instance, let's say you want to get the font stuff done in a few weeks. Let's say you do, then marvel at the fact you just made something. Hey it's far from finished, but you learn to crawl before you walk. You should progress with your design and be more motivated as you see your goal closer and closer, I mean yea, it takes time, but times flies.

You want to stay motivated? Talk about yout ideas with other people. A lot of times programmers get in a mode that they don't talk out what they are doing, so they end up building up all the stress and stuff and burn out more quickly. Who knows, someone may be able to give you an idea that you never had before.

You say you have a good design that will work? hell, share it with me [grin]. I don't have anything like that done in the past few years I've been programming. I'm just now working on one aspect to what I want to be my engine, and I've put an unnatural amount of programming into my own different projects and have nothing to show from them - I just have the experience. So you definitly have me beat there.

So, cheer up! Enjoy yourself! If things get to much take a break, your code won't just leave you, although I'd worry if you had visual source safe...[lol]. Anyways, feel free to ask/comment/request anything that I've said. I'm always open to PM's and almost always on GD (I know I have no life [smile]). If you want to post here, that's cool too, I have tons of programming philosophy just dying to get out. Best of luck!

- Drew

Share this post


Link to post
Share on other sites
DMINATOR    240
Yep Drew you are right, I am also working on my engine, but there is no motivation problem. Maybe because I worked so much and stopping the work is just forgetting 3 months of work :(. I didn'tt had a clear concept , I knew that it would not work from the start, so I just made a different classes that had standard functions, and worked on the implementation. Currently I am making particle system, it's almost finished , it didn't take quite allot of time because the basic things like - movement , collision detection , drawing - are structured and tested , so it's just basic copy-paste.

So the best way to stay motivated ? Is to Work -> See progress -> Show some progress to others, then Work -> See progress -> Show some progress , and so on :)

Share this post


Link to post
Share on other sites
Kylotan    10007
Break down what needs to be done into a list of smaller things. Try and make them all easily accomplishable within a day or two. Then go through them one by one. Any large task is easier to approach when viewed as a sequence of small tasks. (Except jumping across a wide chasm, for example.)

Share this post


Link to post
Share on other sites
Aiursrage2k    320
Try coding only the most essential portions of the code (get the app up and running), then you go back and begin fleshing things out. For instance there is no need to overload all the operators you have in your interfaces right away. In this way if you become bored with coding one area you can switch to another.

Share this post


Link to post
Share on other sites
Mak    899
As a Software Engineer with OCECD (Obsessive Compulsive Engine Coding Disorder) I can say with (a little) authority, that everyone so far has offered sage words of advice - heed them well!

When I look back at my own engine, I could almost cry at the thought of how much effort has been put into it. I have spent whatever spare time I have had over the past 6 years working on it... and numerous times I have almost given up and thrown it all away. In realtime "man hours" it probably equals about 6 months - and no, sadly it is NOT "state of the art" (at least visually, yet...) it's just one hell of a time-sucking hobby!

Everyone has different techniques for self-motivation. If I lose my way, I take one of the smaller "fun" things that provide instant "reward" and work on that. I find anything that produces a nice visual output is best - like a particle/beam system (as DMINATOR mentioned), or finding that one line you wrote during a Sometimer's Moment that was killing your frame rate.

Just try and bear this one thought in mind... there is little quite so ego-inflating as seeing all your sprites/models wander around the level on their own, bumping into and/or shooting at each other for the very first time.

Keep it realistic, and keep it fun, and you should do just fine :)

Share this post


Link to post
Share on other sites
DrZoidberg    126
yeah it's pretty hard to get motivated when there is so much to do, and it doesn't help that it will take a handful of errors ... i mean hours (what's that called when you mean to say something and something totally different comes out?) to even get something on the screen.

in the past one and a half years i've had countless failures on game engines and finally i have something that i can say is good enough. my suggestion when working on something like this is to slowly implement your design in small steps. you say you have your interfaces all set up, sp choose an interface and get which ever system uses it all finished and done, test it out, continue on your next implementation. i find doing that really helped me out.

best of luck.

Share this post


Link to post
Share on other sites
Quote:
Original post by Drew_Benton
This programming is supposed to be Fun, not stressful!


Oooh... pretty... colors...

Ahem.

I'd second Kylotan's recommendation. I, like so many others am working on a game engine. It's rather daunting at times to see the sheer amount of stuff that needs to be done, but then I look at my super-awesome checklist of features to add in notepad and the big task gets broken down into nice little manageable tasks. Good luck!

Share this post


Link to post
Share on other sites
gunning    749
All the articles by Steve Pavlina are excellent (www.dexterity.com). In particular, you may find that Overcoming Procrastination and From Slump to Supercharged are especially helpful for you. Overcoming Procrastination provides some general tips to keep on track with your projects while From Slump to Supercharged is more of a philosophical discussion about your inner self and gaining the confidence to succeed.

I hope this applies to your situation.

Share this post


Link to post
Share on other sites
mike25025    494
Thank you all for your suggestions. Ill try to finnish my engine in small parts. I was trying to do it all at once and it was too stressful.

Share this post


Link to post
Share on other sites
darklordsatan    258
Id say my motivation to gon on programming is a mgs 2 trailer I have. Everytime I feel like im too bored to go on, I just watch it and have this overwhelming feeling and then I say "some day ill get there", and then start coding back over.
Likely, watch a nice trailer of your fav game or simply play it, and then Im sure youll feel like youll have to finish that engine to make some alike game someday not too far away
Good look dude

Share this post


Link to post
Share on other sites
DMINATOR    240
I just remembered how it is motivating me sometimes. I play a game, its not that bad, but somethings it is really pissing me off, so after a few minutes I curse the game the engine AI and everything, the I quit it and go to code my engine again, so my game won't have these problems.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
My motivation is the image of a check for $250,000 every couple of months
from a publisher.

Hey, maybe I'm just a poser.

Share this post


Link to post
Share on other sites
Cipher3D    340
Or conversely you go "dammit I have to make my game as fun as this! back to coding!"

I know all too well what you mean. A big part of it is getting feedback, so get together with some friends (online's okay, but friends you can see physically are better) and start sending them your builds, even if it annoys them and they don't bother to build it. (*cough*) Sooner or later they'll start commenting on it, and it's a great way of getting you off your ass playing Counter Strike or something (*cough*).

I would recommend playing games for inspiration...but we all know how those turn out... (long-ass Solitaire runs).

Share this post


Link to post
Share on other sites
JD    208
I'm working on a large project and what I do is to break it up into smaller pieces and then tackle each piece separately on its own. I'm always looking for ways to accomplish more with less. You might want to look over your design and look up some techniques/patterns that might cut down the code. Maybe use 3rd party tools/code/utils to further cut down on work needed. It's pretty normal to feel overwhelmed and I often do when looking up other's codebase. Sometimes even my own and it's funny when I see a portion that I forgot I wrote.

Share this post


Link to post
Share on other sites
Ive been coding my engine for like 2 years all own my lonsome. Just do a bit each day when time permits. If you can, keep a log of what you have done, what needs to be done and what you are doing. This will keep your mind on the tasks at hand and it will serve as a usfull reminider. Date the entries and try to add some humor into it, this will save total bordom at some parts. My log is on my site in my signiture.

The most important thing to do is to keep a final product in mind. I view my engine to one day be the next UnrealEngine 3 (I then wake up). Unless the dream is there, the journy can never happen.

Happy coding!!!

Share this post


Link to post
Share on other sites
Thaligar    142
wow, I'm not the only one out there,

because of the fact that my study is bulls**t and awesome stressing the only way to feel better is putting some new code into my engine (I'm actually working at it for 4 years), to make it work faster, improve the quality or make the life of the programmer (me) easier, then lean back and enjoy once more the imagination of what it will look like (in the far far future),

thats my way of self-motivation,

greets tgar

P.S.: yeah its hard to self-motivate but you have to start

Share this post


Link to post
Share on other sites
Knartz    122
Quote:
Original post by DMINATOR
I just remembered how it is motivating me sometimes. I play a game, its not that bad, but somethings it is really pissing me off, so after a few minutes I curse the game the engine AI and everything, the I quit it and go to code my engine again, so my game won't have these problems.


*g* this is funny *g*
i'll also have this "motivation-breakdown" sometimes.
semms to be that i'll try out my unpatched vampire the masquerade - redemption

'... oh no , not again. get out of that edge! **cking collision detection, stupid ai !...'

Share this post


Link to post
Share on other sites
Anri    972
Well, I'm in the process of putting together a very small "engine" that spans a few classes.

The first one I hit was to make a class devoted to handling basic maths operations. These range from simple percentage methods to parametric line-intersection methods. With this in hand, I could procede to do a few graphics demos.

Now, I've grown tired of writing out numerous DirectX initialisers etc so I've set about making a class for DirectGraphics. After that, I will put DirectInput in it's own class.

To sum up - one step at a time. ^_^

Share this post


Link to post
Share on other sites
Marmin    523
If the stress is too much for you, it may be not the time to implement such a thing. Take a step back and go for something that is easier. Gives more fun too..

Share this post


Link to post
Share on other sites
Galapaegos    277
mike25025,

Whenever I need motivation, I do one of a few steps: One is to buy, play, and lose myself in a game for as long as it amuses me (always sucks when you get a game that you put down after 10 minutes). Another is play a previous game that you own that has graphically gorgeous/or specific to something that really amazes you-type game. And play the hell out of it. The third is checking out flipcodes (and sometimes here) iotd's. I always get really interested whenever someone makes something shiny, which sparks the whole "oouuu, I wonder how they did that!" notion.

Well those are my two pennies stuck to the wall with gum...

-brad

Share this post


Link to post
Share on other sites
hplus0603    11356
Pick the simplest (least dependencies) interface, and write some test cases for it. Then stub out the implementation of that interface, and run the test cases. Watch them fail. Now, implement code to make them not fail, until the test cases all pass, which proves you completed that interface. (If you see the interface is not complete at this point, you need to improve your test cases).

Now, pick the second-simplest thing, ideally that doesn't depend on things other than the thing you already wrote, and write test cases for that. Watch the test cases fail. Write code to ...

If you don't know why you're writing an engine, then write down a game design (can be simple) and start writing that game. Whenever you come to some part that the game needs that the engine is supposed to provide, implement that part of the engine. At least then, you have context for the "why" (which may lead to re-design of the engine).

Share this post


Link to post
Share on other sites
Guest Anonymous Poster   
Guest Anonymous Poster
I'm going to complicate this discussion a little as it's something I've wanted to talk about for a why so, well, here's my chance. I used to code all day every day, hours and hours, between the age of 14 and 19, I used to be coding stuff way ahead of the things people my age should've been coding, but then I started playing MMOGs. The problem I have now is that I spend all my time playing MMOGs, they're just outright fun, I enjoy them, the problem being I enjoy them so much I can't motivate myself to code because despite the fact I so badly want to write my own code, produce something as fun as the games I'm playing I just can't motivate myself to do it when I find just playing the games more fun.

So my problem is, although I really, really enjoy coding and also, without meaning to sound big headed was really good at it also I can't get myself to actually do it because I just find playing games MORE fun. Almost every waking minute I'm not at home on my PC - be it in the shower, at work, out at the pub I find myself thinking through coding problems, I have the clearest picture in my head about writing a distributed MMOG server, or a perfectly designed oop engine yet the second I get home to my PC I find myself double clicking that Dark Age of Camelot icon instead of firing up MSVC.

So how do I get round this? I do love coding, I do enjoy it, I am pretty good at it, I do have many wonderful project ideas, I do know how to portion my projects into small bitesize easy to produce chunks - I just love playing games more. I guess I just really suck at time management?

Share this post


Link to post
Share on other sites
BS-er    181
Quote:
it will take a handful of errors ... i mean hours (what's that called when you mean to say something and something totally different comes out?)


They call that a Freudian slip when what you actually said may be closer to the truth than what you meant to say.

As far as motivation, my advice is to stop coding and get out while you can!!!

No seriously I eventually gave up on my engine because my expectations were far too lofty to develop in my spare time after programming at work all day. Also I got discouraged by the rapid advancement of graphics technology.

Don't let me discourage you though. I mean to point out just how challenging it is, and cut yourself some slack. Approach it without pressuring yourself too much.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this