by date
Plan for Paul Malyschko
Plan for Paul Malyschko
| Name: | Paul Malyschko | ![]() |
|---|---|---|
| Date Posted: | Jul 03, 2004 | |
| Rating: | 4.0 out of 5 | |
| Public: | NO | |
| Comments: | YES | |
| RSS Feed: | or Subscribe with . | |
| Profile Page: | View profile page for Paul Malyschko |
Blog post
Game in a Day... Week... Two Weeks... Or How Not To GID
One of the problems of being competent in more than one major stream is that inevitably, you end up not quite having the skills you hoped you'd have. At times, it can lead you to strange decisions, like participating in a GID when you may not have a hope of actually completing it. So here are a few lessons I've learnt, titled:
How Not To GID
Lesson 1: Know your software.
My first GID, in fact, the first time I had programmed in a very long while, was not so much a GID, more of a, "this is how you set up a VC.NET project and compile a basic SDL program". Oh joy.
Also, hailing from a console-programming and Linux/BSD-heavy background, setting up VC.NET projects is a little foreign to me. In short, experiment and learn your software... go through tutorials and get a working codebase before you waste precious hours on setting up.
Lesson 2: Don't code an engine.
In my GID stints (which did not equal a day, check the next lesson to see what I mean), I started in C++, after setting up classes for god knows how long, I broke open the dusty old C code. Boy, was that a transition. Memory management just isn't the same anymore, but I can't help myself; I do love my pointers.
Don't overdesign; don't switch languages halfway through; don't code an abstract framework anticipating the needs of the next 3 GIDs. It may seem obvious, but when you're in the thick of it, these seem like natural things to do. Avoid it like the plague.
Lesson 3: Manage your time.
My first GID also came around a time when EVERYTHING was happening. Void War artwork, exams, late assignments... the list goes on. I did not have a complete day to spend on a GID, so I intended on breaking it up into stints. A week later, I decided it would be a good time to look at the code again, after taking 3 days too long on a programming assignment I thought would be easy.
Big mistake.
If you have too many things to do, don't GID. If you can't spare a weekend, don't GID. If you want to get drunk and pass out in the middle of the day, don't drink beer while GIDding (go me!). Plan ahead, during a time when you aren't counting the seconds you have left before a deadline.
Lesson 4: To HELL with it all!
I do art; I design games; I code; yet at the moment I have NO GAME to my credit. Why? I'm forever too busy to put time into making a game. TO HELL WITH IT ALL! If you have said any of these things:
"I'm too busy to GID"
"I'm don't have the skills to GID"
"I'm coding a game now, why should I GID?"
"I don't have any ideas for a GID"
"I'm an artist and I don't GID"
You are a prime candidate to GID. The most important lesson is, if you keep making excuses, you're never going to do it.
Too busy? WHAT'S ONE DAY?
Don't have the skills? LEARN ON THE JOB.
Coding a game now? FINISH ONE TODAY.
Don't have any ideas? ONE WORD: REHASH.
An artist? TEAM UP WITH A CODER.
I wasn't sure if I had the time management or coding skills to complete a GID, and I was right. However, the act of participation is in itself the most empowering thing, as you realise your dreams needn't stay dreams; that they are manifesting even as you code.
Not only that, but GIDding is the best way to prototype a game to see if it's going to be fun. You may not have all the features you want, but you'll decide what goes in and what stays out, a crucial skill to learn in any field.
Thanks to Tom Bampton, Phil Carlisle, Nauris Krazue, Craig Fortune and the rest of the GID crew who've made the often painful process of coding games a delight to bear.
Addendum
For Matt, who insists on having screenshots for every .plan
While this appears simple, it's actually about four separate data structures with cascaded linked lists (in C, which if you know about coding with pointers in C, is ALL FUN!). Also, I've yet to get the screen to clear... at least it goes to the other side of the screen now, instead of crashing everytime it goes beyond the screen boder.

And more:

How Not To GID
Lesson 1: Know your software.
My first GID, in fact, the first time I had programmed in a very long while, was not so much a GID, more of a, "this is how you set up a VC.NET project and compile a basic SDL program". Oh joy.
Also, hailing from a console-programming and Linux/BSD-heavy background, setting up VC.NET projects is a little foreign to me. In short, experiment and learn your software... go through tutorials and get a working codebase before you waste precious hours on setting up.
Lesson 2: Don't code an engine.
In my GID stints (which did not equal a day, check the next lesson to see what I mean), I started in C++, after setting up classes for god knows how long, I broke open the dusty old C code. Boy, was that a transition. Memory management just isn't the same anymore, but I can't help myself; I do love my pointers.
Don't overdesign; don't switch languages halfway through; don't code an abstract framework anticipating the needs of the next 3 GIDs. It may seem obvious, but when you're in the thick of it, these seem like natural things to do. Avoid it like the plague.
Lesson 3: Manage your time.
My first GID also came around a time when EVERYTHING was happening. Void War artwork, exams, late assignments... the list goes on. I did not have a complete day to spend on a GID, so I intended on breaking it up into stints. A week later, I decided it would be a good time to look at the code again, after taking 3 days too long on a programming assignment I thought would be easy.
Big mistake.
If you have too many things to do, don't GID. If you can't spare a weekend, don't GID. If you want to get drunk and pass out in the middle of the day, don't drink beer while GIDding (go me!). Plan ahead, during a time when you aren't counting the seconds you have left before a deadline.
Lesson 4: To HELL with it all!
I do art; I design games; I code; yet at the moment I have NO GAME to my credit. Why? I'm forever too busy to put time into making a game. TO HELL WITH IT ALL! If you have said any of these things:
"I'm too busy to GID"
"I'm don't have the skills to GID"
"I'm coding a game now, why should I GID?"
"I don't have any ideas for a GID"
"I'm an artist and I don't GID"
You are a prime candidate to GID. The most important lesson is, if you keep making excuses, you're never going to do it.
Too busy? WHAT'S ONE DAY?
Don't have the skills? LEARN ON THE JOB.
Coding a game now? FINISH ONE TODAY.
Don't have any ideas? ONE WORD: REHASH.
An artist? TEAM UP WITH A CODER.
I wasn't sure if I had the time management or coding skills to complete a GID, and I was right. However, the act of participation is in itself the most empowering thing, as you realise your dreams needn't stay dreams; that they are manifesting even as you code.
Not only that, but GIDding is the best way to prototype a game to see if it's going to be fun. You may not have all the features you want, but you'll decide what goes in and what stays out, a crucial skill to learn in any field.
Thanks to Tom Bampton, Phil Carlisle, Nauris Krazue, Craig Fortune and the rest of the GID crew who've made the often painful process of coding games a delight to bear.
Addendum
For Matt, who insists on having screenshots for every .plan
While this appears simple, it's actually about four separate data structures with cascaded linked lists (in C, which if you know about coding with pointers in C, is ALL FUN!). Also, I've yet to get the screen to clear... at least it goes to the other side of the screen now, instead of crashing everytime it goes beyond the screen boder.

And more:

Recent Blog Posts
| List: | 05/07/06 - Headache - Early Adopter version coming shortly 07/28/05 - Plan for Paul Malyschko 04/23/05 - Plan for Paul Malyschko 10/15/04 - Plan for Paul Malyschko 08/19/04 - Plan for Paul Malyschko 07/19/04 - Plan for Paul Malyschko 07/03/04 - Plan for Paul Malyschko 06/15/04 - Plan for Paul Malyschko |
|---|
Submit your own resources!| Matt Fairfax (Jul 03, 2004 at 04:21 GMT) |
| Phil Carlisle (Jul 03, 2004 at 06:40 GMT) |
Seriously though. What you say is absolutely right. Making games is the ONLY way to learn how to make them. Theory is fine, but it is just thoery.
You dont know what you dont know until you put it into practice.
So I'd recommend everyone to try these kind of exercises, but also heed pauls advice. Engine coding is NOT what this is about. Even if Tom wont stop bloody doing it :)
| Tom Bampton (Jul 03, 2004 at 08:47 GMT) |
Re: your clear prob, before you start rendering do an SDL_FillRect() (or whatever its actually called, i forget) with whatever colour you want.
@Phil,
You're a fine one to talk about engine coding, matey :) Besides, I dont do engine coding in a GID, for exactly the reasons Paul mentioned ;-)
T.
| Craig Fortune (Jul 03, 2004 at 11:34 GMT) |
I like this .plan a lot Paul, it really covers the essense and dynamic of working on a GID. A GID is not to be taken lighty, mainly cos a GID is in fact a rather stupid thing to actually attempt to do at the end of the day :)
As for your comments about artists it'd be great to see some more artists come into the channel and team up with programmers. Currently its only me and Nauris as the "pure" artists, which isn't enough for a GID that has more then 2 projects taking place. (you simply just cant start working on more then one project, your head will blow up)
So if theres are artists out there looking for a bit of a laugh, and a (surprisingly) effective way to get your work noticed (I got a nice amount of comments + emails after my first GID) then pop into the channel and offer your help. The work that you create in the GID doesn't need to be great, it simply needs to be passable and WORKABLE.
[ I'd strongly suggest not using a GID as a way to learn your exporter of choice though, that would probably lob a HUGE spanner in the works. ]
| Nauris Krauze (Jul 03, 2004 at 19:29 GMT) |
You must be a member and be logged in to either append comments or rate this resource.



4.0 out of 5


