Wednesday, December 31, 2008

2008 reviews and new year wishes

2008 only left 3 hours plus, let's review my big events

  1. First complete 3D games, end of last year (2007) to beginning of this year (march 2007) I produced a complete single player 3d games, it is my "Lucky Star" game, this game feature, avatar creation, scene selection and spelling + dancing game.
  2. First flash application, also early of this year (feb ~ april 2008) i have completed a flex/flash application that's for school's student management system, with this system student and teacher has a common platform to exchange information.
  3. First time ever has the urge to start up a new company, i even announced the plan to some of my close Friends, although it couldn't work out as we planned, but this gave me more understanding how to start up a company, i haven't given up the hope yet :)
  4. Joined a new company, get a new responsibility. I be the pioneer team in my current company to setup a PC client framework, and this framework has been used for 2 games
  5. First usable game framework, I've put in all my pass knowledge into this game framework, it has audio, gui, db, event system and basic rendering functionality. and this framework gave confidence to continue my own game engine the Grunt engine.
  6. New working attitude, more mature now, better control my temper, could complement my co-worker properly now :) and able to criticise my superior at the right moment :)
Phew, quite a year isn't it? let's make some wishes for next year, hopefully it could be equally fruitful it the coming year. 

1) Create a dream game engine. this engine 2 shining features that no current engine has it
  • asynchronous communication between the modules, event system is used for the communication. async communication allow the system be threading friendly and more flexible, e.g. use mouse input to generate sound!
  • p2p + bit torrent network system, with this function, the requirement for dedicated servers could be greatly reduced
2) Flex client + java server, this could be my new company 1st product, this is basically the extension of my first flash application. this new flex application will has better graphics and more scalable.

3) Experience shader programming in LightFeather engine. hopefully could learn something from  this great engine, like what Torque Game Engine did to me :)

if 2008 gave me more confident to be independent, i hope 2009 i could be on my own feet, happy new year 2009!

Friday, December 26, 2008

new arsenals

found a wondeful 3D game engine LightFeather, it was evoluted from irrlichtNX, this engine is very complete in term functionality, it has audio, network, gui, physics and many tools available. only down point is small community size, therefore still need to evaluate it maturity.

nevertheless 5th generation of grunt engine has been started, i was planned to use these 2 engines concurrently :)

Tuesday, December 2, 2008

Grunt lua framework released!

After months of works, my scripting framework is finally release!

Features of my scripting framework
1) c++ able to call lua global functions -- call("foo","%d","%d",1, %bar)
2) c++ able to set/get lua global variables -- setVar("foo"), getVar("foo")
3) c++ able to invoke lua's class's methods -- call(this, "foo")
4) c++ able to set/get lua's class's properties -- setVar(this, "foo"), getVar(this, "foo")
5) lua able to call c++ global functions -- foo()
6) lua able to set/get c++ global varables -- bar = 2;
7) lua able to invoke c++ class's methods -- app:GetName()
8) lua able to set/get c++ class's properties -- app.name
9) lua able to add new methods and properties to c++ class
10) lua able to overwrite c++ methods and variables
11) simple interface, simple enough to use had coding instead of additional compilation steps (tolua++)
12) no dependancies (oppose to luabind)
13) clean and small!
14) very simple to torque game engine's scripting system

TODO
1) clean up the code, make sure no residue data in lua stacks
2) right now both lightuserdata and fulluserdata are used inside lua table, lightuserdata for dereferencing in c++, fulluserdata is for garbage collection only
3) garbage collection not working fully, as local object out of scope din trigger the gb, right now only trigger when lua_close is call
4) lua co-routine is not in yet
5) right now using c++ std::map to map lightuserdata and type string

and yesterday (strictly speaking is today) my company is re-structuring plus foo-fighter is dead, what a day!

the next thing that i need to do is investigate lightfeather and blender game engine. last but not least get a google code account for grunt game engine!