Blitz-Zoids MMORPG
Blitz #
First things first #
Finally finished porting the scripts to Github for source control. I nearly fainted when I looked back to my codebase after a six month hiatus.
This game is a MMORPG using similar idea as ZOIDS, built with Unity3d. It’s still in the alpha mode but anyhow, we have modelers coming in but we’re short of programmers, so come by the forums and join the team!
As you can see in the Github code base, the code is written in Boo, a language which has similar syntax as Python. I chose to use it instead of [C#](csharp.net/) and JS mainly because of the support for Python-like syntax.
Comparisons between generic lists and hashtables of Boo and C#:
Boo:
I_am_a_list=[1,2,3]
I_am_a_hashtable={"motion": "forward", "shoot":false}
C#:
using System.Collections.Generic;
class Program
{
static void Main()
{
List<int> I_am_a_list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
Dictionary<string, string> I_am_a_hashtable = new Dictionary<string, string>();
I_am_a_hashtable.Add("motion", "forward");
I_am_a_hashtable.Add("shoot", "false");
}
}
On the other hand, JavaScript has almost the same syntax as Boo, had it not for the ternary operators and list/string slicing. (JavaScript 1.7 above has array comprehensions, but still no hashtable comprehension and the like)
Boo:
A=[1,2,3]
assert A[:2]==[1,2]
B=1 if A[0]==1 else 0
assert B==1
JS:
var A=[1,2,3];
alert(A.slice(0,2)==[1,2]) //This is strangely false. LOL JS sigh
B= A[0]==1 ? 1 : 0
alert(B==1) //Gives true
More comparisons.
Hopefully the rewrite would solve the spaghetti code leftover from my previous codes. :P