Similarities between MTG and programming

I am seeing so many more similarities now it’s so interesting.

Well first of all the way MTG is set up is so that it is “Turing Complete” and people have created Turing machine decks, if that is interesting for you.

What I notices though goes beyond that. I have been trying to line of MTG and programming side by side to see the areas that one has that the other doesn’t to maybe discover how my attitudes and behaviors during each activity affect my enjoyment and then try to correct that in learning programming so that it can be fun.

So I realized in MTG I really enjoy

Making unorthodox decks -> the programming equivalent might be using different methods to create a specific program

This leads me to…

Sifting through hundreds of cards looking for ones that do things I like -> The programming equivalent here I think will be learning libraries, and I would want to focus on learning the standard library.

I realized that the magic card deck (in play) is called the “library” and it’s where you draw cards from. I feel like this is not a coincidence.

So I realize I’ve heard people talk about “the library”, the “standard library” etc but I’ve mostly just tuned it out. I just thought it sounded boring and I probably wouldn’t need to think about it and I could just be creative.

Now I feel like just the same as in MTG, having that “player’s guide” with all the different cards so I can see what does what, is actually what enabled me to be more creative and then have more fun. It might have even been that I was resistant to expanding my horizons in this way. It may have even been that I almost didn’t get into MTG because of these hurdles, but then after doing so and seeing how I could express myself, it became more fun.

Iunno, I don’t think there was too much resistance though, but things like reading the rule book were beyond me. I loved the art work and the literature and the fact that it was a game and extremely novel. I feel like for a while I may have resisted learning the mechanics of the game, at least the more intricate areas, thinking it was hampering my creativity. However eventually I learned that the mechanics define the creativity.

So I wonder if I’m going through a similar process here. I wonder if what I said about learning MTG was even true. Iunno, I’m pretty sure that some games did have this feature, were things were boring at first and made me want to quit but eventually I caught on to the advantages. Like having to memorize codes in mortal combat to do attacks. There was a time when that was intimidating by friends could do them and so I kind of learned the importance of learning them for the sake of future fun.

It’s like, maybe it was boring until I found out well I could express myself creatively once I knew it, then it became fun?

So it’s like, if the initial interest isn’t high enough there will be a lag time where I don’t enjoy it or just can’t express myself in it. However once I am familiar with the system I’ll be able to be extremely creative with it, and then I’ll enjoy it.

So it’s like, some people would learn how to play magic the gathering by buying a pre-constructed deck. They are satisfied with knowing that there are pre-constructed decks and they play with them. Or maybe they learn that pros have created deck lists that you can use to make one of those decks, so they do that. They are satisfied knowing that they can build a pre-built deck, and maybe tweak it a bit, and play with it and win.

So I would compare this to the school of thought where you learn how to program by trying to build a project that someone else has done, or follow tutorials.

However, the way I learned and grew more interested in MTG was not that way at all. I realize now that to improve it might be wise to study the pros choices and just over all theory, if I want to make a “tournament ready” deck. However, the thing that has motivated me from the start, has been the creativity of having thousands of cards to choice from and put together in combinations that do interesting things, and win using unorthodox methods.

So I feel like when it comes to programming it might work better if I go about it the same way. I mean, if I want a program that actually functions, I might need to have an idea of something to work on, or an area to work it, but I feel like beyond that I need to not limit my creativity. I need to support it.

Also I guess for me I often focus on individual cards that do interesting things, instead of on a big deck or thing that I want to do. I focus more on various ideas I want to express within a given deck.

I guess I could try to do that while learning programming. Just read up about some cool algorithms, cool things that can be done, and then combine some of them in a new way?

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: