Tuesday, July 13, 2010

3D Game Programming with Blitz3D!


Just take a glance at the book's cover.

Well, I just finished this book: "3D Game Programming For Teens, Second Edition" written by Maneesh Sethi. I was reading this book because I'm still a teen, huh? Oops, well, however, this is my first approach in dealing with 3D game programming although I haven't learn a real 3D modeling program formally.

This book introduces a 3D-rendering program called "Blitz3D" which uses "Blitz3D Language" derived from BASIC (Beginner’s All Purpose Symbolic Instruction Code) Language. The Blitz3D program is capable of creating and rendering basic 3D objects by using amazingly simple codes.

To summarize, the book is comprised of 3 parts, which cover the following topics:
  • Core Blitz3D Language
  • Everything related to basic shapes - creating, positioning, resizing, reshaping, flipping, coloring, texture mapping and scaling
  • Object Movement - moving, rotating and orbiting
  • Light
  • Camera - creating, positioning, rotating, switching between cameras, view splitting, zooming
  • Heightmap
  • Texture
  • Terrain
  • 3D Modeling using Autodesk 3ds Max
  • Collision
  • Sound - volume, pitch, pan
  • Other 3D components - gravity, velocity, chase camera, mirror, timing and many more


This is how Blitz3D Code Editor looks like. Pretty cool, huh?

Although Blitz3D is considerably simple to understand and use, but its code editor has alot to be improved since I had some bad experience when using it such as: inconsistent font size and color of codes, insufficient information on compilation errors and etc.

Even though Blitz3D uses derived BASIC Language, but it does provide a very good chance for those who wanted to explore more in 3D world and create their first 3D game.


It was so great that I can wander freely on a borderless grassland with blue sky on top of my head and holding a gun pointing to a very cute pig which its model was downloaded from the Internet in .3ds format!

Lastly, it would be great that Blitz3D can support various types of model files other than the only 3ds model file type(.3ds).

Well, after such a long discussion, I will end my review here!

Saturday, July 10, 2010

苦咖啡心情


苦涩的Espresso,衬托出淡雅的苦咖啡心情。

Friday, July 2, 2010

我?我是谁?我到底是谁?我究竟从哪里来?这里又是哪里?我为什么会来到这里?这里属不属于我?真正的我存在吗?哪一个才是真实的我?哪一个又是虚无的我?现在的我,还是从前的我吗?未来的我,又将变成如何的我?这些年来,我对自己做过了什么?对别人又做过了什么?说了什么?在我自己眼里,我还重不重要?在别人眼里,我是否依然显得可笑?然而,曾经的我,似乎抓紧了些什么?又放手错过了些什么?回想起,我究竟付出过什么?得到了什么?我为了什么而满怀期待?又为了什么而感伤失落?不过,现在的我,又还拥有什么?又遗失掉什么?当初,我坚持过什么?我又放弃过什么?我这辈子有没有后悔过?我今生会不会有遗憾?这些年来,我记住了什么?我又忘却了什么?我还想说什么?我还要做什么?可我能说什么?我又能做什么?曾经,是什么让我开心让我快乐?又是什么让我伤心让我难过?是什么让我欢欣让我鼓舞?又是什么让我痛苦让我难受?至今,有谁与我擦肩而过?是谁曾经在我心中停留过片刻?有谁曾在我生命中划上不可磨灭的痕迹?而我又牵挂着什么?这一切一切,实在太多太多,其实谁是谁非?到底谁对谁错?到最后,或许没有任何的结果,或许将不止一个,也或许根本没有所谓的最后。但愿,我还是我。

Thursday, July 1, 2010

C++ Revisited



Well, recently was reading this book "Beginning C++ Game Programming" written by Michael Dawson.
Initially I thought this book covers the visual part of C++, but in fact, all its solid examples and tutorials given were console-based programs.

For overview, this book consists of 10 chapters, which covers the basics and core parts of C++ language.

Besides, Standard Template Library(STL) also been introduced in this book. STL represents a collection of programming work which have been done well and it provides containers, algorithms, and iterators which will help in easing programmers' life.

Other than that, the concepts on references, pointers and inheritance have been revised again with the examples and detailed elaborations. There is a thing to point out: by using pointers and references, the memory cost of running a program is greatly reduced but extra efforts have to be put on keeping track of the memory on the heap and delete them when they are no longer in use to prevent memory leak.

I can say that the last 2 chapters on polymorphism, abstract class and overloading operators are pretty tough to get through. In conclusion, this book is truly a stepping stone for anyone who wishes to enter the world of game programming by using C++.

To understand C++ better, I am going to read another book of visual C++ shortly.