2011년 2월 19일 토요일

Two Sides

There are two sides in Online Game Engine Architecture.

: a Server Side, and a Client Side.



The server side must fully make use of its determined service machine.

For example, you can serve your service via Intel Xeon Quad-core 2.33Ghz, 4GB RAM , 100GB HDD, high speed GPU and so on. you must fully make use of that machine thoroughly.



The client side must fully support various customer machines such as various version Windows , Macs, Linux , iPhones, androids, and so on.



Before you architect your engine, You must decide what platforms you target for.



In the server side,I decided to use Erlang VM for various platforms, and to use cuda for making use of GPU power.

Erlang has many fascinating features including hotcode swap, easy inter-process communication, and stable VM.



In the client side, I want to support an many platforms as I can do.

But, I don't or can't know all.

Therefore, I decided to study jMonkey Engine that is implemented in Java for desktop cross platforms , to study unity3D that is popular for smartphones, and to study Ogre3D(or promising 3D engines whatever it is commercial or opensource) that is implemented in C++ with many open source supports.

Then, I will implement a 3D engine and client-side game logic engine in Haskell.

Haskell is to easily make use of multi-cores, to produce codes rapidly and to focus on logics.

Furthermore, I must study Cuda or OpenCL to make use of enormous GPU power.

I wish Haskell could be sit in various desktop OSes, and smart phone OSes in the future.

댓글 없음:

댓글 쓰기