Bay 12 Games Forum

Please login or register.

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

Author Topic: Freelance software: A brief Dissertation  (Read 3051 times)

Eagleon

  • Bay Watcher
    • View Profile
    • Soundcloud
Re: Freelance software: A brief Dissertation
« Reply #15 on: November 10, 2009, 11:03:07 am »

I can't tell whether you've seen the thread that this one is a response to: http://www.bay12games.com/forum/index.php?topic=44484.0
I feel sad that I missed this thread. The sudden yoshi made all of it worth it, and I was chuckling at the shitstorm that was brewing. Maybe I have a little troll in me.

Anyway. I had never heard of the cyclomatic complexity thing before this thread. It's kind of interesting, I was thinking the other day that this kind of thing is exactly why DF is so interesting to me. The big problem I see in using it for something like DF to decide whether it would be too buggy or not, is that it seems like it kind of takes an approach that limits the severity of bugs - the stuff that gets used constantly at the core of the engine is changed very rarely and tested more extensively (UI by nature, 3D flows by Toady), and everything else that might be core to another engine (The dwarves, the world gen, the map, even possibly the player in adventure mode) all have a good deal more flexibility in their behavior.

Obviously it doesn't mean that bugs don't happen. They're just not the bugs that frustrate me as a player, generally. I think the last time DF crashed for me was when I was trying to make a world that was making an insane amount of historical figures in the first 3d release on my ancient IBM Thinkpad. And the only glaringly obvious bugs and inconsistancies I've found have been while modding - stuff like dwarves not being able to move if they're allowed to fly.

Instead we get bugs like the indecisive priests firing themselves and finding new religions, and chairs being planted in farms, and multiplying sand trails. They might occasionally be game-breaking, but they're not engine breaking. I think that's because (without looking at toady's code) it's all using rather robust interfaces. The fact that Toady can spend a day or so to make the new megabeasts assume different positions in a civilization's entity without major pitfalls kind of hints at how nice what he's made is to work with.

I guess the point is that yeah, there are bound to be errors in a game like Dwarf Fortress. For the most part they disappear into the background though. It's like your brain - errors are being made hundreds of thousands of times per second inside it, and it just becomes another part of your decision making processes. The fundamental system can't really be said to be very buggy at all if it's supporting features like pattern recognition which are extremely useful.
Logged
Agora: open-source, next-gen online discussions with formal outcomes!
Music, Ballpoint
Support 100% Emigration, Everyone Walking Around Confused Forever 2044

Shades

  • Bay Watcher
    • View Profile
Re: Freelance software: A brief Dissertation
« Reply #16 on: November 10, 2009, 11:24:38 am »

I guess the point is that yeah, there are bound to be errors in a game like Dwarf Fortress. For the most part they disappear into the background though.

I'm probably going to regret posting this so I'll start with the disclaimer than I love the game, I recommend it to everyone who will listen (and bore those that don't) and I donate to it.

With that said I have to comment that the bugs, for me at least, isn't the major problem with the game. Technically the new 3D version of the game is infinitely superior to the old 2D version, you can do more stuff, have much higher ability to design elaborate ways to have Fun and so on, but honestly I have to say I miss the old version it had something the current one doesn't and in a hard to describe way is a better 'game'.

However this isn't a game for me, and I don't expect Toady to design for what I prefer, it's his game and I've only donated because I want to it's not like I'm buying it and expect support. The dev log, to me at least, looks like it will eventually return towards what made the 2D version so much more enjoyable and I'm so I'll wait. There is also a good chance if I went back and played the 2D version I would miss the features of the current one.

With regards to bugs there are quiet a few things you could class as a bug but I've also yet to come across a fatal one. Lots of annoyances like being unable to dump claimed clothing that is then left laying around, or dwarves dodging off cliffs when they have wide plateaus to the other side of them. There have also been a couple of bugs that kept popping up which to my mind is the sign of bad development process, but that is something that improves with time.

As to cyclomatic complexity it's a common and well known concept but not relevant in my mind. Your modules of code should never get so large that they hit any problems with complexity, if they do you are not correctly breaking the modules down. In studies it has been shown that bugs rise in colleration with the cyclomatic complexity of any discrete modules, the same is not true of the total program though.

As a final disclaimer the above is based on my experience with development and in no way should be taken as gospel or used to attempt to prove anything at all :)
Logged
Its like playing god with sentient legos. - They Got Leader
[Dwarf Fortress] plays like a dizzyingly complex hybrid of Dungeon Keeper and The Sims, if all your little people were manic-depressive alcoholics. - tv tropes
You don't use science to show that you're right, you use science to become right. - xkcd

cerapa

  • Bay Watcher
  • It wont bite....unless you are the sun.
    • View Profile
Re: Freelance software: A brief Dissertation
« Reply #17 on: November 10, 2009, 02:59:57 pm »

Humans are incapable of storing a logical graph of that size in their heads.
Not entirely true. We are just beginning to stare at the tip of an iceberg in understanding our human brains.
Human brains dont work like computers. We can pull off creating a mental movie an hour long with huge details with our imagination while it would take a computer days to render it, but try to outpace a calculator.
Logged

Tick, tick, tick the time goes by,
tick, tick, tick the clock blows up.

Xgamer4

  • Bay Watcher
    • View Profile
Re: Freelance software: A brief Dissertation
« Reply #18 on: November 10, 2009, 03:27:39 pm »

Humans are incapable of storing a logical graph of that size in their heads.
Not entirely true. We are just beginning to stare at the tip of an iceberg in understanding our human brains.
Human brains dont work like computers. We can pull off creating a mental movie an hour long with huge details with our imagination while it would take a computer days to render it, but try to outpace a calculator.

This. I was just thinking about this, actually. The problem with us taking a snapshot of a fourth-year fortress and rendering the next frame mentally is a problem of scale, yes, but not exactly what I think you were referring to. We can't hold the sheer size of the fortress in our minds at once. We can do the decision-making just as easily, and in some cases probably far better, than a computer. We can already do the pathfnding parts far, far faster than a computer can, and the only trade-off is a loss in accuracy (defined as "quickest path possible").

That said, I got exactly what the first post was saying and I agree.
Logged
insert something mind-blowing/witty here*

chmod

  • Bay Watcher
  • I get by with a little help from my friends
    • View Profile
    • UDP Viper
Re: Freelance software: A brief Dissertation
« Reply #19 on: November 10, 2009, 03:42:57 pm »

I didn't intend to start a discussion on complexity. It was just an example. I was hoping to stay on target here. Mainly that a labor of love software project will not behave like a corporate one. I have given several years to both as a principal developer and as a development manager, and they pan out in very different ways.

Treating a bug as a problem that HAS to be fixed is a kind of fallacy with a project like DF. When filing suggestions and bugs imagine you are critiquing an artist's painting. Saying "You should have used the 3-inch brush in the corner because the lighting would look better and I won't give you money if you don't change it." Tends to fall on deaf ears if you're the artist.

Not that it's that cut and dry, but I hope some people get what I'm saying. There are bleed-overs from raw engineering, QA, Customer Service, Sales, Marketing, Management etc... But at the core, it's more of a painting than another version of Excel.

Logged

Angellus

  • Guest
Re: Freelance software: A brief Dissertation
« Reply #20 on: November 10, 2009, 04:16:36 pm »

I found this an interesting thing to read, and it has changed the way I see programming, thanks Chmod. :)
Logged

Nexii Malthus

  • Bay Watcher
    • View Profile
Re: Freelance software: A brief Dissertation
« Reply #21 on: November 10, 2009, 04:32:22 pm »

Human brains dont work like computers. We can pull off creating a mental movie an hour long with huge details with our imagination while it would take a computer days to render it, but try to outpace a calculator.
Outpace a calculator? Maybe not possible due to the pure specific design and physics of a real calcuator, but, you can get very damn close to it.

Good example:
Truman Henry Safford
Calculating 365,365,365,365,365,365 multiplied by itself in less than a minute?

I really hate to pull the wikipedia card, but brains are far more complicated and highly capable than we like to think. Our nature has only allowed us to use a bare fraction of the capacities though, we need to understand ourselves better, we just don't know 'how' exactly yet. Our evolution has limited us with mental limits, we just need to understand how to break those when we want to. There are already a few crappy tricks you can use by combining pictures with memory segments for visual learners, but its not even anywhere near scratching said tip of the iceberg.
Pages: 1 [2]