Adrianch's Homepage


Welcome to my personal homepage. In this page you can find some example programming work that I've done during my university study and spare time.

Pacland screenshot

Pacland

A Pacman clone in 3D with some interesting game feature.
This game is based on one of my university project (433-380 Graphic and Computations). While the original project was done in JAVA using JOGL, this version is implemented in C++.

Language & Tools: C++, OpenGL, OpenAL, GLUT, GLEW and Boost
                            library.

Game Feature

  • 3D world with random terrain produced by plasma fractal algorithm
  • Random dots path using Dijkstra algorthim
  • Multitexture terrain (available only on OpenGL 1.3 or above supported graphic card)
  • Real time shading calculation
  • Flat and smooth shading mode
  • Basic intelligent enemy (chasing and return to dot path)

download

BallsInBox screenshot

Balls in Box Sprite

Recently, I took a programming challenge from Heavy-Iron Studio (the original source code is available in the job-programming section). This is an application implementing collision detection using certain numbers of sprites (i.e. 10, 100, 250, 1000 and 2000). Basically, we should speed up the original simulation so that when it uses a large number of sprites, we still can keep the average FPS that comfortable to the user. In other words, the simulation should not slow down so badly when using high sprite count (i.e. 1000 or 2000).

In this challenge, I have successfully achieve those goals. In my computer (P4 3.2 GHz, 1Gb RAM, NVIDIA 7600GT), using 1000 sprites I can get about 40 - 45 FPS. For 2000 sprites, I manage to get 30 - 35 FPS. I am proud that I can achieve these results. Although, it is unknown whether these are the optimum result, but this is definitely much better than the original version which only achieve 3 - 9 FPS for 2000 sprites.
           
Language & Tools: C++ and SDL. 


download

Terrain screenshot

Terrain Generator

Random terrain generator using plasma fractal, that can be used as the base of game engine.
This application is based on one of my university project (433-380 Graphic and Computations). While the original project was done in JAVA using JOGL, this version is implemented in C++.

Language & Tools: C++, OpenGL, GLUT and GLEW.

Feature

  • 3D world with random terrain produced by plasma fractal algorithm
  • Multitexture terrain (available only on OpenGL 1.3 or above supported graphic card)
  • Real time shading calculation
  • Flat and smooth shading mode
  • Wireframe mode

download

SnakeCPP screenshot

SnakeCPP

A text based snake clone that can be found in old Nokia mobile phone.
Thanks to SIWare, Inc Graphics  for giving me the idea to build this game.
 
Language & Tools: C++, and PDCurses library.

download

Valid XHTML 1.0 StrictValid CSS!