Interactive Media Research : Programming Languages

Post [ONLINE] Available from : http://en.wikipedia.org/wiki/Python_(programming_language) %5BAccessed on 18/4/2015]

Due to the kind of work associated with interactive media, programming languages are what we will use at some point in time to create a project. There are many kinds of programming languages, from the very old C language, to it’s more popular evolution of C++, with others that appear which is very different in syntax (the way it’s typed) and difficulty(readability).

For the past few years, I have tried to learn some of them because I was quite interested in making video games, which makes programming languages very essential in this area. Especially for my previous course, which I have decided to specialise in video game creation, the time spent on learning these languages increase even more. I started with the basic language that the school taught me, ActionScript, a Flash language that used to be very common in the web due to its ease to export and play media online. This language, though called basic, is actually pretty tough to learn. The syntax is not very readable with plain English, it’s not as bad as C or C++ which is essentially much harder to read as it’s closer to pure computer language.

ActionScript, now in it’s 3rd version, still presents me with challenges when I’m using it to create game or any online media. Though there are many tutorials available both offline and online, I still could not get my head to master it completely. It gives me lots of headache with weird errors that is never explained well enough, forcing me to go online to search for help or answer.

Then, a year later, I got to learn a newer language, JavaScript, for the game engine Unity. This time, it is easier to read, to me, much easier to code. The readability is more similar to plain English and I could do many functions with lesser lines of code, unlike ActionScript. After researching more on this new language, turns out there are a division on the type of programming languages. One is the pure programming language like C++ and ActionScript, the other one is Scripting Language, which nowadays serve almost similar purpose. The latter is termed to be easier to read and type than the former due to them being newer and thus the compiler is more advanced in understanding what the programmer wants using fewer lines of code.

Later on, I get to know Python, which is one of the most simple scripting language I have ever encountered. Almost anyone can read it and understand it. The amount of line used to set up a function is reduced dramatically from the likes of ActionScript and even from JavaScript. This makes me really interested in Python and have experimented with it multiple times. It is almost as simple as HTML, a marked up language for creating webpages, but have recently been used in making simple game using HTML5.

According to Python’s creator, Guido van Rossum, his philosophy in creating this language is

  • Beautiful is better than ugly
  • Explicit is better than implicit
  • Simple is better than complex
  • Complex is better than complicated
  • Readability counts

He believes that programming should be made as simple as possible so people could focus more on other areas like the visuals or sound. In the past, programming languages deter a lot of people from taking it up, but now with the likes of Python, almost anyone can script or program a language easily, allowing many creative minds to unleash and more interactive contents to be produced in a shorter, less headache inducing method.

Thus, when I learn that I may have to use Flash for this module, I was quite a in a bit of disappointment. True, ActionScript is still used in the majority of the web, but now there are many more better alternatives, especially for producing Interactive Media Visual Storytelling that my group planned to do. For the first few weeks I tried my hands again on Flash, tinkering with the options and learning from the workshop, which actually uses HTML5 to code. Sadly, there are still some weird errors that could not be explained happening almost everyday, leading me to delay my drawings just to focus on programming. This makes me terribly inefficient as time is spent on programming. Worse, I might not be able to get a good prototype out in time because of these.

I look online for alternative, there are some older ones like Game Creator etc but what I’m looking for is one that employs the likes of Python as it’s main programming language. Finally, I came across Renpy, a Python Visual Novel game engine, that is quite popular and has been used for some time to create 2D interactive visual story. I check the documentations and am relieved at it’s simplicity. Normally, I would have to type something like ‘ define g = Gretel, type Gretel “dialogues”, end’ for dialogues but here, it only requires one line ‘ Gretel “Dialogue”‘. It’s so much simplified than Flash, though for Flash, it is multipurpose thus it’s complexity is warranted. This Renpy is used only for this purpose, which I think is much more suitable to be used for our project as we don’t plan to create anything complicated aside from simple story with dialogues and character drawings. True enough, after the tutorial which I told the lecturers that I would like to switch to a new software for the better interest and purpose, my time spent on coding reduced drastically and I can now focus more on the arts and sounds. Even simple effects such as screen shake, inputting in-game choices are available and can be coded easily to make our story interesting.

I do not regret switching from Flash to Renpy for this project. The latter serves the primary purpose of what we want, that is creating interactive Fairytale story, with as minimum fuss as possible compared to the all-in-one Flash that could do anything but is terribly inefficient at giving us what we need in a reasonable time.

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