| Joseph 的个人资料bytewave照片日志列表 | 帮助 |
bytewavemy thoughts are free for i am a freethinker... 10月24日 LuaWorking 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!
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 developmentJust 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.
-Joseph 9月27日 when writing a game engine from scratchRecently 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 XNAThe 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 |
|
|||
|
|