Changes

Jump to: navigation, search

DPS905 Hic Sunt Dracones

3,966 bytes added, 08:31, 13 January 2012
no edit summary
{{GAM666GAM670/DPS901 DPS905 Index | 2010320111}}
= Razed by Fire =
== Project Marking Percentage ==
<big>
Group work: 5025% (25 <= xx <= 50) Individual work: 5075% + (50 <= xx <= 75)
-------------------------
Total 100%
</big>
== Repository Information ==Our code uses the [http://www.microsoft.com/downloads/en/details.aspx?displaylang=en&FamilyID== Repo path ===3021d52b-514e-41d3-ad02-438a3ba730ba June 2010 DirectX SDK]. You'll need to uninstall the August 2007 SDK, and install the June 2010 SDK.Download the code from svn trunk, and compile.
svn://zenit.senecac.on.ca/dps901_103rep8All resource files required for running the game (audio, models, textures) can be found in \branches\resources
Audio files (.xwm) are encoded in the xWMA format, which offers 30x compression ratios over regular WAVE files. The audio engine is perfectly capable of playing .wav files without any modification, but you should encode them using the [http://msdn.microsoft.com/en-us/library/ee415930(v=VS.85).aspx xmaencode] tool located in the DirectX SDK Command Prompt before committing to the repository.
Right now audio files are only played globally. Jon will be implementing X3DAudio within the next few days.
 
== Repository ==
=== Repo path ===
* old path
*: svn://zenit.senecac.on.ca/dps901_103rep8
* new path
*: svn://zenit.senecac.on.ca/dps905_111rep5
=== Trunk Status ===
committed Current repository status information can be found by jboelen typing "!svn" in the [irc://irc.freenode.net/hsd IRC chat channel]
== Team Members ==
''' [mailto:dhhodgin@learn.senecac.on.ca,jrbuckley@learn.senecac.on.ca,jboelen@learn.senecac.on.ca,sweerdenburg@learn.senecac.on.ca,dacallow@learn.senecac.on.ca?subject=dps901 Group Email]'''
* [mailto:dhhodgin@learn.senecac.on.ca?subject=dps901 dps905 Daniel Hodgin]* [mailto:jrbuckley@learn.senecac.on.ca?subject=dps901 dps905 Jon Buckley]* [mailto:jboelendacallow@learn.senecac.on.ca?subject=dps901 James Boelen]* [mailto:sweerdenburg@learn.senecac.on.ca?subject=dps901 Steven Weerdenburgdps905 Kaitlyn Callow]* [mailto:dacallowdperit@learn.senecac.on.ca?subject=dps901 Kaitlyn Callowdps905 David Perit
** Sundays at 9pm in channel [irc://irc.freenode.net/hsd #HSD] on irc.FreeNode.net
* '''TEL Open Lab'''== Game Information ==** Thursdays from 9:50 - 11:40 == Phase 1 ===== Proposal ===For our second run at this project we will be adding more functionality to the game. More in TEL Open Labdepth COLLADA loading, more refined particle systems, refined XAudio, and visibility performance increases.
== Game Information Phase 2 == == Phase 3 ==  =Old history from DPS901=
== Phase 1 ==
* soldiers as simple rectangles
* flat level ground for the world
* ability to look around with a mouse and steer with keyboard. Movement is on x and y planes but not z, the dragon is at a fixed elevation in the air.The process of [http://www.marvelousessays.com essay writing] will be much easier with MarvelousEssays.Com as there are a lot of highly professional and talented writers who are always eager to help you out with any sort of academic assignments regardless of the complexity levels. The process of [http://www.marvelousessays.com essay writing] will be much easier with MarvelousEssays.Com as there are a lot of highly professional and talented writers who are always eager to help you out with any sort of academic assignments regardless of the complexity levels. I do know what I�m talking about! I do know what I�m talking about!
* a 'shoot' mechanic to attack cubes and rectangles
|-
|game logic, camera, world
|James
|-
|fog, emissive lightparticle effects
|Kaitlyn
|-
|computer acollision detection, enemy management|Steven |-|add stock objects (sphere, torus, etc.i. logic), more primitives
|Steven
{| border="1"
|-
|collision detectioncomputer a.i. logic
|---
* '''Possible Map of the World of the Game'''
[[Image:btp901-fall2010-HSD-mockups-map.jpg||| ]]
 
== Phase 2 ==
=== Information ===
==== Class Diagram ====
[[Image:HSD_ClassDiagram.png|700px| ]]
 
====Collision Detection====
For collision detection, we used axis-aligned bounding boxes (AABB). These build an imaginary box around a visible object, as defined by:
 
* minx
* miny
* minz
* maxx
* maxy
* maxz
 
These specify the minimum and maximum bounds of the bounding box in world space. From these, collisions (or general overlap) may be determined via the [http://en.wikipedia.org/wiki/Separating_axis_theorem separating axis theorem]. This theorem can be applied to three-space using the name separating plane theorem and states that "if two convex objects are not penetrating, there exists an axis for which the projection of the objects will not overlap." In implementation, this can be done as such:
 
<pre>
typedef struct Rect3D {
float minx;
float miny;
float minz;
float maxx;
float maxy;
float maxz;
};
 
// AABB Collision Detection in C
int doesOverlap(Rect3D a, Rect3D b) {
return !( a.minx > b.maxx || a.maxx < b.minx
|| a.maxy < b.miny || a.miny > b.maxy
|| a.maxz < b.minz || a.minz > b.maxz );
}
</pre>
 
Note that AABB vs. AABB collision is one of a vast number of cases. For a more comprehensive listing, see [http://www.realtimerendering.com/intersections.html Real Time Rendering]. Also, for performance increase one may wish to investigate [http://en.wikipedia.org/wiki/Space_partitioning spatial partitioning].
 
=== Screenshots ===
[[Image:DPS901_HSD_103_Mansions.png|200px| ]]
[[Image:BTP901-fall2010-HSD-sceenshot-12-04-10.JPG.JPG|200px| ]]
 
[[Image:BTP901-fall2010-HSD-enemies-11 30 2010.jpg.jpg|400px| ]]
 
[[Image:BTP901-fall2010-HSD-particles-2-11_30_2010.jpg|400px| ]]
 
[[Image:BTP901-fall2010-HSD-particles-1-11_29_2010.jpg|400px| ]]
 
[[Image:BTP901-fall2010-HSD-sceenshot-11_22_10-1.JPG|200px| ]]
 
[[Image:BTP901-fall2010-HSD-sceenshot-11_22_10-2.JPG|200px| ]]
 
[[Image:BTP901-fall2010-HSD-sceenshot-11_17_10.JPG|200px| ]]
[[Image:BTP901-fall2010-HSD-sceenshot-Skybox.JPG||200px| ]]
[[Image:Water.JPG||200px| ]]
== Moderator's - Instructors Comments ==[[Image:dragon4.jpg|200px| ]]

Navigation menu