• Advertisement
Sign in to follow this  

Self set Challenge: 2 month dev cycle

This topic is 2327 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've set myself a personal challenge; to turn around a game inside of 2 months, while also working full time. I've decided that over the next year (starting a month ago) I'm going to work towards being able to turn around a game inside of 2 months.

What has spurred this somewhat bold idea?

So far, I've always worked on one pie in the sky idea or another, and this has usually resulted in a fun, but fruitless, process and very little playable material. I spent no less than 3 years trying to produce something resembling GTA3 with zombies (grand theft zombie or similar), but while I was doing this, the industry was moving around me. If I can reliably turn around a game inside of 2 months, then i will be able to turn around a commercial game product given externally set deadlines. Or so goes the theory.

I've set myself challenges before, but these challenges have had far-future ending dates and uncertain goals. I know based on things I've done in the past that if I focus on something I can churn out a vast amount of not-terrible code in a short amount of time, even with a few arbitrary requirements. I've spent years studying how games are put together and can quite successfully teach others to do it, so why not do it myself?


[b]The reward:[/b]

If I succeed within this dev cycle (allowing for things such as moving house at the beginning of july, ludumdare, hopefully visiting some family early next month) I will buy myself a 360 and pay the subscription for publishing XNA games. I've set my deadline for a playable prototype at August 19th, which is approximately 8 weeks after my start date on June, ignoring the week I moved house.

[b]The litmus test:[/b]

My game has to have the following features:

[b]Maintainable[/b]
The code has to be maintainable; not necessarily perfect, but I want to avoid my usual "object orgy" approach to programming; to this end I'm using a component based architecture. Although some would say that component based architecture is Object Orgy writ large. Rapid prototyping does mean that you can throw away a lot of code but i dont want to throw away ALL my code as this is very wasteful.

[b]Playable[/b]
This is critical. the player has to be able to drive around the level, in pursuit of some goal, while being attacked by enemies. I've started implementing a very very basic system of seperation between semantically "engine" code and semantically "game" code. I'll do some cleanup once my goal is achieved.

[b]Performance[/b]
I'm using c# and this produces some performance challenges which are outside of my usual comfort zone. I've given myself a slightly challenging goal - no allocations at runtime in normal circumstances (i.e. with basic level planning, I need to be able to avoid too many run time allocations). This is important on the 360 because the GC is not so sophisticated, having various performance issues not experienced on the PC platform. (every 1mb allocated triggers a full recursive mark and sweep). So far, I've used a limited amount of object reuse / pooling to overcome this problem. The ability to use structs (a value type in c#) for math and logic is critical here also and has helped considerably. On modern hardware, it seems that a copy of a small to medium sized value type is cheaper than dynamic allocation.

[b]3D[/b]: Yes, the game is 3d. believe it or not, provided I have a reasonable bit of physics middleware, I'm just as happy working in 3d as I am in 2d. I've picked up the physics engine BEPU which so far, appears to be very well engineered, and most operations with it don't allocate huge amounts of shit to be collected by the GC.

[b]Sound, music[/b]
Just the basics; placeholder artwork which is integrated properly with the rest of the world, thus demonstrating that I am actually capable of turning around such a system quickly enough.

[b]Scripted events[/b]
A storyline is impossible without this. The initial prototype will consist of a scripted demo level, with hopefully about 10 minutes of gameplay.

I have a blog on tumblr documenting my progress here;


[url="http://newoldstuff.tumblr.com/"]http://newoldstuff.tumblr.com/[/url]

I began my challenge in its current form on the 21st of June, the same day I wrote my basic lighting functionality for 3 directional lights. I'll be taking a few days out because of ludumdare on the 19th-22nd and so my final prototype should be arriving on the 26th.

Tonight I will implement my damage modelling system to accompany my projectile system (which took a few days but which I'm quite proud of because it works and its damn fast to boot).

[Edit] Oops, I actually started on the 21st

Share this post


Link to post
Share on other sites
Advertisement
I was thinking of doing something like this recently, since I've had the same problems with "pie in the sky" projects that had vaguely defined goals. Good luck with the project, I can't wait to see what you've made by the deadline. :)

Share this post


Link to post
Share on other sites
Good luck!

It's very doable. I do this with Flash games right now, for a living. Have you considered making them instead of downloadable games? You might find you can make quite a bit of money working on your hobby. It's also very satisfying to be able to upload your game to Kongregate / Newgrounds and get thousands (or millions if your game is good) of views, feedback and criticisms. Downloadable games generally aren't as easy to share.

Share this post


Link to post
Share on other sites
Not to be the pessimist but your goal is to turn a game in two months but you're settling for a playable prototype? Why not work to a completed game or polished demo? There's a million prototypes out there, far fewer finished games. Personally, I think 100% completion is the most important part for hobbyists.

Share this post


Link to post
Share on other sites
I second Church; my last project was a 3-month project in C++ and I actually made a working prototype (in Java) in a few days.

Share this post


Link to post
Share on other sites
[quote name='ChurchSkiz' timestamp='1311854231' post='4841537']
Not to be the pessimist but your goal is to turn a game in two months but you're settling for a playable prototype? Why not work to a completed game or polished demo? There's a million prototypes out there, far fewer finished games. Personally, I think 100% completion is the most important part for hobbyists.
[/quote]

I think one of the rapid fire indie talks at GDC talked about this. His point was that having one finished quality game will outshine 50 working prototypes, so you should work toward a finished game rather than a working prototype. I forget who the opposite side of the coin was, but he showed someone who made something like a prototype a day and considered them 'finished' and claimed that all of his 'finished' games were probably less of an accomplishment than Braid simply because they weren't actually finished games.

I tend to agree. Prototypes are only as good as the finished game you make from them.

Share this post


Link to post
Share on other sites
I wont be trying to sell the prototype - the whole point of the 2 month dev cycle is to eliminate my tendency to over-engineer everything. I need to be able to turn around a product in 2 months.

I'll no doubt keep a lot of what I do for the next phase (again, 2 months) and that product should be saleable. Bear in mind that I'm starting from scratch in a new language and dev framework. I cant go for a 6 month dev cycle and release something polished because there is a danger that I will fall back into my old routine of working for 18 months on nothing.

Share this post


Link to post
Share on other sites
I think 2 months for a complete prototype/concept with fully fleshed out features is a good goal. But, along the lines of ChurchSkiz's thoughts, I think it needs to be followed up by another month or two of good polish and finish work.


Good luck.

Share this post


Link to post
Share on other sites
[quote name='speciesUnknown' timestamp='1311864491' post='4841618']
I wont be trying to sell the prototype - the whole point of the 2 month dev cycle is to eliminate my tendency to over-engineer everything. I need to be able to turn around a product in 2 months.

I'll no doubt keep a lot of what I do for the next phase (again, 2 months) and that product should be saleable. Bear in mind that I'm starting from scratch in a new language and dev framework. I cant go for a 6 month dev cycle and release something polished because there is a danger that I will fall back into my old routine of working for 18 months on nothing.
[/quote]

If you have access to it I'd watch Andy Schatz' presentation on his Monaco development cycle. Definitely don't underestimate the time it takes to finish/polish.

Share this post


Link to post
Share on other sites
[quote name='way2lazy2care' timestamp='1311871392' post='4841694']
[quote name='speciesUnknown' timestamp='1311864491' post='4841618']
I wont be trying to sell the prototype - the whole point of the 2 month dev cycle is to eliminate my tendency to over-engineer everything. I need to be able to turn around a product in 2 months.

I'll no doubt keep a lot of what I do for the next phase (again, 2 months) and that product should be saleable. Bear in mind that I'm starting from scratch in a new language and dev framework. I cant go for a 6 month dev cycle and release something polished because there is a danger that I will fall back into my old routine of working for 18 months on nothing.
[/quote]

If you have access to it I'd watch Andy Schatz' presentation on his Monaco development cycle. Definitely don't underestimate the time it takes to finish/polish.
[/quote]

That sounds like a good idea, but, does anybody have a link to this? Googling turns up various older things.

Its important to note that this is not a team project, its a one-man-band thing, and the first prototype wont have a lot of content (mostly it will be a complete "engine" with a single playable demo level).

Share this post


Link to post
Share on other sites
[quote name='speciesUnknown' timestamp='1311890493' post='4841872']
That sounds like a good idea, but, does anybody have a link to this? Googling turns up various older things.

Its important to note that this is not a team project, its a one-man-band thing, and the first prototype wont have a lot of content (mostly it will be a complete "engine" with a single playable demo level).
[/quote]

I think it's called, "How to win the IGF in 15 weeks," but I'm not sure if you can find it for free anywhere. I know it's in the GDC vault, but that's not free.

Share this post


Link to post
Share on other sites
[quote]His point was that having one finished quality game will outshine 50 working prototypes, so you should work toward a finished game rather than a working prototype.[/quote]
what happens if the 50 prototypes are like minecraft and the finished game is anything else (except perhaps warcraft or cod) :D


[b][url="../../user/110386-speciesunknown/"][color=#B57438][b]@speciesUnknown[/b][/color][/url] [url="../../user/110386-speciesunknown/page__f__3"][img]http://public.gamedev.net/public/style_images/master/user_popup.png[/img][/url][/b]

So what are you making?
The most important thing is to have the game playable day 1!

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1311976575' post='4842320']
[quote]His point was that having one finished quality game will outshine 50 working prototypes, so you should work toward a finished game rather than a working prototype.[/quote]
what happens if the 50 prototypes are like minecraft and the finished game is anything else (except perhaps warcraft or cod) :D


[b][color="#B57438"][b]@speciesUnknown[/b][/color] [img]http://public.gamedev.net/public/style_images/master/user_popup.png[/img][/b]

So what are you making?
The most important thing is to have the game playable day 1!
[/quote]

I'm rushing every aspect of it, so the polish everybody is talking about might be nonexistent, but the idea is that its a mission based vehicle shooter set in cyberspace. Yesterday I implemented the particle system, by expanding the projectile system, so that particles can be physically simulated (or not) as I wish. You can already drive around, and fire the cannon, tonight I'm adding death behaviour to my current "debug NPC" the "two boxes and a cylinder of doom" (they look like a turret sort of).

I started out with a 2d framework which i and some other students build for a 2d game which didn't go anywhere, so playability in the first day wasn't possible. But now I have the projectile system, i should be playable in the next few days. From that point, any "engine" features I implement will be in direct support of gameplay.

Share this post


Link to post
Share on other sites
[url="http://anarchistsunited.com/games/propaganda/"]Heres some games[/url] Ive done (excluding work stuff) In total Ive done over 100 so have a good idea of whats required & how to plan
now this statement 'i should be playable in the next few days' is worrying. It should be playable within an hour. Im not joking, it will not be fun or good but at all stages it must be playable

A/ add player
B/ make it moveable
C/ add basic scenery
D/ add an enemy (make it moveable)
E/ add weapons
F/ add it so you can shot enemy
G/ add your particles

I think youve done the first 2, now you should be on step C not step G (or whatever)
Always do the important stuff first

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1311982851' post='4842353']
[url="http://anarchistsunited.com/games/propaganda/"]Heres some games[/url] Ive done (excluding work stuff) In total Ive done over 100 so have a good idea of whats required & how to plan
now this statement 'i should be playable in the next few days' is worrying. It should be playable within an hour. Im not joking, it will not be fun or good but at all stages it must be playable

A/ add player
B/ make it moveable
C/ add basic scenery
D/ add an enemy (make it moveable)
E/ add weapons
F/ add it so you can shot enemy
G/ add your particles

I think youve done the first 2, now you should be on step C not step G (or whatever)
Always do the important stuff first
[/quote]

This is similar to the process I use for a 1 week or couple of days dev cycle, but for a 2 month cycle (something ive not done before, to be fair) i've spread these things out and put them in a different order. The main difference is that I create a basic implementation of each thing before the game is playable and then, in the last 3 weeks or so, i go back and change each basic implementation to suit the game. So goes the theory. This theory will be refined as time goes by.

Share this post


Link to post
Share on other sites
[quote]So goes the theory. This theory will be refined as time goes by. [/quote]
well thats the theory ;)
bugger theory, results and reality is what you should be concerned with.
OK If I wanted to call your bluff I'l say ok you had this working demo in a week (now polish so what did you do for the next 7 weeks?)
i.e. WHAT iM TRYING TO SAY IS i THINK YOU (sorry caps lock) might be slipping into the overengineering buzz (Ive also been guilty often in the past, thus Im trying to impart my wisdom)
Hell I started a new game on the 24th (its now the 31st) you can play it and all, u could play it day one (*), it may be fun or it may not, hard to say when you make something, just like writing songs.
I can give you a link to this game, (fresh eyes) you can tell me whats bad and that, but can you do the same? i.e. a game doesnt exist as an idea its physically gotta be explored/experienced first by other ppl.
Mate are you truly serious about doing this game in 2 months? cause the idea of sticking it all together in the last ~40% of project time is not a winning solution. This is me as the guy on your shoulder (wisdom) speaking.

(*)a screenshot is not on the above link, well my last 3 things aint on the above link

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1312082898' post='4842725']
[quote]So goes the theory. This theory will be refined as time goes by. [/quote]
well thats the theory ;)
bugger theory, results and reality is what you should be concerned with.
OK If I wanted to call your bluff I'l say ok you had this working demo in a week (now polish so what did you do for the next 7 weeks?)
i.e. WHAT iM TRYING TO SAY IS i THINK YOU (sorry caps lock) might be slipping into the overengineering buzz (Ive also been guilty often in the past, thus Im trying to impart my wisdom)
Hell I started a new game on the 24th (its now the 31st) you can play it and all, u could play it day one (*), it may be fun or it may not, hard to say when you make something, just like writing songs.
I can give you a link to this game, (fresh eyes) you can tell me whats bad and that, but can you do the same? i.e. a game doesnt exist as an idea its physically gotta be explored/experienced first by other ppl.
Mate are you truly serious about doing this game in 2 months? cause the idea of sticking it all together in the last ~40% of project time is not a winning solution. This is me as the guy on your shoulder (wisdom) speaking.

(*)a screenshot is not on the above link, well my last 3 things aint on the above link
[/quote]

When you first started out on this rapid development cycle, did you make the game playable in 1 day? Or, did you develop this process much later? I'm entering ludumdare on the 19th, and ill probably take your advice - make the game playable within an hour.

I'm not sure how I could have made this game playable within an hour, or even a day. I started out without any physics or logic at all - it took me a day or so to set up the physics engine I'm using and get a tank to drive around. Then I spend a couple of days on the ballistic system.

Share this post


Link to post
Share on other sites
[quote]When you first started out on this rapid development cycle, did you make the game playable in 1 day?[/quote]not sure at the start (its a few years ago) Im not sure exactly when the change came, for work (flash developement) I had to show stuff within the day (this was the catalyst, do it or dont get paid is a great motivator)
Q. do you need physics?
i.e. its not absolutely essential to the game is it! this is what I mean, just get the tank moving when the player presses the key (later on you can flesh it out with semi-true physics or whatever) if you think it will improve the game.
Focus on what is essential to the game first, youve set yourself a tight deadline, thus you have to do this or else whats gonna happen is the deadline will loom and then youre trying to put all the pieces together & youre running into problems, or it doesnt work as you imagined. This will happen mate.

Share this post


Link to post
Share on other sites
I was thinking the exact same thing the last few days, and with the exact same deadline(2 months). I think it will help me get focused and drag me out of these eternal unfinished projects. So, good luck to you and me I guess!

Share this post


Link to post
Share on other sites
I thought I ought to update this thread now that the 2 months are up.

I didn't manage to get the game idea finished to a worthwhile state; working full time takes too much time out of the day. I'm going to have to slow it down if I plan to get 2 months worth of dev done while still working full time.

Anyway, ill wrap up the game since I started it, and see where I can go from here. Maybe I need to think up a less intense development cycle.

Share this post


Link to post
Share on other sites
[quote name='speciesUnknown' timestamp='1314270249' post='4853590']
I thought I ought to update this thread now that the 2 months are up.

I didn't manage to get the game idea finished to a worthwhile state; working full time takes too much time out of the day. I'm going to have to slow it down if I plan to get 2 months worth of dev done while still working full time.

Anyway, ill wrap up the game since I started it, and see where I can go from here. Maybe I need to think up a less intense development cycle.
[/quote]

how far did you get ?

Share this post


Link to post
Share on other sites
[quote name='ryan20fun' timestamp='1314274169' post='4853596']
[quote name='speciesUnknown' timestamp='1314270249' post='4853590']
I thought I ought to update this thread now that the 2 months are up.

I didn't manage to get the game idea finished to a worthwhile state; working full time takes too much time out of the day. I'm going to have to slow it down if I plan to get 2 months worth of dev done while still working full time.

Anyway, ill wrap up the game since I started it, and see where I can go from here. Maybe I need to think up a less intense development cycle.
[/quote]

how far did you get ?
[/quote]

I got a tank driving around (with a nice skid steer behaviour) and turrets shooting at you. My ballistics system is pretty good as well. I massively upgraded my component based system, worked out how to use object pooling, and made some minor improvements to my resource loading systems. I simply didn't get to spend as much time as I had hoped - it seems that two months of dev time cannot be compressed into two months worth of spare time. Who'd have thought it [img]http://public.gamedev.net/public/style_emoticons/default/biggrin.gif[/img]

So I wont be buying a 360 or paying any apphub subscription yet, at least until I am certain that I can be productive. Ive spent a lot of the 2 months implementing engine behaviour that I needed for the game, rather than any game play programming.

Share this post


Link to post
Share on other sites
so basically you didnt work on your game at all :wink:, what you listed were mainly parts of the engine, thats the reason why you didnt finish it, hell you were only perhaps 10% of the way in, if that. Im not rying to sound mean but just realistic.
By coincidence I finished a game yesterday, Ive just gotta name it & upload it to googles web store site.

Mate no doubt youve heard the saying work on the game and not the engine, .... well, its true.
Next time try this (and I cant emphasize this enuf) get it playable on day 1.
Trust me, you do this & you will have a game finished in 2 months

Share this post


Link to post
Share on other sites
[quote name='zedz' timestamp='1314485772' post='4854577']
so basically you didnt work on your game at all :wink:, what you listed were mainly parts of the engine, thats the reason why you didnt finish it, hell you were only perhaps 10% of the way in, if that. Im not rying to sound mean but just realistic.
By coincidence I finished a game yesterday, Ive just gotta name it & upload it to googles web store site.

Mate no doubt youve heard the saying work on the game and not the engine, .... well, its true.
Next time try this (and I cant emphasize this enuf) get it playable on day 1.
Trust me, you do this & you will have a game finished in 2 months
[/quote]


I think that the game idea I was trying to implement is of sufficient complexity that i really needed a lot of backing framework - call it engine, API, framework or whatever. The point is, there was a lot more basic ground work required than I had anticipated. I havn't been trying to implement an engine for the sake of the engine, everything I have implemented has been in some way targeted at the game itself, so the old adage "write games not engines" is not relevant here. The game was a 3d vehicle combat game with semi-realistic physics and a stylised renderer - and at the same time, i was trying to implement a theory I've long had about a combination of DoD and component based models.

Anyway, I'm in the process of wrapping up the game functionality to something playable so I can look at more realistic goals, either in terms of time frame or game complexity. Its not been a total loss.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement