· 6 years ago · May 02, 2020, 04:38 PM
1/*-----------------------------------------------CHANGELOG--------------------------------------------------------------/
212/23/19(3:59AM) Upgrading to 0.0.03c
3========================================
4-Got rid of MP3Player.h and replaced it with MP3 Player class that allows for concurrent songs.
5-Created footsteps function with sounds.
6-Implemented DirectInput for mouse, so player can spin freely on X-axis, g_fSpinX will no longer constrict the user
7========================================
812/28/19(6:43PM) Upgrading to 0.0.04a
9========================================
10-Implemented Light System (D3DTOP_MODULATE) applied to DrawFace() / PVS_Render()
11-Added Clipboard Texture/Mechanic
12-Implmented Game Hints using separate Thread to apply Timer, clock_t, chrono, *nothing* would sync time properly
13========================================
1401/01/20(1:00PM) Upgrading to 0.0.04b
15-Implemented controls for Lighting sources, still very buggy
16-Created RenderFacing() Function which Inverses Matrix of Mesh so that any given mesh will always face the player
17========================================
1801/02/20(2:12AM) Upgrading to 0.0.04c
19-Maps are now loaded within the Loading sequence, rather than at render-time
20-Implemented Inventory System
21-Implemented Game Hint System
22-Scary Sound Triggered when in monster's view
23========================================
2401/03/20(7:24PM) Upgrading to 0.0.05a
25-Implemented Wake Monster sequence, which turns the map red and shakes the player
26-When in the monster's view, player is forced to look directly at monster until out of danger
27-As a result of above, player can now run backwards
28-Added Game Trigger/Hint for when Monster is Awake
29-Implemented Monster Breathing, the amount of breathing is proportional to the player's distance from monster
30========================================
3101/08/20(1:31PM) Upgrading to 0.0.05b
32-Implemented Fog System to allow for even lighting regardless of amount of primatives around the player (Finally!)
33-Created MapObject Class
34========================================
3501/09/20(8:49PM) Upgrading to 0.0.05c
36-Monster is now viewable regaredless of fog density and distance to player
37-Improved MabObject Class and Implementation
38-Implemented Object Pickup Function
39-Added Lantern Fuel Meter to Inventory
40========================================
4101/14/20(11:57PM) Upgrading to 0.0.06a (Massive Break Taken)
42-Added Skeleton Mesh and to MapObject Type
43-Added Diary Function
44-All MapObjects Render without having the be explicitly called
45========================================
4601/15/20(5:41PM) Upgrading to 0.0.06b
47-Initial clipboard now part of MapObjects Class
48========================================
4901/16/20(2:46PM) Upgrading to 0.0.06c
50-Implemented new Debug Console, renders debug info and framerate info concurrently with the console
51-Began, but stopped implementing a flashlight (taking a break)
52========================================
5301/18/20(12:52AM) Upgrading to 0.0.07a
54-Implemented HLSL (High Level Scripting Language) for lighting (FINALLY!), can now make use of shaders
55-Corrected Textures on Mesh's that were affected by HLSL implementation (Today has been a BIG LEAP)
56========================================
5701/20/20(12:12AM) Upgrading to 0.0.07b
58-Massively Cleaned up Source Code
59-Implemented PROPER Timer for Music, relying on win32 threads is bad for game engines, because cannot be used in classes
60-Implemented Timer for Scary Sound played when seen by Monster (another thread bites the dust!)
61========================================
6201/25/20(3:32AM) Upgrading to 0.0.07c
63-Implemented Flashlight effect(Been working on this for days now); Formed from Spot Lighting technique from HLSL Shader
64-When player moves, light from flashlight goes-off center slightly to show realism
65-Implemented actual Flashlight mesh, created function to set matrix for flashlight
66-Flashlight rotates slightly on a timer to again improve realism (I wonder where this game will be when it's at 0.0.09c...)
67========================================
6801/27/20(2:24AM) Upgrading to 0.0.08a
69-Player can now toggle between Lantern and Flashlight mode
70-When Flashlight is turned on, button press audio is played
71-When Flashlight is turned off, button un-press audio is played
72-PVS_Render has two functions, one which accepts a shader and one that does not(one for lantern, one for flashlight)
73-Appropriate light values and fog density have been adjusted for each light type(Lantern/Flashlight)
74========================================
7501/31/20(7:35AM) Upgrading to 0.0.08b
76-Many game dynamics started to fail due to using a single timer, i.e. flashlight effect wouldn't produce offset nor would flashlight even rotate anymore
77-Created separate timer functions that use GetTickCount() instead of clock_t, don't need threads so no difference
78-Flashlight has more realistic "catch-up" in terms of spot light when player moves direction
79-Player is no longer forced to look at the monster anymore, scary sound still plays
80-Breathing sound is set to Maximum if player distance is within 1000 float units
81-Breathing sound fades slower as you go farther away instead of as quickly as before, breathing was hard to hear over horror music
82========================================
8302/11/20(11:52AM) Upgrading to 0.0.08c (Massive break taken/mental crisis due to wondering if DX9 is the best API to use for a game engine, but it is for this game)
84-Created physics functions in BSP header to improve upon physics, none are close to perfected yet so can't be used
85-When player is not using flashlight, player will only see dark red eyes, if using flashlight, will see monster's face
86-Created new header file for independent timer classes
87-Some game triggers and ALL game hints no longer need win32 Threads for timing, DoGameHints() function implemented
88-When in monster's view, the "scary sound" is actually a growl/roar
89-Minorly improved monster's pathfinding, will no longer wallhack to get to the player, but still gets stuck
90-Created separate mesh for monster, one for eyes one for face
91-Improved linked list memory handling for debug console
92-Implemented Death Sequence
93========================================
9402/18/20(6:19PM) Upgrading to 0.0.09a (All upgrades are at the engine-level, not gameplay level. This is so that once this engine ie complete, upgrading to DX10/11 will become easier)
95-Created DirectXAPI.h header file to handle most(not yet all) graphical functions instead of hard-coding them into the gameloop
96-UpdateEffectDX(..) function created that passes all API dependent parameters as pointers and applies the desired effects for shaders
97-SetFlashlightMatrix() brought into new header file
98-LoadShaderDX(), SetupVertexFogDX() and DisableFogDX() have been created and are part of this header and use LPDIRECT3DDEVICE9 type as parameter
99-Created new Timer Class for "Scary Sound"
100-Created Globals.h, obviously a header file that store all globals essential to gameplay and DX API rather than crowd the main game cpp
101-TextTimer Thread Eliminated, again win32 threads are not good for game engines
102-SoundTimer Thread also Eliminated
103-SurpriseDirChange Thread Eliminated as well
104-Tilde(~) Key opens up debug console
105-draw.cpp is now renamed to "Game.cpp"
106========================================
1073/1/2029 (5:54PM) PROJECTED ABANDONED. UPGRADING TO DIRECT3D 11.
108-FINAL WILL AND TESTAMENT-
109I have learned a TREMENDOUS DEAL by working on this game/game engine. This project will always serve as a learning base for not just the DirectX API, but as a means of avoiding
110future pitfalls; Learning what to do and more importantly, what *not* to do. This project will be re-visited several times in the future I'm assuming for learning and nostalgic purposes.
111If it were not for all the time and effort put into this project, I would not be where I am now, and more importantly, where I am going in the future. Sure, it sucks that *everything* is
112a shader in the new graphics API's(both DX and OpenGL), that there is no D3DLIGHT struct where I can easily place a light. But that means I just get to learn more about HLSL. And once
113I have perfected shaders to the point where I can easily just put them down like I would filling D3DLIGHT struct, it'll all be for the better. DirectX9 is still in use today as of this writing,
114although has been considered deprecated for over half a decade. I want to move forward with my life, not back. I'm not sure when I'll be reading this in the future, how many years,
115but this changelog is a sort-of diary about me learning not just about API, but C++ in of itself(Who knew calling CreateThread() within classes caused so many problems on the Windows API?)
116I will miss working on this project, as it became increasing easier and easier to get what I wanted done--I got to the design phase and called it quits. Not because of lack of motivation,
117but because I want to improve *everything*. I even ported Ken Wright's BSP header *by myself* to DirectX 11, even when I was told by experts(Microsoft employee's specializeing in DirectX)
118that it could not be done, but I did it anyways, and as of this writing, I am rendering BSP maps perfectly on the new engine. I even have an OBJ Mesh loader and renderer, no longer confined
119to the .X DirectX mesh format.
120
121This game/game engine start project will always be my first love. Let's hope there's more to come!
122And with that, I both relucantly, but happily, say goodbye. Looks like I never got to see where 0.0.09c would look like! Perhaps the better question is what will 0.0.09c look like on the NEW
123engine?
124
125This project will be backed up for posterity.
126
127I formally declare a cease to this engine at 6:08PM on March 1st, 2020.
128
129Goodbye, and good luck! to Thomas Woodman by Thomas Woodman.
130/*---------------------------------------------------------------------------------------------------------------------*/