Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2 3

Author Topic: How does Toady handle such a huge project?  (Read 3416 times)

Muz

  • Bay Watcher
    • View Profile
How does Toady handle such a huge project?
« on: July 11, 2009, 10:59:39 am »

I've been trying to work at some... guideline for starting (and finishing!) massive projects in indie gaming, and it seems like Toady One is one of the very few people to pull it off right. It's a massive list of things that need to be done. How does Toady even list his plans without having them overlap?

How does Toady pick which of the hundreds of tasks he's going to work on next? Does ThreeToe handle sorting out things?

And how much time does Toady spend on game design, before implementation? What happens when something can't be implemented, because other new ideas get in the way, or technical difficulty?

I've noticed that Toady also uses some placeholders, like attributes and cave-ins, whereas other developers would avoid it until they can get the final.. no questions there, just an interesting observation.
Logged
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.

Im_Sparks

  • Bay Watcher
  • Half man. Half machine. All messiah.
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #1 on: July 11, 2009, 11:15:23 am »

He picks what he does by what he wants to do.

It's done when it's done sort of deal for time. Though this release has been running quite long.

You sound kind of arrogant in your last line.
Logged
Well treat me like the disease like the rats and the fleas, A-ha-ha! A-ha-ha!
Well treat me like the sea oh so salty and mean, A-ha-ha! A-ha-ha!
Let's shake hands if you want but soon both hands are gone, A-ha-ha!
Cut me down like a tree like the lumber or weeds, well discard who you please like the leaves off a tree. Drag me out of the sea and then teach me to breath. Give me forced health till I wish death on myself. Ah! Ha! Ha!
March on! March on! March on! March on! MARCH ON!

Dakk

  • Bay Watcher
  • BLARAGLGLGL!
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #2 on: July 11, 2009, 11:21:29 am »

If toady didn't use placeholders, we probably wound't even have a DF to play, since practically everthing will be developed/expanded upon in future releases.
Logged
Code: [Select]
    ︠     ︡
 ノ          ﺍ
ლ(ಠ益ಠლ)  ┻━┻

Table flipping, singed style.

Corona688

  • Bay Watcher
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #3 on: July 11, 2009, 12:05:10 pm »

I've noticed that Toady also uses some placeholders, like attributes and cave-ins, whereas other developers would avoid it until they can get the final.. no questions there, just an interesting observation.
Right, because code pops out fully formed from the developer's brow.  Everything has to start somewhere...
Logged
You never know when you might need a berserk dwarf to set loose somewhere.

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #4 on: July 11, 2009, 12:44:41 pm »

Practically everyone who wants to get anywhere uses placeholders.

Yes, theoretically it's wasted effort; in practice it's not all that much effort compared to the real thing, and it acts as scaffolding for your other features. Plus, chances are you'll be able to keep the feature's requirements in mind if you don't have the placeholder; that's true for short projects, never mind multi-year ones.
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

Ohaeri

  • Bay Watcher
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #5 on: July 11, 2009, 03:43:25 pm »

Not everyone uses placeholders, but in my experience they form the bare bones of structure that can then be expanded on without having to wreck entire sections of code. I have known a lot of developers who really hated using placeholders though. Most of the people I know who don't use them put in simplified systems instead.

It is not very common to see the approach of "put in a bookmark here now, fill it out later" taught in schools. In any case, I have never seen that mindset espoused in any school I've been to. Which is a real shame, because it takes a lot of the pressure off of the coder!

To answer your other questions, I would imagine that Toady set out with a clear goal of (most of) what he wanted implemented before starting, covered in great detail in his notes. If you know basically what your project will look like and have the base structure planned out in your mind, the coding is much simpler and can be clearly broken up into sections. For example, if you know that you want there to be food preparation as one system and alcohol preparation as another, you don't get bogged down trying to implement booze-making in the same system as food-making and then have to spend a lot of time sorting the two out when what you want becomes clearer to you later.

All of these are just guesses of course. :)

You didn't sound arrogant to me, just surprised that the approach he was using was different than you might have expected.
Logged

Capntastic

  • Bay Watcher
  • Greetings, mortals!
    • View Profile
    • A review and literature weblog I never update
Re: How does Toady handle such a huge project?
« Reply #6 on: July 12, 2009, 02:31:05 am »

Are you seriously trying to say that developers don't use placeholders and standins and quick-fixes during alpha and beta stages? 
Logged

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #7 on: July 12, 2009, 06:16:10 am »

Some don't. Those projects either don't get very far, or else the programmer has planned it all out very thoroughly in advance.. which does occasionally even work.

He might even be following the waterfall model, which is.. umh, I don't think anyone has ever followed that model literally (it's O(N^2)), but I could be mistaken.
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

Muz

  • Bay Watcher
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #8 on: July 12, 2009, 08:25:56 am »

You sound kind of arrogant in your last line.

Lol, I didn't mean for it to sound arrogant. I wrote it as a very long winded question/observation thing, but I shortened to like one sentence so it maybe ended up a bit weird. I mean, there's a lot of people I know who seriously avoid placeholders... because everything would rely on it.

Like with the attributes, every single formula that relies on the placeholder will have to be changed. That is seriously a lot of work and I'm wondering how he sees which should be worked on, which should be avoided, and which have little workarounds for now. Developers who rely on placeholders seem to aim for the short term and Toady seems to be the only one who can pull them out and replace them for a long term project.

And when they do get changed (like in the next version) it seems that a lot of change happens at once. Somehow Toady seems to know exactly what he wants to replace and when. What's interests me is that everything seems like it's mapped down and planned, but there's just so fricking much, in so many places that it seems impossible to map.

He picks what he does by what he wants to do. It's done when it's done sort of deal for time.

That's sort of what interests me. He like pops in Core 3, then Core 75, then 22 and such. In a sense, it's like an artisan trying to build a massive wonder, but he does it alone and builds the roof, the wall, some pillar, and builds another wall, engraves some art on it, removes the placeholder pillar and replaces it with a nicer one once he decides what the pillars should look like.

That's impressive for a small project, but amazing that he can do it with something the scope of DF and not create a mass or have the whole thing collapse when he changes something. Planning a big game alone is an impressive feat.. building it while you're still planning it is even more so.
Logged
Disclaimer: Any sarcasm in my posts will not be mentioned as that would ruin the purpose. It is assumed that the reader is intelligent enough to tell the difference between what is sarcasm and what is not.

Baughn

  • Noble Phantasm
  • The Haruhiist
  • Hiss
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #9 on: July 12, 2009, 09:05:23 am »

Building it while planning it is impressive, but planning it before you build it is, frankly, just about impossible except for very well-understood problems. DF isn't one of those.

So Toady is doing this about the only way he possibly could. Given his background, I am very, very impressed by the results.
Logged
C++ makes baby Cthulhu weep. Why settle for the lesser horror?

Puck

  • Bay Watcher
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #10 on: July 12, 2009, 12:04:31 pm »

Also, and this is very noteworthy, Toady is one of those guys you might have read about...

he doesnt actually code as you would imagine it, no, he tattoos the program onto his harddisk with a magnetized needle.

Christes

  • Bay Watcher
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #11 on: July 12, 2009, 04:05:12 pm »

I've noticed that Toady also uses some placeholders, like attributes and cave-ins, whereas other developers would avoid it until they can get the final.. no questions there, just an interesting observation.

Well, seeing as the ultimate goal is a fantasy world simulator, each release could be viewed as one big placeholder.

Development of DF is like a convergent sequence of improving approximations.
Logged

Stargrasper

  • Bay Watcher
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #12 on: July 12, 2009, 04:17:32 pm »

Without placeholders, we wouldn't have a playable product.  Without a playable product, we can't play test the system for bugs.  Without us play testing, imagine what the theoretical version one would be...removing all the accumulated bugs would require such an overhaul that it would be faster to scrap the project and start anew.  This is an overall very effective method of building a project because there are so many bug catchers around.  Remember, this is exactly what public alpha/beta is for.

And another thing regarding placeholders...you never know what the developers/players might decide they like.  Never forget, Nintendo's Kirby is a placeholder that the dev team decided they liked.
Logged

Mr Tk

  • Bay Watcher
  • Would you like a mint? It's only waffer thin.
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #13 on: July 13, 2009, 01:15:20 am »

Building it while planning it is impressive, but planning it before you build it is, frankly, just about impossible except for very well-understood problems. DF isn't one of those.

I think trying a project this size without any planning would be suicide for most people. Just remember your planning doesn't have to be absolute and perfect but it will eliminate some of the problems that arise before you start coding.

Nothing like a major class re-write when you've all ready got 50,000 lines of code.
Logged
First ten minutes of play I ate my loincloth and then got some limbs torn off by a super friendly rat. Thumbs up from me.

jaked122

  • Bay Watcher
  • [PREFSTRING:Lurker tendancies]
    • View Profile
Re: How does Toady handle such a huge project?
« Reply #14 on: July 13, 2009, 10:32:56 am »

Building it while planning it is impressive, but planning it before you build it is, frankly, just about impossible except for very well-understood problems. DF isn't one of those.

I think trying a project this size without any planning would be suicide for most people. Just remember your planning doesn't have to be absolute and perfect but it will eliminate some of the problems that arise before you start coding.

Nothing like a major class re-write when you've all ready got 50,000 lines of code.
writing new code to work correctly is (somewhat) easier than rewriting old stuff.
Pages: [1] 2 3