Friday, December 31, 2010

Magnight - A 2D Puzzle Platformer with Physics

I've almost forgot to introduce a game call Magnight to you guys. Basically this is what we have done during our internship back to October time. The internship program known as GameINC, it is organized by MAC3.

I'm the lead programmer of the team and we have few programmers, few designers and artists to work on this project. After been through a complete game development cycle, I'd learned a lot and feels like I have up 1 more level :P

*Magnight poster

Well, enough of introduction, basically Magnight is a 2D puzzle platformer game, all you have to do is solving puzzle and proceed to the next level. The gameplay is casual and suitable to all kind of gamers :)

*Gameplay video 1

We only used 3 months to develop this from idea pitching until post production. Although it may not be a very fun game but it's still fun to play.

*Gameplay video 2

We are using Microsoft XNA to develop this game and Farseer Physics Engine.

For more information you can visit our blog.

You can get the game here:

I hope you enjoy this game :)


PS: Before you can run this game you will need to install:

Tuesday, December 28, 2010

Simple Collision Avoidance

Recently I'm been thinking about how could I implement collision avoidance in my game.

Well, after googling, I found a very useful blog and he'd teach about how to implement collision avoidance.

Here's the link:

Basically his idea is simple, when the object is near to obstacle, the obstacle will act like a magnet pushing you away from itself. After that, it will try to pull you back. With this implementation the effect of movement is quite smooth but sometimes it will still stuck due to the path between two obstacles is not big enough for the object to pass by.

Since it is not a path-finding based implementation, so it might not give you the shortest path.
If you're looking for A* implementation you might need to search for other resources which uses A* to implement collision avoidance.

Here are some screenshots:
*The object trying to move to the right

*It will slide down and continue its path

*Until it reaches the destination

Video demo:



You can get the program demo here:
PS: It's in XNA 4.0 so you need to install XNA redistributable 4.0 before you can run it

Tuesday, December 21, 2010

AI - Flocking Behavior

Flocking is a popular term in AI field and it indicates the behavior of a group of birds flying on the sky. Originally it is simulated on a computer by Craig Reynolds in 1986. For more information about flocking's history, you can wiki it out :)

Birds are smart, while they are flying, they won't "crash" with each other. Craig Reynolds named those birds as boids in his simulation program.

This behaviors is very useful when you are simulating a group of units moving to certain target.

Since my current game needed flocking behaviors so I need to learn how to implement it!

Luckily I found an useful tutorials:

In short, you just need 3 main rules to achieve flocking effect:
1) Boids try to fly towards the centre of mass of neighbouring boids.
2) Boids try to keep a small distance away from other objects.
3) Boids try to match velocity with near boids.


Sample screenshots:
* Just initialized

*Pursuing the target

*Target changed

Video demo:



Download link here:
PS: It's in XNA 4.0, so you need to install XNA redistributable 4.0 before you can run it.

Friday, December 17, 2010

Under Development - FIT: Betrayal

After a long time of delay, finally I have another episode of First Investigation Team under development!

Here is First Investigation Team 1 link:

Basically it is a real time strategy game which focusing in AI! It is developed for PC platform by using XNA :D

More details for the game would be posted in later time because the gameplay is still uncertain so it might change eventually. For now it is something like resource gathering and building army to conquer your opponent's base!

This is my first time to learn AI so it might take a lot of time for me to finish it.

Here are some sneak peek!
*Sample screenshot 1

*Sample screenshot 2

Say Hello to XNA!

XNA basically is a new API developed by Microsoft for developing games. It is an extremely easy to learn and use and friendly :)

There are a lot of online resources, tutorials available, anyone can learn it. BTW, learning XNA give you another benefit which is you can easily just port your game to XBOX in 1 or 2 seconds! COOL, right? In addition, with the latest XNA 4.0, now you can even develop game for Windows Phone 7! It is a nice phone and I believe it has a lot of potential for game development!

Well enough of talk, this is what I did after 2 days of learning XNA. A very simple game, all you need to do is control your character moving around and try to avoid as many obstacles as you can!

Sample screenshots:
*Screenshot 1

*Screenshot 2

*Screenshot 3

Video demo:



If you are interested to test it out, you can download here
(You need to install at least version XNA 3.1 redistributable before you can run it)

Farseer Physics - Raycasting Demo

Hmm, I'm not sure what is the proper way to implement laser but this is what I did by using Farseer Physics.

Sample screenshots:
*The laser colliding with obstacle, the laser will stop

*The length of the laser is following my mouse cursor.

Video demo:




Basically I'm just using Raycasting provided in Farseer engine and try to implement some demo.
It's just some simple test out anyway XD

If you are interested to download you can get it here:
(You need to install at least version XNA 3.1 redistributable before you can run it)

Farseer Physics Engine for XNA - Magnet Simulation

Nowadays, physics is playing important role in games. Since it is so important so I think I should give it a try. I've chosen Farseer Physics Engine for XNA, it's quite nice to use and it is developed based on Box2D :)

Here are some tech demo that I've done. What I'm trying to do is basically testing the attract and repel effects of magnet.

Sample screenshots:
*Screenshot 1

*Screenshot 2

*Screenshot 3

*The implementation

Video demo:




If you are interested to test out this demo by yourself, feel free to download it:
(You need to install at least XNA 3.1 redistributable before you can run it)

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 :(