Monday, August 4, 2008

The Value of a Finished Product

Work on MTG Forge 2.0 is going very slowly, but version 1 took me a while to write. With version 1, I would write some small snippet of code at night, 100 to 200 lines. Eventually after a couple of months, 6 or so, the whole project started to “click” and everything started working. It takes faith at the beginning to know that you will eventually get to the end.

I have this idea in my head and hopefully I can explain it. Let’s say that version 1 only got 90% done. And let’s say that the project only had a text user interface (like DOS) but everything else worked. How interesting would that be? Most users would find the project practically unusable. The value of that last 10 percent, whatever it actually is, essentially makes the rest of the project usable.

The same thing applies to a movie. If a movie was missing the ending, the whole movie is practically worthless. The finished product is everything.

I’m sure everybody has started a project but never finished it. Usually that project isn’t worth anything until it is actually completed. The same thing applies to computer programming projects like MTG Forge. Even if I get 50 percent done, it really isn’t worth much. Only the shrink-wrapped, final product is useful.


Anonymous said...

What you say is very true. You definitely need a finished product. That being said.. hurry up with MTGForge version 2!!! I can't wait!

Gando the Wandering Fool said...

I totally disagree with your concept. I think MTG Forge has a great value without you contributing anything more to it...if only as an inspirition perhaps to another budding programmer who loves the game. Maybe someone will come along and combine some of the ideas you incorporate with ideas other have had and make a definitive program that lives on for decades or even centuries...that kind of value can not be bought or sold...

Also even though MTGForge has a lot of really objectionable bugs/lacks in still works to the degree that it was designed to...Granted it does not play magic per se but it gets pretty darned close.

I do look forward to seeing what do in version 2, I cant wait for a playable mtg game for the pc that is updatable for instance. Apprentice sort of filled that niche but had zero rules enforcement (by design) and was stopped middevelopment by an overzealous wotc legal dept.

Gando the Wandering Fool said...

what you do*

(gotta love the typo fairies..cute AND persistant...)

rising fruition said...

I have to disagree with your statement. There is plenty of value in an MTG Forge that runs with a DOS interface. I do agree that most people wouldn't want to play it. :^) But saying it's not worth much means you are not looking at the big picture.
If what someone wants is a slick interface for Magic that enforces the rules and an AI that plays a smart and challenging game, then yeah, to them it's not worth much. To them.
There are many aspects to 'value':
Maybe it was a great learning experience. Maybe you have some modules that you can use for Version 2. Maybe you learned a program structure that really didn't work, and now can avoid it.
How about the value of the source code to someone else? If it's complete except for the user interface, maybe someone else can make the UI.
There are many ways something can be valuable.

It sounds to me like you might be thinking of all the work ahead for what is essentially a full rewrite, and you are feeling overloaded. I couldn't blame you for that. But like you said, eventually it comes together. You can do almost anything if you give it enough time.
It would be easy right now to compare where you are with Version 2 to the working Version 1 and feel like you are so far from where you want it to be. But you could also see Version 1 as the necessary precursor to the improvements you want to make in Version 2. Same situation. It's how you look at it that makes all the difference.

Good luck and enjoy the view.

Anonymous said...

Sometime it is good thing to implement stable version and stop working on it. I had an example when we moved to new version on our project at work though there were a lot work to do. Actually the only thing we continued doing in previous version is bug fixing, making it more stable.
I agree that MTG Forge 1 is very valuable for the moment even if you won't add anything new to it. And on the other side, it's still good place to test new decisions in architecture that can be applied to MTG Forge 2 later.

Unknown said...

There has got to be a way to create a small community around this. You have a few people who follow this blog already, it seems to me that all this takes is a website or forum; at least a google group to get people involved.

Silly Freak said...

yeah, that would probably be cool. this blag is cool too, of course, and maybe you have a definite reason for not making a forum, say, you don't want everyone to make architectural suggestions to you and then tell them that you thought of something else (it's still your project;)).

to your post: i exactly know the feeling of projects going to a not-finished-not-touched-again state. however, I have one contrary example (very simple though).

It was a tetris.
It was controllable, playable. it scored. it got faster with the score.
however it missed some key features:
It continued running after losing, it didn't save the score, you couldn't restart without shutting down the app, the game started with starting the app, no start button or so.
Maybe i would have advanced it, but it was already fun, so I just played it... that said, I hope you keep up with v2 ;)

Sam said...

Personally I agree with you that it's better to just chip away at it every day and pray that it'll all make sense/work cohesively at some point.

I'm currently doing the same thing with a comic I'm working on. It's hard going though.

Keep up the good work. I like version 1 (even if the computer seems to beat me an awful lot).

Forge said...

Great comments. I love talking about programming and the challengings that it presents.

Rising Fruiting is about right,
"It sounds to me like you might be thinking of all the work ahead for what is essentially a full rewrite, and you are feeling overloaded. I couldn't blame you for that"

My idea why I haven't opened a forum yet, is that I see myself as the designer and once the framework gets in place people can change the framekwork and add to it. I don't have any real world experience with design, and this is the only way I know to get it down.

Thanks again for the insightful comments.