More on Flash

During my time spent learning Action Script in depth, i have gained some insight in programming in general, and got some solid basics, that really helped me in using other languages such as C#, JavaScript among others, and i think a good advice for people out there wanting to learn to make games/small projects is to choose a language that has a very low entry level barrier for making things happen right away, but also has depth enough to learn more advanced topics as you get better.

For those reasons i think Flash and Action Script is still a really solid starting point. First of all, you can get started for free (if using FlashDevelop for example), and second of all, it has been used to make web games for many, many years now, meaning that there are tons of resources online to learn from - and these can take you from absolute noob to decent in a short amount of time.

At the time of writing however i would say a strong contender for best starting language for aspiring game developers is the combination of C# and Unity. While the resources online are slightly less and the amount of research needed is a little more, the befits are worth it in the long run. Not only is C# a more universal language with other uses, but Unity itself is a very powerful game engine for those just starting out. My only gripe with Unity is their focus on a very Behavioral system - that while is awesome for games (Composition over Inheritance for the win), limits the amount of use-cases and problems presented to new programmers.

In Unity, programming mostly consists of attaching scripts to game objects, that then make that game object behave in a certain way, or to make the game object control a number of other game objects or scripts. This is a very smart way to solve game programming, and lowers the entry level barrier needed to make stuff happen right away. However it also makes it slightly obfuscated in the sense that creating more complex systems can be hard to visualize/manage with out some good understanding of how the behaviors are meant to work in Unity.

That being said, there is not anything that cannot be done in Unity, but i would say that it is easier to learn Unity if you already know the "bigger idea" of behavior / composition systems/patterns, and how they are different from inheritance.

Next time i will talk more about Unity and show of some small projects done in Unity and how they where made. To finish of the post i will show a old prototype for a game still made in flash and Flixel.


The game idea was to create a GPS based mobile "pokemon" type game, where based on your physical location, you could find different spirits, and then you could battle with your friends and what not, a cool idea to make people go out and explore their local area! The game was obviously never finished, and the version showed here is "offline", but full php/server code was written for a basic implementation, but making the whole gps/spirit database was too much work (even though i tried at the game again later using Starling - will upload that soon as well, just gotta remove all the network code so it runs without a server.

To "play", simply click login, dont fill in any info and click login (make sure not to hit the register or login button while the login overlay is active as it will relaunch the overlay is active hehe), once "logged in", just click play, then proceed to look for spirits, do this a few times, (fighting spirits doesnt work, you just "win" when u click fight") - when you have done this you can go view the spirits you have captured by clicking, profile, and then click view all spirits to see the ones that you have captured.


I still think the idea would be cool to pursue further one day, but it is obviously not a one-man project! :)
If anyone is interested i would not mind uploading all the code/networking/php source for people to see how it can be done quite simple.

that's it for tonight!
Cheers,
Rune