Reword Dawn of Chaos
This commit is contained in:
parent
0e05b97feb
commit
2db6350a6d
|
@ -1,16 +1,20 @@
|
||||||
---
|
---
|
||||||
title: Dawn of Chaos
|
title: Dawn of Chaos
|
||||||
date: 2004
|
date: 2004
|
||||||
|
dev: delphi, directx
|
||||||
---
|
---
|
||||||
|
|
||||||
For the first of undergraduate study we have to develop a project in either
|
During the first year of undergraduate study at Epita we have to develop a
|
||||||
Delphi or OCaml within a team of four during one year. This is the only year
|
project in either Delphi or OCaml within a team of four to validate the year.
|
||||||
when we are allowed to make a video game. That the reason why we decided to
|
Since this is the only year we are allowed to make a video-game, we chose to
|
||||||
create a Diablo-like in Delphi as our school project in 2004.
|
create a Diablo-like in Delphi as our school project in 2004.
|
||||||
|
|
||||||
The development has been quite hard, because at the time we had no programming
|
For most of the student, and for my team, this is the first programming project
|
||||||
skill. Moreover, our team rapidly exploded, with one member quitting the school
|
we do ourselves. As such, we were lacking best practices and we learned along
|
||||||
after a few months and another one not willing to work.
|
the way. The development was quite hard, because at the time we had no
|
||||||
|
programming skill. Moreover, our team quickly fell out, with one member quitting
|
||||||
|
the school after a few months and another one struggling with programming. It
|
||||||
|
ended up being a two-persons project.
|
||||||
|
|
||||||
Nevertheless, this was a truly rewarding experience since I learned the basics
|
Nevertheless, this was a truly rewarding experience since I learned the basics
|
||||||
of video game creation and DirectX programming.
|
of video game creation and DirectX programming.
|
||||||
|
@ -23,20 +27,22 @@ We had the choice between DirectX and OpenGL for developing our graphic engine.
|
||||||
Most of the students chose OpenGL but we thought DirectX was more suitable for a
|
Most of the students chose OpenGL but we thought DirectX was more suitable for a
|
||||||
Windows game because we had no intention to port the project to Linux.
|
Windows game because we had no intention to port the project to Linux.
|
||||||
|
|
||||||
We used the Jedi Project headers as a means to use DirectX with Delphi. The
|
We used the [Jedi Project](http://www.delphi-jedi.org/) headers as a means to
|
||||||
first contact with DirextX was harsh but after carefully reading the SDK
|
use DirectX with Delphi. The first contact with DirectX was harsh but after
|
||||||
documentation I was quick to learn the basics. I would like to thank Buckman for
|
carefully reading the SDK documentation I was able to grasp the basics. I would
|
||||||
helping me figure the logic of DirectX out.
|
like to thank my fellow student Buckman for helping me figure the logic of
|
||||||
|
DirectX out.
|
||||||
|
|
||||||
The 3D models should have been generated with Maya but our graphic member was
|
The 3D models should have been generated with Maya but we were not able to
|
||||||
not able to produce anything. So we search graphism websites for simple models
|
produce any good 3D assets by ourselves. So we searched graphism websites for
|
||||||
and we modified them with Maya. For the texturing part and the conversion of the
|
simple models and we modified them with Maya. For the texturing part and the
|
||||||
Maya file format to the DirectX one, we used Deep Exploration.
|
conversion of the Maya file format to the DirectX one, we used Deep Exploration
|
||||||
|
(by Right Hemisphere).
|
||||||
|
|
||||||
In order to make things dynamic, we just added a game loop with mutable
|
In order to make things dynamic, we just added a game loop with mutable
|
||||||
variables (by pressing keys for moving the camera for instance). Unfortunately,
|
variables (by pressing keys for moving the camera for instance). Unfortunately,
|
||||||
the game loop was not set on the time but on the cpu cycles. As a result, it
|
the game loop was not set on the time but on the cpu cycles. As a result, it
|
||||||
runs as fast as your cpu can, making things lagged.
|
runs as fast as your cpu can, making things lagging.
|
||||||
|
|
||||||
Finally, I added a 2D display for game informations such as health. It was done
|
Finally, I added a 2D display for game informations such as health. It was done
|
||||||
using DirectSprites and DirectFonts. A bug with the proportions forced me to
|
using DirectSprites and DirectFonts. A bug with the proportions forced me to
|
||||||
|
@ -54,9 +60,9 @@ not, make a boolean map on which I applied the pathfinding.
|
||||||
SOUND ENGINE
|
SOUND ENGINE
|
||||||
------------
|
------------
|
||||||
|
|
||||||
"Sound engine" is a big word for what was done. At first I thought I would use
|
"Sound engine" might sound a bit fancy for what was done. At first I thought I
|
||||||
the DirectSound library since our graphic engine was done with Direct3D but I
|
would use the DirectSound library since our graphic engine was done with
|
||||||
quickly changed my mind.
|
Direct3D but I quickly changed my mind.
|
||||||
|
|
||||||
DirectSound allows you to use incredible 3D sound effects like reverberation but
|
DirectSound allows you to use incredible 3D sound effects like reverberation but
|
||||||
it was a nightmare to use it. I spent an entire night just for trying to play a
|
it was a nightmare to use it. I spent an entire night just for trying to play a
|
||||||
|
@ -81,10 +87,10 @@ hero is getting away (the hero is of course faster than any enemy).
|
||||||
WHAT WAS DONE BY OTHERS
|
WHAT WAS DONE BY OTHERS
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
My friend who actually worked created a truly rich map editor that was used for
|
My friend created a truly rich map editor that was used for making the game. He
|
||||||
making the game. He also created the elements of the world. He was then able to
|
also created the elements of the world. He was then able to define position and
|
||||||
define position and rounds for the enemies directly from his editor. Our graphc
|
rounds for the enemies directly from his editor. Our game engine only had to
|
||||||
engine only had to get his data from the editor in order to generate the levels.
|
get his data from the editor in order to generate the levels.
|
||||||
|
|
||||||
At last, he was in charge for the management of the hero: life, equipment, etc.
|
At last, he was in charge for the management of the hero: life, equipment, etc.
|
||||||
|
|
||||||
|
@ -95,9 +101,3 @@ LAST WORDS
|
||||||
Our game was quite pretty but it was very slow due to the too detailled models
|
Our game was quite pretty but it was very slow due to the too detailled models
|
||||||
used for the hero and the enemies. It lacks animation too. I really wanted to
|
used for the hero and the enemies. It lacks animation too. I really wanted to
|
||||||
incorporate animation but I wasn't able to.
|
incorporate animation but I wasn't able to.
|
||||||
|
|
||||||
|
|
||||||
TECHNOLOGIES
|
|
||||||
------------
|
|
||||||
|
|
||||||
[DirectX](https://en.wikipedia.org/wiki/DirectX): the official multimedia API from Microsoft
|
|
||||||
|
|
BIN
projects/dawnchaos/shot_01.png
Normal file
BIN
projects/dawnchaos/shot_01.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1 MiB |
BIN
projects/dawnchaos/shot_02.png
Normal file
BIN
projects/dawnchaos/shot_02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 706 KiB |
Loading…
Reference in a new issue