Weekly report.

Past week was somewhat amazing. First it was fourth LIMITED ACCESS festival and I attended most of it and it was pure joy. Especially Tuesday that there were several audio experimental performances and one of them by Elemun was mind blowing, both it’s visuals and audio/music.

Beside that, I dusted off my Ableton Live’s old projects and played with it to remember what I had learned last year. Live is one of softwares that I truly appreciate and one of the fine pinnacles of both software and hardware engineering. I’ll continue learning Live for the next few weeks and hopefully can make some tunes. I uploaded some of my older experiments here.

Last Thursday was first session of my Scripting Class course. I always enjoyed teaching back in the University but I always wanted to make examples by addressing video games but academic space is not that familiar with games and thus I had to suppress that desire but now that I’m teaching at a game development institute, I, metaphorically, feel at home. I really liked the class and I was proud to see my pupils know well-enough about basic, but important nevertheless, concepts such as variables, functions and flow of a program.

Since these students are the very ones that I was privileged to hold their Digital Game Design class the previous semester, they know general usage of Game Maker with drag and drop and now with learning scripting and GML, they can get unleashed.

I basically am teaching them programming in disguise of scripting as I believe any good game designer should know programming and also if you know programming, doing scripts is a piece of cake. Key thing is show them applications of the abstract concepts of programming to keep them interested and enthusiastic. Just a little to quench their thirst! You can download slideshows of this class from course’s blog.

As I’ve not received my MacBook, STILL, I’m forced to work with Corona on Windows and as I described in my previous posts, Corona’s tools are not at their best potential here, the opposite from Mac state. So I’m in constant back and forth with developers of several thirdparty Corona IDE’s such as ZeroBrane Studio and Glider (previously known as CIDER) in order to make them better. I’ll post reviews of such IDE’s in near future when I get enough experience utilizing them.

That’s it for now.

Purpose of making games

4th LIMITED ACCESS festival poster.

I always thought of this blog as a technical one but I’ve been recently thinking about writing about other aspects as well because I find technical stuff, simply boring. This leads to my point of this blog post, purpose of what I’ve been doing with my life for past several years, making games.

Even though I have a technical background, I always had a strong artistic side. Sometimes I nurtured it and let it grow and show itself, which was either as my experiments with making films, experimenting with making music or doing regular sketches and playing instruments. I’ve been lucky enough to attend to 4th LIMITED ACCESS festival, curated by Amirali “Ghaf” Ghasemi, and this triggered that side once again.

I think about my life a lot. It’s purpose and what’s the best way to live it. What can I do to make it more meaningful. What can I leave as my legacy, if any. As I age, I think about this even more, about the true potentials that I have and what I can really do with my life, in retrospect of what I’m actually doing. And to be honest with you, I find making games, just meaningless.

It’s true that it’s the only thing that I truly love, I mean if I turn to be the richest man on the Earth in an instant, I will continue to do exact thing that I’m doing, this much. But it doesn’t satisfy me. I’m still not as good as I want in programming or developing games, mainly because I didn’t just code my whole career and tried different paths as was needed in the project but still it’s not that easy for me. So after a long and hard day, I think about what I’ve been doing and what I added to this world and it just crumbles into, entertainment.

There is nothing wrong in entertaining people, I even find it very good that in this day and age, if you can even make some fun time for someone with your game, you’ve won but people can be entertained very easily and even if I stop doing what I’m doing, there will be someone else doing it. Heck, look at the amount of apps and games that is thrown in app stores everyday, surely there is no lack of app developers. Of course how good or bad they are is debatable.

Sad thing is, people are trying to find a good pipeline to make “better” games. And by “better” they mean a way that they find people like and teach so others can copy it and follow the same path because “it worked for Maio” or something. And that is sad. That is killing creativity by limiting and teaching whatnot. Of course you can teach someone basics but they are more likely to follow the path blindly rather than trying to get out of their comfort zone and do something new.

Art on the other hand, I find very amusing. One can do several things with art, or by combining art into games. With Art you can express yourself, talk about ideas, challenge people, share experiments and a lot of other things which I find more meaningful than just entertaining people. I’m not a teacher or anything but I really hate to be some guy who just makes games so people can buy and entertain so he can make a few bucks.

Yes you can do other things with games like Serious Games or educational games but over the years I’ve seen that almost no one plays such games or take them seriously enough so after several years that they have been introduced, good digital games for this purpose are almost non-existent, due to lack of market.

I can be wrong on some of assumptions that I just made but I’ve been seriously thinking about this and I really feel I can use my knowledge to express myself or be more “meaningful”.

Another week with Lua while drinking Corona [SDK].

For the past week, I continued working on my casual game with CoronaSDK but most of the time was actually spent on learning more Lua in depth and I’ve been liking it very much. Lua is a [seemingly] simple language to learn, heck it’s a dynamic language and it’s almost hard to shoot yourself in the foot, with a Shotgun or so, easily but mastering is something else because it’s just when you read about it in depth that it shows it’s true self.

It’s a very powerful language, I like the dynamic features of it a lot. As most of my experience was with Compiled languages, such as C-family languages, even though I made a complete game with Flash, which uses ActionScript3 and is a dynamic language, I’m still learning new things with Lua because I don’t have to dabble with Flash and can utilize a much more development environment. I had experience with Python as well on Garshasp video game on my technical art parts but I can bravely say that I’m just finding out about true powers of a dynamic language now that I’m thinking to utilize it to boost performance as best as I can since I’m developing on mobile (iOS/Android) here.

One of the most interesting topics is doing OOP in Lua where there are several debates on how to do so and most of them valid because it relates on the platform that you are actually coding and developing on.

Not this kind of Corona of course! 😀

So it’s been a good journey so far but it doesn’t leave me unwilling to wish for working with Corona and that is lack of tools on Windows. Since Corona is mostly used for iOS/Android developers, most of them guys have Mac computers so most of the development environments that exists for Corona, at least good ones, are in Mac. (got my Southern English joke there? :D). And since I’m STILL yet to get my hungry paws on my MacBook Pro, I had to check every possible configuration available on Windows and I can safely say that none of them worked for me. Don’t get me wrong, Corona is a great SDK but you need a proper IDE to be able to code productively for it and none of the Windows solutions are competent enough. Another aspect is the level editor that is simply hard to find and I don’t like any of solutions here as well. There are far better solutions on Mac like Game Helper toolset but I’m yet to try them but they seem and look great.

So I’m continuing my journey with Corona and Lua and will report back here.

I also got some emails regarding Unity for 2D. I tried to reply them as best that I can but I’m also writing a post about it in extent so stay tuned.

As of this week, my courses at Iran National Game Development Institute (IranGDI) resumes and I’m very looking forward to meet my pupils again, as well as new ones that I’m looking forward to meet. I’ll be teaching Digital Game Design along with my best friend, great colleague and a great artist, Hossein Hosseinian, along with that I will hold Scripting Class to extend journey of students of past semester to learn how to write scripts (along with way more stuff!) and extend their abilities with Game Maker that hopefully they can apply on any other engine as well. It’s still in talks but it’s highly likely that I’ll be holding a class called Game Psychology which I’ll talk about psychology of games in general and try to tie video game there. It will be for first semester of University of Video Games that just started to work and I’m very passionate about.

So that’s it for now!