Joseph 的个人资料bytewave照片日志列表 工具 帮助

bytewave

my thoughts are free for i am a freethinker...
10月24日

Lua

Working with Lua has been a realy blessing and I recently got version 5.1.1 working on the Nintendo DS.  If you are a DS developer, just head over to the development forums for my post on how to get Lua 5.1.1 compiling for your projects.

-Joseph
10月16日

flash development for free?

Looking into the available tools for flash development seems to indicate that it is possible to develop flash content without have to buy Flash Professional 8!
  • Use FlashDevelop for coding and compiling your projects to SWF
  • Use Fuse (a code based a tweening library) to replace Flash's visual timeline.
Viola!  You now have a free Flash devkit!

I also went to a local Barnes & Nobles bookstore and I found this very good book on Flash game development.  The book is called Understanding Macromedia Flash 8 ActionScript 2.  The book's code samples are online.
10月13日

getting started with flash game development

Just started getting into Flash development for some simple game ideas. Special thanks to my friend Siang for early pointers to some of these links! Also, special thanks to Hays for showing me the basics of Flash 8 content authoring.

  • I read this great article on Flash game development by Scott Bilas. This is a MUST read!
  • Downloaded trial version of Flash 8 Professional.
  • Downloaded FlashDevelop to be my ActionScript editor. Here's a review of FlashDevelop.
  • Purchased F-In-Box (DLL version) so that I can host the SWF file in a C++ application. Having the following abilities will prove priceless later on in development.
    • Call an ActionScript function from an application
    • Call an application function from a flash script
  • Looking for tutorials: gotoandlearn.com seems to be a good place to be at.
  • Flash uses ActionScript. For a brief history on ActionScript, goto: http://en.wikipedia.org/wiki/ActionScript.
  • Last week I got GameSWF compiling on Visual Studio 2005 and that might be good enough for a console port. Getting that project to compile was tricky since the project files haven't been updated since 2004. Since I'm focusing on the PC for now, GameSWF related development will just have to wait.
That's it so far. I'll be posting some more lessons learned along the way.

-Joseph
9月27日

when writing a game engine from scratch

Recently I was tasked to write a game engine framework for a Nintendo DS project.  Here are some notes from that experience...
 
1.  Don't reimplement RTTI!  If you ever need to use it, just use the C++ implementation.  Trust me, it's ok, even though everyone will tell you that it will affect performance.  As long as you keep RTTI usage for your high level classes like Actor and not for your Vector and Matrix classes, you are good to go (don't put virtual methods in your Matrix classes!).
 
2. Use shared_ptr<>!  On the Codewarrior dev environment that I was using, shared_ptr was under the std::tr1 namespace. 
 // On using a shared_ptr: see http://www.boost.org/libs/smart_ptr/shared_ptr.htm
 //   a. shared_ptr is a reference-counting smart pointer (RCSP)
 //   b. shared_ptr only works properly for single dynamically allocated objects
 //      GOOD: ObjectHandle hObject( new Object() )
 //      BAD:  ObjectHandle hObjectArray( new Object[10] ) -- for this situation
 //            use a vector of ObjectHandle's instead...
 //      GOOD: std::vector< ObjectHandle > objects;
 
3. Use STL and use the debug version for your debug and debug/release build.  This really depends on your dev environment to set-up but the hour or half-day you spend figuring this out will pay in priceless debugging help later on.
 
4. It's still ok to use macros. When one can't coerce templates, typedefs and/or inline functions to represent code reuse for a particular code snippet, macros will save you TONS of time.
 
5. Use namespaces. 
 
   In header files you can use the namespace block like this
 
   // .h file
   namespace MyEngine
   {
        void GraphicsInit(void);
   }
 
   while in the source cpp file, namespace usage should be using the "tag" form
 
   // .cpp file
   void MyEngine::GraphicsInit(void)
   {
   }
 
 6. Unit Test Code.  When you have a slow day, spend time writing some test code.  Nothing fancy just write them!
 
Those are my notes for now...
 
-Joseph
 
9月8日

Competing with XNA

The recently released game framework and toolset called XNA by Microsoft will create ripples in the game industry similar to what OpenGL/DirectX did to game engine development.  If I were Sony or Nintendo, I would be hard at work getting Mono, the open source implementation of .NET, to work on their respective next-gen consoles. 
 
-Joseph
 

Laurino Joseph

职业
第 1 张,共 4 张