Friday, April 23, 2010

DirectX - My First 3D Game (completed)

Finally, I'm back with a completed simple 3D game. Like I said before, I plan to do a simple first person shooting game but end up I've change to a simple escaping/avoiding game. All you need to do is collect as many coins as you can and avoid all the obstacles.

I really wish to make a first person shooting game but I don't know how to implement the gun following the camera and since time is not allowed me to do so, I'm forced to change the idea.
I'm happy with this game because I've learned a lot during the whole development progress. Although it may not be a fun game but it'd meant a lot for me :)

Some of the techniques that I have used in this game are:
1. 3D Objects Modeling by using DrawPrimitive function
2. 3D Transformation
3. Alpha Blending
4. Billboarding
5. Texture Mapping
6. Texts/Fonts
7. Buttons
8. Direct Sound
9. Direct Input
10. X-Files
11. Particle Effect
12. Game A.I.
13. Collision Detection


I just have some brief and rough ideas for all the techniques above but I believe that in future, I'll understand better!

So here are some screenshots :)

*Game start menu


*First Person View


*Explosion effect after collide with an obstacle


*Bounding sphere

Video demo:




*Download link here

PS: Take note that you need to have DirectX SDK installed in your computer before you can play it. I'm not sure how to release it without the need of DirectX SDK, sorry for that :(

Wednesday, April 14, 2010

DirectX - The Unknown Project (Incomplete)

This is the second API which I'm learning in this semester (2nd year, 3rd semester). I would say it is quite difficult to learn but it is quite fun to play with once u understand it. Basically I've understand the basic fundamental stuffs, but when deal with lighting, I'm still not able to do it.

So what I've learned in this subject are drawing 2D polygons, drawing 3D polygons, Transformation, Texture Mapping, Lighting and Materials, Billboarding, Direct Inputs, Direct Sounds, Particle Systems, Importing X-Files and some theory on Collision Detection and AI.

Currently I'm still doing my project which the due date is just around the corner. What I wanna do is First Person Shooter but currently I'm stucked in "How to attach my weapon together with the camera". I've google alot but I still cannot manage to implement it :(

Nothing much I can show but I'm still able to show some of it... LOL


*Game Menu


*Sample screenshot


*Sample screenshot 2

PS: Sorry that I couldn't provide the download link for this game yet because it is still incomplete, perhaps I will provide the link once I've finished it :)

Gamers' Community

It's a online shopping website developed by myself and another partner - Tan Eng Keong.

It is another assignment from one subject called Internet Computing. This is another interesting subject because I've learned most of the web scripting language like HTML, CSS, Javascript, PHP and database language which is MySQL.

I'm doing most of the server side scripting(PHP and MySQL) while my partner is doing the client side scripting (HTML, CSS, Javascript).

Some of the sample screenshots shown below:


*Home page


*Comment page


*Product page


*Registration page

Space Playground - The Pentagon

This is one of my favourite subjects back to 2nd year, 2nd semester. It is Computer Graphics where we learned maths, matrices, vector, and other related theories.

The API we've used for this subject is OpenGL :)
The assignment is interesting, basically what we need to do is model a scene by using OpenGL.
The theme for this assignment is "Space Playground" and I've came out a name for my playground, which is The Pentagon.

Pictures below are the output of my assignment, it is all done by coding, none of them are imported from 3ds Max.


*First view of The Pentagon


*Wire-frame mode


*Top view of The Pentagon


*The Spaceman Statue


*The 9 planets

Video demo:

My First Flash Webpage!

Finally, my own simple flash webpage but it's is not published on net yet because I don't own any web domain or hosting, LOL. Too bad, I'm only allowed to show here :(

It'll need to take some time to load it, and I'm only limited to size of 400*400 so the result of the page is quite small, sorry about that.

Menu Navigation in Flash

Menu navigation created with Actionscript.

It's quite interesting to develop such an interactive in website but too bad, I do not own any website until now :(


*Sample menu navigation

Flame Effects in Flash

This is one of the interesting tech demo which I've developed. With some online references I've managed to get this out :)

It's purely done by using Actionscript.

The implementation is quite simple. First, u draw a circle with gradient color. After that you animate it move up and fade out as it's moving upward. After that all you have to do in Actionscript is just call a loop and set how many particles you want and randomize the position of X and Y.


*Sample flame effect

Text Effects using Blur and Fade in Fade Out

Another sample text effects done in Adobe Flash :)


*Sample text effects

Basic Ball Bouncing Simulation

I've done a very basic ball bouncing in Adobe Flash.
I've used ease in ease out effect to simulate it and it is not simulate by real physic actually XD


*Sample ball bouncing (refresh your page if the motion is done)

Data Structures & Algorithms

This was really one of the toughest subject during 1st year, semester 3. Maybe I'm quite lazy and lack of doing practices so it makes me feel like difficult but at last I still manage to get an "Apple" and did quite a good job in the assignment and test :)

What we've learned in this subject is data structures and some algorithms. For data structures, definitely we've learned Stack, Linked List, Queue, Graph and others. About algorithm, we've learned sorting algorithms and searching algorithms.

Assignment , assignment, assignment, so what we have to do? We are asked to develop a database system by using C++! OMG, it's crazy but it's challenging. Basically I'm using linked lists as my main data storage and some arrays to store indexes. Most of my friends cannot do it because they are not so comfortable with string manipulation.

So what we have to do is, read all the instructions from a text file and output according to the SQL command given in the text file. It supports INSERT, SELECT, DROP, CREATE TABLE, MULTIPLE TABLE, DELETE and UPDATE.


*Sample input command in text file


*Result from the SQL command


*Sample input command 2 in text file (creating multiple tables)


*Result from the input command 2

Download link: