Saturday, January 16, 2016

Onward to 2016!

Onward to 2016! While I find a potential publisher for Zombie Guard and issue patches about once a week, I look forward to this year. This blog post will serve as my resolutions for this year. Here are a few:
  • Fully develop six marketable games for any platform...! Excludes game jam entries.
  • Blog more frequently.
  • Become proficient in HTML5.
As I reflect on my previous experience as a developer, I have come to the conclusion that I greatly prefer smaller projects that involve less time from start to finish. Smaller than Zombie Guard (one year) and Last Town (four months)

Realistically to achieve six this year, I will have to average two months for each, taking into consideration the down-time between projects. This is actually a realistic goal. Defend Your Nuts, for example, was six weeks of development time and I have a lot more experience now.

Lately I got to evaluate all kinds of tech. I settled on Phaser for HTML5 browser games written in LiveScript - a language with particular syntax and features I have come to love love love! LiveScript is incredibly powerful and compiles instantly to JavaScript so it saves me a lot of time. Here is a screenshot of some preliminary code I wrote:

I find the LiveScript syntax to be very effective. Loops, array operations, and boiler plate JavaScript for classes is much easier to achieve.

Here is some example code from the LiveScript website:

Not only is it less effort to write, but is less overall code to digest at a glance. I actually do find operations like this:

[1 2 3] |> map (* 2) |> filter (> 3) |> fold1 (+)
To be intuitive. It takes an array of values (1,2,3), multiplies each by 2 into a new array (2,4,6), filters only values greater than 3 (4 and 6) into a new array, and then calculates the sum starting from the left to be 10 (4 + 6). Of course this is a very generic example. Frankly, I find it easier to understand at a glance, compared to dozens of lines of loops and ugly braces defining scope everywhere. It is a Currying functional style that I have always wanted to embrace, starting with my days, years back, exploring the purely functional language Haskell.

As for art, Adobe Flash will continue to be my preference, for animation and asset creation. I find it so efficient to scale and transform basic shapes, and add splotches of shadows and highlights. I started using the Pencil Tool for cleaner lines. Lately I have been fairly inspired by the minimal art style in Scribblenauts so I would like to mimic it for minor props and backgrounds.

Here is a preview of some of the assets for my next project:

I already wrote a Phaser template for this tool called Animo, which composites Flash movie clips into sprite atlases, better than other tools I evaluated. Animo is no longer found on the Web because seemingly the company went under, so I keep my full version copy safely.

No comments: