Wednesday, May 12, 2010

Open Source Project - Part 2

Dennis sort of organically took over the project. I never asked him to and he never asked could he, he just did it. Open source projects can become heated debates and anybody can "fork" and start their own project. All you have to do is download the source code and then say, "I wish it had a dancing, purple bear in the background" and voila, you have just forked a project. Forking is generally bad because it splits people's time, which is your most valuable resource, since people are only volunteering their time anyways.

Honestly, the Forge project has been very successful and fulfilling. Now I'm just the "old guy" that started the project and doesn't contribute much these days. Dennis, Rob, and others have "found my vision" and enjoy coding Magic. After awhile programming Magic becomes sort of a "meta-videogame" because coding itself seems like a game because you are constantly challenging yourself.

HuggyBaby and GoblinKing have provided Forge's forum which allows for more interaction between the users and the guys who do the programming. Without the forums, Forge would be a lesser program. The forums is also where "us" developers chat and ask each other questions like, "What in tar-nations does the stupid Input class do?".

(The Input class is handles all mouse input and it can be confusing. I started the forum topic "How to understand the Input class in 4 hours or less". I'm joking about the 4 hours part but I still wrote a thorough explanation.)

And last but not least, you the readers (and downloaders) have made Forge special. Forge was written because I had an itch but other people seem to have the same itch too. I'm also the first to admit that Forge is far from perfect but it is still very fun. I play Forge so much, I have a hard time thinking, "What if Forge never existed?"

The Incantus magic project which allows people to play Magic with rules enforcement over the Internet has recently gone "open source". Incantus is written in Python and has a wonderful user interface. The rules enforcement is so good that is probably can implement 95% of all Magic cards in existence.

Incantus Project
Incantus Forum

The Wagic project, which lets you play against the computer and was written for the PSP but can also be run on Windows, is written in C++ and is also open source.

Wagic Project

And I hate to leave anybody out. MagicWars lets people play over the Internet like Incantus and is written in Java. Currently it has 719 cards.

MagicWars Project


Bruno Cardoso said...

First off, let me say that in my last comment I didn't mean to bash on this project. While it certainly has flaws I think it is amazing that you guys achieved. I experiment the program myself and while the AI is not that great, the fact that is has enforcing rules is amazing. Also, sometimes small projects give life to bigger and better projects and without those smaller projects those bigger ones would have never existed.

Now, about open source. I had many small personal projects where I worked alone just for the fun of it but I never went very far on any of them. The reasons for that are many, from lack of time to lack of motivation or lack of interest on that theme.
That fact that you made this project open source made it improve even when you lacked the time to work on it. That's the magic of open source in my opinion.

However, i have to admit that open sources scares me, i don't know if i could made my project open source, it kinda scares me that fact that I wouldn't have control on every single aspect of my code or what i wanted for the project. I'm very perfectionist, i want everything well designed and well coded.

So, in the end i think it kinda boils down to: Do I want to control every aspect of my project and risk the fact that I will never finish it or do I want to release that full control and have more chances of finishing it.

Maybe I'm just not good at trusting other people...

Silly Freak said...

If blogspot had a "Vote up" button, I'd push it for this post ;)

I'm as much a perfectionist^^ I was a bit unsure about going open source, but now I think it's fine. I realized that as long as the game isn't working, there won't be people to join the project, and once the foundation is solid, a little ugly/not my own style code won't hurt. I still think that a core where I can say for myself that it works is important, at least for my ego^^

Forge said...

Letting go of your own code is scary. Usually your open source project will just sit there like a dead raccoon and no one will touch it. Occasionally an open source project will spark the interest of other people like Apache, Linux, or Forge and people rally around it (for some reason).

Maybe all programmers are perfectionists, I know I am. You have to be since programming is ALL details.

Bruno - First off, let me say that in my last comment I didn't mean to bash on this project.

No problem. People like Forge but wish for more and I understand completely.