The Doom Game Engine Part 2

Over this last weekend, I was moving into my new college apartment, so I was SUPER busy! 

But today is Doom Engine part 2! 

The level editor in the game engine consisted of basic objects, such as vertices to represent single 2D points in space. These vertices can be joined together to create lines, which are known as "linedefs" in the engine. Each of these "linedefs" could have either one or two sides, known as "sidedefs." The editor could group these sidedefs together to create 2D polygons, and the polygons in the game engine are called sectors, which represent certain areas/rooms in a given level. One-sided linedefs represent a solid wall in the engine, while two-sided linedefs represent connections between two different sectors. Sidedefs are used to store wall textures, which are completely separate from the floor texture and ceiling texture.  

Every sector has a certain number of properties:

  • a floor height,

  • a ceiling height,

  • a light level,

  • a floor texture,

  • and a ceiling texture.

What's interesting is that each sector only has ONE light level, so if you want to change the level of the lighting, you'd have to create a whole new sector and alter the light level of that sector! Sidedefs are used to store wall textures, which are completely separate from the floor texture and ceiling texture. Each sidedef can have up to 3 textures: the lower, middle and upper textures. With one-sided linedefs (i.e. solid walls), it is only possible to use the middle texture for the entire wall! But with two-sided linedefs (i.e. connections between sectors), the lower and upper textures are used to fill the gaps where adjacent sectors have different floor and ceiling heights. For example, the lower textures would be used to represent stairs. Most sidedefs don't utilize the middle texture often, even though they technically could. However, the middle texture is only really useful for hanging textures in mid-air. An example of a middle texture would be a transparent bar texture that appears to form a cage on a two-sided linedef!

Doom_map.png

The Doom Game Engine Part 1

Today I'm going to start discussing the Doom game engine, also known as id Tech 1. One quick thing I should mention too is that I will be starting college again soon. So, I'm probably only going to be doing shorter posts every day, or I'll do a couple of posts a week from now on.

id Tech 1 was written by John Carmack, with an initial release in December, 1993. The engine was used to make the games Doom, Doom II, Heretic, Hexen: Beyond Heretic, Strife: Quest for the Sigil, and a few others.  

While the engine appears to render a 3D space, the space is actually projected from a 2D floor plan. The player's line of sight was always parallel with the floor, and the walls had to be perpendicular to the floors because of how the engine would construct these 3D environments from a 2D projection. Thus the Doom engine wasn't exactly "3D", as the player couldn't look up or down at all. This meant that the engine could NOT be used to create multiple floors stacked on top of one another (i.e. it didn't support room-over-room) and it couldn't have sloped floors/ceilings either. However, id Tech 1 was revolutionary for its time because it had the ability to provide fast texture-mapped pseudo-3D environment on modern hardware at the time! 

Because the engine really projects from a 2D floor plan, the engine itself contains a super helpful "map mode", which represents a grid-like system for seeing a birds-eye view of the level you're currently editing; this allows the user of the engine to make simple edits and easily see the player and walls of a given room or area of the level (also known as "sectors").

Doom engine "Map Mode" (level editor) viewRetrieved from https://en.wikipedia.org/wiki/Doom_engine#/media/File:Doom-map-format-map.svg

Doom engine "Map Mode" (level editor) view

Retrieved from https://en.wikipedia.org/wiki/Doom_engine#/media/File:Doom-map-format-map.svg

Quick Break

Today, I just added some more details and games to the previous posts!

Tomorrow I'll start game engines! 

I know this is a lot to read and comprehend, so I will use today as a Quick Break!

 

A Very Brief History of Games from the 1990s: Part 7

1999 -

  • Silent Hill

    Silent Hill is a third-person survival horror game developed by Konami and released for PlayStation in January, 1999. Silent Hill utilizes real-time rendering of 3D environments, and to lessen the PS1's hardware limitations, the developers actually added fog and darkness to muddle the graphics! The game follows the story of Harry Mason as he searches for his missing adopted daughter, Cheryl, in the town of Silent Hill. The development of the game started in September of 1996. Team Silent, a group of staff members from Konami, decided on a "fear of the unknown" approach for their game and wrote a vague storyline to force the player to fill in the gaps. Artist Takayoshi Sato designed the cast of characters for Silent Hill. Initially, Sato was restricted to basic font editing and file sorting, but he created 3D models and presented them to the older staff members. However, Sato was not given much credit for his work since he was a young employee and was much less respected than older staff members. He actually approached the higher-ups in Konami at one point to demonstrate renderings of his 3D models and threatened to withhold his information on such rendering techniques unless they let him do the 3D modeling. He was given this opportunity! Sato's superior still did not want to give him full credit for his work and wanted to give Sato a supervisor. Sato prevented a supervisor by volunteering to do all the full-motion videos by himself after his coworkers left for the day! He practically lived there for two and a half years, rendering the full-motion videos using his coworkers' 150 different Unix-based computers. Inspiration for Silent Hill came from Sir Arthur Conan Doyle's book The Lost World and Lewis Carroll's Alice's Adventures in Wonderland. 

  • EverQuest

    EverQuest is a fantasy Massively Multiplayer Online Role-Playing Game (MMORPG) developed by Sony Online Entertainment and released in March, 1999. This was actually the first extremely successful MMORPG that utilized a 3D game engine. EverQuest's development started in 1996 by designers John Smedley, Brad McQuaid, Steve Clover, and Bill Trost. Inspiration for the game came from text-based MUDs (Multi-User Dungeon), in particular DikuMUD. EverQuest includes 16 classes:

    1. Warrior

    2. Shadow Knight

    3. Paladin

    4. Beastlord

    5. Berserker

    6. Monk

    7. Ranger

    8. Rogue

    9. Wizard

    10. Magician

    11. Necromancer

    12. Enchanter

    13. Bard

    14. Cleric

    15. Druid

    16. Shaman

If fantasy multiplayer role-playing games are your thing, I'd definitely check this one out!

Silent Hill gameplay screenshot

Silent Hill gameplay screenshot

EverQuest gameplay screenshot

EverQuest gameplay screenshot

A Very Brief History of Games from the 1990s: Part 6

1998 -

  • Half-Life

    Half-Life is a sci-fi first-person shooter game developed by Valve and released in November, 1998. The story of the game revolves around Dr. Gordon Freeman finding his way out of the Black Mesa Research Facility after an experiment goes horribly wrong and opens a portal to another dimension known as Xen. Alien creatures from Xen emerge from this portal and begin attacking any humans in sight, and the military has been called in to cover up the incident. It is up to Gordon Freeman and the remaining scientists to close the portal. The inspiration for Half-Life came from Doom and Stephen King's The Mist. Half-Life was acclaimed for its graphics and realistic gameplay at the time, and it received over 50 "Game of the Year" awards. It is considered to be one of the greatest video games of all time by many gamers around the world. What's interesting is that in the middle of the game's development, Valve created a group called the "cabal", which was initially a group of six individuals that would work six-hour meetings for four days a week. The "cabal" was responsible for designing all aspects of the game, including the levels, the enemies, the story, and other gameplay features. In the end, the "cabal" produced a 200-page design document for the game that described practically all aspects of the game! Half-Life has many puzzles for the player to solve, such as exploring a maze of conveyor belts or using boxes to climb to the next floor. It is one of the first games to utilize continuous first-person control of the Gordon Freeman (except for very short cutscenes and levels loading). This means the game officially doesn't have any levels and seems more realistic. People tend to remember the classic crowbar weapon that Gordon Freeman can use, as well as the famous "headcrab" enemy!

  • Unreal

    Unreal is a first-person shooter game developed by Epic MegaGames, Digital Extremes and Legend Entertainment in May 1998. Many people are probably aware of Unreal Engine, one of the most top-notch game engines for realistic 3D games today. Well, Unreal was the first game that was made with the Unreal Engine, hence the name. And it is still used to this day! Unreal was actually in development for three years and was created in Tim Sweeney's garage, the founder of Epic MegaGames! Unreal was mostly funded by their previous game, Epic Pinball. Intel invited Epic MegaGames to demonstrate the game to them, and they became interested in the game. Intel told Epic about their upcoming MMX code (a simple instruction, multiple data instruction set) and Sweeney actually made an MMX version of the Unreal rendering code before he even received a chip with MMX. Unreal came packaged with its own scripting language called UnrealScript, which soon developed a large community online for game mods and other gameplay features. Unreal also came with a map editor called UnrealEd, which allowed players to create even more interesting content. This game helped revolutionize graphics, as it was one of the first to use texture mapping. This type of texturing enhanced surfaces with a second texture for material detail. So when the player stands close to a building, he/she can actually see that the surface texture and material are more complex than it appeared from far away. This was a ground-breaking game in terms of realism for its time! In terms of Unreal's story, the player assumes the role of Prisoner 849 aboard a prison spacecraft known as Vortex Rikers. As this ship is traveling to the moon-based prison, the ship gets caught in the gravitational pull of the planet Na Pali and crash-lands. Na Pali is home to the Nali, a tribal race of four-armed humanoid creatures. The Nali are under subjugation by the Skaarj, a race of technologically-advanced reptilian humanoid creatures. It is up to the player to travel through Na Pali and Skaarj spaceships to kill the Skaarj Queen and escape the planet! The environments in this game are super engaging and lively. I have to say that the level design, weapons, and pick-ups (flashlights, seeds to grow health plants, a console that logs info, etc.) in this game is very unique. This game set the foundation for the Unreal Engine, which is one of the most popular engines nowadays.

 

Half-Life gameplay screenshot

Half-Life gameplay screenshot

Unreal gameplay screenshot

Unreal gameplay screenshot

A Very Brief History of Games from the 1990s: Part 5

1997 -

  • Shadow Warrior

    Shadow Warrior is another first-person shooter game developed by 3D Realms and released in 1997. The game follows the story of Lo Wang, a ninja warrior and previous bodyguard for Zilla Enterprises. When Master Zilla decides to conquer all of Japan using demons from the "dark side", Wang quits his job and is now considered a threat. Thereafter, it is Lo Wang's job to fight through waves of demons to put a stop to Master Zilla. Shadow Warrior was also built with an improved version of Ken Silverman's BUILD Engine, which allowed for 3D voxels for weapons and inventory items, transparent water, and true room-over-room levels. This game was ahead of its time due to having vehicles like tanks that Lo Wang could drive, turrets, and even climbable ladders. Some of Lo Wang's arsenal consists of a katana, shurikens, sticky bombs, an Uzi, a riot gun, a rocket launcher, a grenade launcher, a demon head and a rail gun. 3D Realms wanted the game to be more advanced than Duke Nukem 3D.

 

  • Blood

    Blood is a first-person shooter game developed by Monolith Productions and released in May, 1997. The story of the game revolves around an undead 20th-century gunslinger, Caleb, who seeks revenge against the dark god Tchernobog for taking the love of his life, Ophelia. The game starts off with Caleb being resurrected from a grave and shouting "I live... again!" Blood offers a wide variety of interesting weapons to choose from, including a pitchfork, a tommy gun, flare guns, double-barrel shotguns, a voodoo doll, a tesla/plasma gun, time bombs, and even an aerosol can for use as a flamethrower! Blood is yet another game that was made with the enhanced version of Ken Silverman's BUILD Engine and utilized the engine's new voxel features and lighting/shadow capabilities. Development for Blood began at Q Studios, which was an independent game company funded by 3D Realms at the time. Q Studios offered weekly updates on the progress of the game, starting in June of 1996. However, in November of 1996, Q Studios was acquired by Monolith Productions and all rights were sold to them, which allowed 3D Realms to focus on making Shadow Warrior. Blood was known for its gore and its creepy and violent atmosphere, as zombies could literally have their heads shot off and kicked around. Enemies like cult members can also be blown to pieces or be lit on fire and start screaming things like "It burns! It burns!" This was one of the first games to utilize graphical horror and surprisingly haunting and creative environments. Personally, this game is one of my favorite horror games! The story to this game is very deep and fascinating, and the gameplay violence makes the game very fun! I'd definitely recommend it.

 

Shadow Warrior gameplay screenshot

Shadow Warrior gameplay screenshot

Blood gameplay screenshot

Blood gameplay screenshot

A Very Brief History of Games from the 1990s: Part 4

1996 -

  • Duke Nukem 3D

    While easily one of my favorite games of all time, Duke Nukem 3D is a first-person shooter developed by 3D Realms and fully released in April, 1996. The game follows the adventures of Duke Nukem as he tries to save women from an alien invasion on Earth. Duke Nukem 3D consisted of four chapters back in 1996 each with its own final boss (five chapters in the new version released in 2016). There were all sorts of different levels that were centered in places like LA, Hollywood, movie theaters, prisons, and even the moon! Duke had an arsenal of weapons that he could gather throughout the levels: duke's own "mighty" foot to melee enemies, a pistol, a shotgun, a machine gun (ripper), an rpg, a grenade launcher, pipe bombs, laser tripwires, a freeze ray, a shrink ray, and an expander (growth ray). Duke could also collect items to assist the levels, such as steroids to make duke run fast, a medkit to heal, scuba diving gear to breathe underwater, armor for extra protection, a hologram, a jetpack, and even night-vision goggles to see in the dark. Enemies include pig cops (mutated LAPD officers), aliens, octabrains, and other lizard-like enemies. This game is a classic and it is considered a major landmark in gaming history for continuing the first-person shooter genre. There were also a LOT of "easter eggs" in Duke Nukem 3D. These easter eggs range from things like Luke Skywalker, Indiana Jones, Snake Plissken, Doomguy, and the terminator to other quotes from famous movies such as Alien, They Live, Pulp Fiction, Jaws, and more! Duke Nukem 3D is currently available on the Xbox One, PS4 and PC/Mac. Duke Nukem 3D was made with Ken Silverman's BUILD Engine, which is what I will be covering in a little bit of depth in the near future.

 

  • Diablo

    Diablo is considered a role-playing hack and slash game that was released by Blizzard Entertainment in December, 1996. David Brevik, the main creator and designer of Diablo, originally envisioned the game as a turn-based role-playing game, and he proposed the game to many publishers, where many of which turned him down because they thought RPGs were "dead". However, Blizzard Entertainment took interest in the idea and offered to help make the game under the condition that it be made real-time and that it contained multiplayer. Diablo begins in the town of Tristram, which once held a monastery with Diablo trapped in an enchanted soulstone buried deep beneath it. Later on, a cathedral was built over the ruins of the monastery and Diablo possesses an archbishop to destroy the soulstone prison from which he is trapped. Upon unleashing, he possesses the king to launch assaults on peaceful kingdoms, and Diablo later possesses the king's son, Prince Albrecht, to fill the caverns below the cathedral with horrific creatures from the prince's dreams. Tristram had no king, no law, and nobody left to protect it, so people became fearful. It is up to the player to descend through randomly-generated dungeons and save Tristram from Diablo. The gameplay consists of a 3D isometric view of the world. Diablo utilizes a class system and the player can choose to be a warrior, a rogue, or a sorcerer. The player can acquire items, defeat enemies, cast spells, interact with non-player characters, and explore this vast land!

Duke Nukem 3D gameplay screenshot

Duke Nukem 3D gameplay screenshot

Diablo gameplay screenshot

Diablo gameplay screenshot

A Very Brief History of Games from the 1990s: Part 3

1995 - 

  • Star Wars: Dark Forces

    Star Wars: Dark Forces is a first-person shooter developed by LucasArts and released in 1995 for MS-DOS. It is interesting to note that inspiration for this game came from fan mods of the game Doom, where one of these mods actually contained a fan-made Death Star level! The creators of the game (Daron Stinnett, Ray Gresko, and Justin Chin) wanted to take the FPS genre of gaming and create an adventure style game with puzzles and a deep star wars storyline. They originally wanted Luke Skywalker to be the main character of the game, but they soon realized that doing so would constrain the storyline too much; so these developers agreed on a new character, Kyle Katarn. Star Wars: Dark Forces was created with the newly programmed "Jedi" game engine, which was made from scratch by the visionaries of the game. The Jedi 3D game engine featured atmospheric effects like fog and haze, and it included shading, fully animated textures, and even levels with multiple floors which were never before seen at the time! It also had an active environment with flying ships coming and going, conveyor belts and other machines moving, and even rivers sweeping by. The player controls Kyle Katarn, a mercenary for the Rebel Alliance who is sent on missions related to finding the plans to destroy the Death Star and investigating assaults of Alliance bases.

 

  • BioForge

    BioForge is considered an sci-fi adventure game developed by Origin Systems and released in March, 1995 for MS-DOS and Microsoft Windows. The game revolves around playing as a Cyborg who awakens in a cell on a ship and it is up to the player to find out what happened to your cyborg, the ship and a strange cult that controls it. The development team consisted of ten people and was lead under the direction of Ken Demarest. This game was really hardware-intensive back in 1995 because of the really detailed 3D models, texture maps, and software renderer. According to Demarest, the game takes place on a "lonely planet because we could not show more than two to three characters on screen at a time." BioForge was one of the first games to utilize real-time motion capture with a rotoscoping technique and it seems to be known for its use of fully texture-mapped quaternion-based skeletal characters, which actually has become an industry standard to this day! The game took inspiration from Alone in the Dark and it inspired Resident Evil. This is also one of the first games to utilize 3D character gore and damage!

(https://en.wikipedia.org/wiki/BioForge

Star Wars Dark Forces gameplay screenshot.

Star Wars Dark Forces gameplay screenshot.

BioForge gameplay screenshot

BioForge gameplay screenshot

A Very Brief History of Games from the 1990s: Part 2

Resuming from where I left off yesterday, here are the next few years of gaming history in the 1990s!

1993 -

  • DOOM

    Doom is a 3D first-person shooter game released in 1993 by id Software, and it is considered one of the most influential games in gaming history because of its graphics and first-person gameplay at the time! After Wolfenstein 3D in 1992, John Carmack decided to develop another 3D game engine, id Tech 1, which became known as the Doom Engine. The designers at id Software were looking to create a game that combined both science fiction and horror, and they took influence from movies such as Alien and Evil Dead II. John Carmack cited that he came up with name after watching the movie The Color of Money, where at one scene Tom Cruise arrives at a pool hall with a case for his custom pool cue and somebody asks "What you've got in there?" Cruise replies "Doom." Doom tells the story of a space marine ("Doomguy") who has to fight his way through hordes of demons that have possessed the crew of the Mars space stations and eventually goes to hell after an experiment goes wrong. This classic game set the pathway for many first-person shooter games in the 1990s, such as Duke Nukem 3D, Star Wars Dark Forces, and Rise of the Triad.  As of right now, a new Doom game was announced at E3 this last summer! Looks like Earth is in for trouble!  

  • Virtua Fighter

    Virtua Fighter is an arcade fighting game by SEGA released in October 1993. This game was actually the first fighting game to utilize fully 3D polygonal graphics, and it was highly regarded for its use of real world fighting techniques. Each character was created with flat-shaded quads and each had their own distinctive move set with different martial arts, which made the game more diverse and interesting. There were only 8 characters in the game and there were only three buttons (punch, kick, and guard) and a joystick to fight with. The single-player consists of fighting all other characters and a final boss named Dural. Each fight is a best-of-three match, where the player wins by either knocking out the enemy, forcing the enemy out of the ring, or by having more health when the time runs out. Virtua Fighter helped give rise to 3D versions of other classic fighting games, such as Mortal Kombat and Street Fighter.

Doom gameplay screenshot

Doom gameplay screenshot

Virtua Fighter gameplay screenshot

Virtua Fighter gameplay screenshot

1994 -

  • The Elder Scrolls: Arena

    The Elder Scrolls: Arena is a fantasy open-world role-playing game (RPG) developed by Bethesda Softworks and released in November 1994 for MS-DOS. The Elder Scrolls: Arena wasn't originally planned to be an RPG. Instead, the designers of the game Ted Peterson and Vijay Lakshman planned on creating a "medieval-style gladiator game." The player and his companions were originally designed to travel the world and fight other gladiators in different arenas until he/she became the "Grand Champion" of the Imperial City, the world's capital. After taking inspiration from table-top RPGS and seeing the newly released Ultima Underworld: The Stygian Abyss, the game was put into production. However, when the game was in development, the designers started diverting from the main premise of the game and focused more and more on the side quests, cities, and dungeons instead of the arenas; this soon took precedence over the rest of the game and finally the designers agreed to make a fully-fledged RPG instead. Eventually, Arena combat was removed from the game entirely. Todd Howard joined the team and tested the CD-ROM version of the game as his first assignment. Howard now works as Executive Producer of Bethesda Softworks. If you love free-roaming in a massive fantastical world full of dungeons, inns, cities, quests, interactions, and realistic day/night cycles, or if you just love The Elder Scrolls series and old school gaming, then this is the game for you!

 

The Elder Scrolls: Arena gameplay screenshot

The Elder Scrolls: Arena gameplay screenshot

A Very Brief History of Games from the 1990s: Part 1

Today is going to be more of a timeline of games that came out in the 1990s, along with a brief description about each of these games and a little bit on how they came to be. Note that I'm NOT going to go into the specifics of EVERY game in the 1990s, nor am I going to be super in-depth about the developmental history of the games I list. Today is meant to be a brief introduction to different kinds of 1990s games, their development, and what these games are about. I originally planned to cover all the years of the 1990s game timeline today, but I realized that's a TON of content. So, for today I'll cover 1991-1992. Tomorrow I'll finish 1993-1994! Then I'll do 1995-1999, where each year will be on its own day. Then we'll move onto old school game engines.

Let's begin!  I'd consider the 1990s to be when the rise of 3D gaming occurred. You'll soon see why!

1991 -

  • Catacombs 3-D - 

    Catacombs 3-D was released in November 1991 for MS-DOS and is considered one of the first landmark first-person shooter (FPS) games of its time. It was actually one of the first games to utilize 3D graphics. John Carmack (programmer and designer), John Romero (programmer), Robert Prince (composer), and Jason Blochowiak (programmer) were the creators of the game. The goal of the game is very simple: you play as a wizard by the name of Petton Everhail, where you descend into a catacomb in the Towne cemetery to defeat the evil lich (an undead necromancer) called Nemesis. The goal is to save your friend by the name of Grelminar. The player has infinite ammo and must take out a bunch of weird, fantastical creatures by shooting magic orbs out of Everhail's hand!

Catacombs 3-D gameplay screenshot

Catacombs 3-D gameplay screenshot

1992 -

  • Wolfenstein 3D

    Wolfenstein 3D is a first-person shooter game developed by Id Software and released in May, 1992 for MS-DOS. Inspired by Ultima Underworld in the making at the time and its game engine, programmer John Carmack invented a faster 3D game engine that restricted the viewport rendering to a single plane. This engine was used to make Catacombs 3-D. After seeing promise in Carmack's new engine and wanting a more violent video game, John Romero proposed a remake of the 1981 classic shooter game, Castle Wolfenstein. Using Carmack's engine, John Romero and Tom Hall designed the game together and made it fast-paced and violent. Wolfenstein 3D was a commerical success, selling over 200,000 copies by the end of 1993. Hence first-person shooting became more and more popular, as it actually inspired other companies to begin making their own first-person shooters. Wolfenstein is all about playing as a spy William "B.J." Blazkowicz during World War II, as he escapes from a German prison camp. The goal is to make your way to the elevators throughout the level and defeat soldiers with a variety of different weapons and ammo pickups!

Wolfenstein 3d gameplay

Wolfenstein 3d gameplay

 

  • Ultima Underworld: The Stygian Abyss

    Ultima Underworld is a first-person role-playing game (RPG) released in March 1992 by Blue Sky Productions. This game is considered a MAJOR landmark title because it was WAY ahead of its time! It is considered the first role-playing game to contain a fully 3D environment. It introduced a lot of technological advancements that have never been seen before, such as looking up and down, grabbing items within the 3D world to add to your inventory, flying, and even a map that you can draw on! The game takes place in "The Great Stygian Abyss", which is a large multi-floor dungeon with a failed utopian civilization. You play as "The Avatar", where you must save the baron's kidnapped daughter in the Stygian Abyss. This game greatly inspired the Elder Scrolls series, Bioshock, and Deus Ex. Without Ultima, I don't even think the Elder Scrolls would've been the way it is now! There is a lot of developmental history, so I won't touch up on that right now (maybe later on).

Ultima Underworld: The Stygian Abyss gameplay screenshot

Ultima Underworld: The Stygian Abyss gameplay screenshot

 

  • Alone in the Dark

    Alone in the Dark is a 3D survival horror game developed by Infogrames for the MS-DOS in 1992. Frédérick Raynal was the visionary behind this game. In 1989, he was a programmer at Infogrames and was making a port to a 3D game called Alpha Waves. In doing this port, he was inspired to program an character creation and animation tool. In 1991, Infogrames CEO, Bruno Bonnell, thought of an idea to use matches to light up a dark environment for a game. Raynal was intrigued with the idea, and since he loved horror movies, he proposed the game. The game is set in the 1920s in Louisiana. You play as a private investigator, Edward Carnby (or Emily Hartwood depending on who you choose), where your goal is to investigate a suicide in a haunted mansion called Derceto. Immediately when you arrive, the doors lock behind you and you become stuck in the mansion. It is your mission to find out what happened at the mansion by roaming around and gathering items for your inventory to solve puzzles and fight enemies (ghosts, zombies, rat-like creatures, etc). It is like an open-world story-driven game and requires your survival instincts. The story and gameplay were inspired by Edgar Allen Poe and H.P. Lovecraft short stories. Alone in the Dark inspired survival horror games like Resident Evil. This game has a very good story! I definitely recommend it.

Alone in the Dark gameplay screenshot

Alone in the Dark gameplay screenshot

Sneak Peek of the Next Topic: Old School Gaming

Welcome back everyone!

Today I briefly want to talk about what is to be discussed next! For the next week or so, I'm going to discuss a new topic on Old School Gaming. This is a very broad topic that has so many interesting applications to the modern gaming world! It is EXTREMELY fascinating! All my friends know how much I geek out on old school gaming!

I am going to start the first day (tomorrow) with information on the history of Old School Games (only from 1990s - early 2000s). I'll spend the next few days after that on Old School Game Engines and their internal workings! Mostly, I'll be discussing Ken Silverman's BUILD engine from the mid-1990s and the classic DOOM engine (id Tech 1) from 1993. Maybe if there is time I will discuss the rise of Unreal Engine too! After discussing these engines in-depth for a few days, I'll move onto some Old School Gaming with subjects on level design, gameplay mechanics, and how these games evolved over time.

To kick off this topic, here is a video on 1990s games and how they evolved in terms of graphics. 

Destruction in Video Games: The Final Part

As I mentioned yesterday, today is all about Shape Matching Methods for destruction in video games. Conceptually, these methods are easier to understand than Finite Element Methods, but mathematically, they are roughly just as difficult as FEM. So to avoid lengthy mathematical equations, let's just talk about it conceptually. 

Recall that Finite Element Methods depend mostly on the physical properties of the object's material for simulation and are meshed. Shape Matching Methods are geometrically based and work with meshfree models. Meshfree models don't depend on a collection of connected points. As their name implies, they depend on the shape of the object directly! These methods don't require expensive decomposition or computations like FEM, which make them a lot faster for certain cases (specifically simple deformations on more rigid objects)

Shape Matching Methods are useful for meshless deformations, since they rely only on geometric constraints and distances between points instead of internal energies like FEM. The algorithm for meshless deformation is decently simple to understand. Given that you have a bunch of particles with mass in some starting configuration (i.e. arrangement), we can draw a "simulated mesh" connecting these particles to define some shape of this starting configuration. Note that these particles are NOT connected in an actual mesh and we assume there isn't any particle-particle interaction between them. These particles are simulated and respond to collisions or external forces only. We also assume that we have no idea of their connectivity to each other; we are just defining some shape (configuration) that we will later match after deformation occurs. Also note that these shapes can be anything. It really depends on the way the particles are set up. So now let's say we apply some external force to this "simulated mesh." What happens is that the particles of the original configuration begin to deform and we see rotations and translations of these deformed points begin to occur. With the new positions of these deformed points, we match the original shape (configuration) near the new positions of the particles to determine the optimal rotation and translation of the original shape to get "goal points". These "goal points" represent the original shape of our starting configuration except rotated and translated to define the directions that our deformed particles should move in to reach the goal points. In other words, we need these "goal points" to figure out the directions our points should move in to end up with the same shape we started with, except rotated and translated. That's why it is called shape matching!

Essentially we:

  1. start with a bunch of particles in some shape,

  2. we apply forces to deform these points from the starting configuration,

  3. we align that same starting shape (except with the points rotated and translated) to the newly deformed particles' positions (goal points),

  4. and we move those deformed points towards the goal points to get the original shape we started with!

Check out the image below to help understand what I mean! It makes a lot of sense with a pictorial representation!

Shape Matching Methods are mainly suited for stiff or nearly rigid objects, and thus they can be problematic with objects that need to undergo large amounts of deformation. You can extend the range of motion by accounting for Linear or Quadratic deformations.

In terms of speed, ease of use, and quality of animation, Shape Matching Methods are generally very good. They're pretty fast and can simulate hundreds of SIMPLE deformations of objects in real-time.

Here is a helpful link to learn more about Shape Matching Methods, the mathematics behind it, and where I received the image below!

https://www.cs.drexel.edu/~david/Classes/Papers/MeshlessDeformations_SIG05.pdf

Meshless.PNG

Destruction in 3D Video Games: Part 4

I've been reading up a lot on a thesis called Procedural Destruction of Objects for Computer Games by Joris van Gestel. Today I want to talk about one section of his thesis, which discusses previous work on procedural destruction. Van Gestel mentions that he sent a questionnaire out to a variety of game companies and asked them what they thought the most important aspects were for destruction in video games. From his results, he found out that "the five most important aspects were control, speed, ease of useease of integration, and the quality of the result." Surprisingly, none of those companies thought "realism" was an important aspect, as long as the destruction in the game seemed good enough.

Van Gestel mentions that the most common approaches to destruction in video games nowadays are Finite Element Methods (FEM) and Shape Matching Methods. 

For today I'm going to talk briefly about FEM. Tomorrow I will discuss Shape Matching.

Finite Element Methods (FEM) are considered numerical techniques for solving many different kinds of mechanical engineering problems and mathematical physics problems. These are commonly used in computer graphics as well for destruction! In terms of destruction, FEM work on meshed 3D models. Think of meshed models as 3D models that rely on a grid of interconnected simulation vertices. Finite Element Methods use these meshed models to determine "how forces propagate through a continuous volume, usually the inside of an object", as Van Gestel states; this helps us analyze crack initiation and how that crack propagates throughout the rest of the object's volume in a video game, depending on that object's actual material. These existing techniques of FEM utilize the external forces on the object and relate them to the internal forces on the object using the object's material properties. Through analyzing these internal forces, FEM can determine where the object will crack and in what direction to propagate the crack even further! 

The internal forces acting on the object are calculated node by node in the FEM mesh. For those confused on what a 'node' is, it is just a vertex (or point) in the mesh. For each node, the internal force on that node can be decomposed into two components: a tensile component and a compressive component. With these two force components (tensile and compressive), we can combine them together mathematically and treat them as a single "separating" force (discarding any unbalanced forces) that is used for indicating whether or not material failure (fracturing) occurs at that specific node. If this separating force has a magnitude larger than that of the material's toughness, then a crack is initiated and will most likely propagate. If there was material failure as a result of this separating force, we can find the plane of fracture on the current node and then split along that plane! After the current node is split, the algorithm continues on to calculate the separating forces on remaining vertices and repeating this whole process. This is the simplified representation of Finite Element Methods with destruction in video games.   

You may be asking: "I'm a little confused. How do we know where the object is cut?" Well, it gets a little mathematical. This separating force is really calculated using a mathematical entity called Tensors. If you are confused or if you'd like me to explain the exact mathematics behind it, let me know in the comments below or contact me individually! 

Anyway, Finite Element Methods generate super realistic results! However, the downside of using FEM is speed. It is very, very, very slow. For just a one-second animation, it can take up to 6 hours! This is partly due to the splitting of nodes along the fracture plane. As you increase the number of split nodes, the total number of nodes in the simulation also increases. More nodes in a simulation means more time to render! Thus as an object starts to fracture, the number of nodes in the simulation increases and that slows down rendering time. These methods are usually hard to implement in code too (again, due to Tensors)

 

Car crash deformation with FEMRetrieved from https://en.wikipedia.org/wiki/Finite_element_method

Car crash deformation with FEM

Retrieved from https://en.wikipedia.org/wiki/Finite_element_method

Destruction in 3D Video Games: Part 3

We covered a lot of content already! I plan on covering Destruction a few more days (probably 2 more days).

To take a breather for today, I just briefly want to discuss the difference between Ductile materials and Brittle materials!

  • Ductile Materials - These are materials that are able to undergo extensive amounts of plastic deformation before any sort of fracturing occurs. In other words, these are "tough" materials that absorb a lot of energy and are hard to break under high amounts of stress and strain. Examples of these materials include Copper, Steel, and Aluminum.

 

  • Brittle Materials - These are materials that can only endure relatively small amounts of plastic deformation before fracturing. In other words, these are "weak" materials that DON'T absorb much energy when placed under stress and can only endure a small amount of strain. These materials do deform elastically and plastically but only by very small amounts before fracturing. Examples include most glasses and ceramics.