Wednesday, January 27, 2021

Creating a cyberpunk 2077 like city in blender Pt6 : Testing paving textures

Sometimes, it's hard to choose the right texture to match the main concept, specially in this case when you have a limited set of textures that you can use. I'm using free textures from a lot of sources so  I'm seeing which one fits best.


















Sunday, January 24, 2021

Creating a cyberpunk 2077 like city in blender Pt4 : Another building

 

Here I'm modeling the second building for my cyberpunk 2077 inspired scenery. 



First I was trying to create something 'out of my head' but I ended up drawing some kind of concept:












This is the process of testing materials and unmapping them to see which fits best according to the general concept. 



To be continued..

Thursday, January 21, 2021

Game development: Learning through old games : GoldenEye 007 (N64) #2

  


It still amazes me how developers of "old games" created technologies /principles that are still used today.  That's the resume of this post. 






Even new heavy resource games can learn from it. What game is this? Read the first part.



5) Constraints X Optimizations

Martin Hollis: I mentioned we didn’t have an N64 or anything like one. The closest we had was an SGI Onyx or two. Thankfully, as it turned out, the N64 could render triangles much faster than the SGI Onyx. This was shocking as the list price of the Onyx was $250K dollars, and the N64 launched for about 1000th of this price. 

That’s progress. And it totally saved us, as several of the backgrounds rendered at about 2Hz (2 fps) on the Onyx, without even drawing enemies, objects, or Bond’s gun. My attitude was always, well, if it runs at all on the Onyx, we can probably get it to run at about 30Hz on the final hardware. 

We had a target of 30Hz for frame-rate. As a rule of thumb, I allocated 1/3 of the graphics processing to rendering the background, 1/3 to rendering the characters, 1/3 to the objects, and 1/3 to Bond’s gun (and 10% to the audio).

This kind of accounting partly explains why we didn’t always hit 30Hz. 

The fact is because we always knew the software had slack in for future improvement, and because the hardware was supposed to get faster with a later spin, we felt we could be optimistic about framerate. We were relying on future ingenuity, but in the end, the last few optimizations yield less than you hoped, and the final hardware is clocked slower than you hoped. 

Frankly, I think the benefit from having 50% more triangles in the backgrounds outweighed the cost of running at 20Hz in some places. I think the benefit of being able to have 8 characters on screen, outweighs the cost of running at 10Hz. The benefit of having thick smoke outweighs the cost of running at 10Hz. I don’t think the same decisions are correct today, with the more powerful hardware.





Karl Hilton, one of the designers on the project, says the N64’s processor was only 3/4 of what the team had designed for.  

The solution? Go old school.

“RGB color textures cost a lot more in terms of processing power. You could double the resolution if you used greyscale, so a lot was done like that. That's why a lot of goldeneye is in black and white. You could do double the resolution if you used greyscale, so a lot was done like that. If I needed a bit of colour, I’d add it in the vertex.”

Many elements are recycled from other parts of the game. The radar on multiplayer mode is actually an oil drum texture. The shuttle scene reused satellite textures and it’s takeoff imagery was powered by graphics from grenade explosions.



6) Some Color Palettes used in this game

Here's another post where i talk about color palettes used in games/movies.




This game follows a B&W color palette.  
Black represents power, elegance, and authority. Common associations with black also include class, distinction, formality, mystery, secrecy, and seriousness. The "trick" used by the developers had a great positive effect.
(source: careerfoundry.com - color psychology / UI Design)


7) Game Scale/Scenery


Image 1: Enemy human scale compared to the truck
Image 2: Comparing door, enemy, and truck height.
Image 3: Below, to make a comparison related to human scale/truck.


Image Source: BigWheels

More scale comparisons: everything is fine! (m) is used to compare the size of a urinal (e) it's the soldier's height. (h) is the height of the urinal placement.



Let's suppose this room is 3 meters high (z). There are six blocks height in total (a), including the glue between them. 
So Z/A = 0,5meters which means each block has a medium size of 50 centimeters. 
The only thing I think is strange in this room is this. Maybe it's on purpose -  a basement room that uses 'castle blocks' but nothing to think it's bad. (b) equals to width of the block, which I think is too wide. Can we also think the same about the room's floor scale?



Another scale comparison: This machine is fine! A kind of tall room. Also, I noticed the placement of the alarm system. The height is fine too. remembering that the enemy could turn on the alarm (AI).


8) Texture "repetition" / "recycling"

RED: Where the wall texture is repeating 
BLUE: Where the ceiling texture is repeating.


RED: Where the floor texture is repeating 
BLUE: Where the lower wall texture is repeating.
GREEN: Where the upper wall texture is repeating.
The (loot)boxes? Yes it's obvious they are repeating too. 




Same thing here, this time, just look at the wall's textures. Also, I can say that there's some fog effect in this area (cool!).

IMO, it didn't get ugly. This game is pretty awesome visually for the time. What I'm showing here is how the same textures are used in various parts of the game. This "technique (more here)" is used in today's games, with some differences (or not) like texture mirroring, filters, UV scaling, gamma correction, color-changing, and that's why a "so big game" seems to be compressed inside of a cartridge.


(Why) Is all this optimization necessary?

The Nintendo 64, console for which the game was created, at the time, had 4MB of ram available so you would have to optimize the resources for the system, compared to today ... that a console has at least 6GB of ram. Something 150x bigger. But because it's bigger doesn't mean that optimization is not necessary (what about open-world games? lol!) 

You can say: were the textures not streaming from the cartridge? I can't say why because I don't know the system architecture, but there are reports of the latest games made for the N64 that do take advantage of that.

Let's use another example:


Sci-fi lab scene: Just this scene without texture is using 800MB of VRAM.

Sci-fi lab scene: Just this scene without texture is using 1.8GB of VRAM. Note that it wasn't optimized for games. 

What about trying to export this to an N64 console game scene? I think it's like a dilemma of converting a heavy pc game to a Nintendo Switch console. It's possible? yes, with *some* loss of graphic quality and effects.  Just think how could you run, at the time (+-2002) , GTA 3 on you PC with 4 gigs of ram? Optimization. Let's go further. Playstation 3 hadn't 4 gigs of ram at the time too!

 


9) Final Words - What I've learned with this game:


**Game optimization:  
You must know your target hardware's limitations (such as console/cellphone/computer) when projecting/developing a game. Maybe you'll have fewer limitations with computers, but not everyone has a beast machine! Look what the Rare's Goldeneye team did according to the N64's limitations.

Still, it is interesting to think about the "percentage" of resource allocation. How much will be dedicated to audio, video, artificial intelligence, physics, controls, environment, rendering, quality level, etc.
How many games work well nowadays, without you having to update your computer so you can play, 'right'? (unless your computer is a monster!) No wonder many people prefer consoles. What if I play on cell phones? This one has the battery problems. What about minimum requirements?
I don't remember this game (007) crashing when I played. Of course, nowadays the players are more demanding, specially in relation to FPS (60? 120?) we must take this into account.  
 
In the past, a game with bad physics was not as unforgivable as it is today, since today we have more resources and technology.
 
You have to know what kind of textures you can use, size, how much memory you can use in each scene of the game, whether it will be loaded or not in real time (streaming). also, many textures, even nowadays, have to be used in other scenarios and scenes.
Apart from the details of the engine used. There must be something I forgot!



**Game scale/human scale:
I already posted here on the blog, there are some games, even current ones, that do not follow the real scale of objects, buildings, even humans. read more here. Maybe that was not important in the past, but nowadays it is. No wonder there are game studios looking for people with knowledge in architecture, because architects have a sense of scale, which leads us to talk about..


**Scenarios:
I cannot say that there were Architects on the team at the time, but the sets were well made and designed, the spaces are useful and have their function. The scenarios were based on the film, in order to give a feeling of really being in the shoes of 007. The proportions are great, especially for a game from the 90's era. (More below)

**Colors:
As I said about the color palette, the game follows a monochromatic color layer, which combines (who knows if it was purposeful in addition to the reason for using less console resources) well with the film and has an air of seriousness.

**Playability:  
The game was very well adapted to the control of the N64, being, at the same time, complex and easy to use and adapt. Note that the N64 has no mouse or keyboard, compared to other shooting games, whose platform was the PC.

**Sources:
The game used the film as a reference, source. Maybe you are not going to create a game about a movie, so you will have to use history books, short stories, do research, go to places, even use your imagination. References are important to not create something that is too disconnected from reality.

**Innovation:
Creating a game that almost copies another does not mean innovation. there has to be something different. a great innovation at the time of this game was artificial intelligence because enemies think ... and nowadays some games don't even have that! There is an objective to be fulfilled in the game, not just killing everyone!



Sources:
Videos:

Tuesday, January 19, 2021

 

I'm learning to use substance painter, here's the final result of a tutorial that I'm following, from adobe. This mesh is not my own. The tutorial link is here (youtube). The portfolio link is here (Behance).




Monday, January 18, 2021

Game development: Learning through old games : GoldenEye 007 (N64) #1

 


It still amazes me how developers of "old games" created technologies /principles that are still used today.  That's the resume of this post. 






Even new heavy resource games can learn from it. What game is this? 


From Wikipedia:

 

..is a 1997 first-person shooter developed by Rare and published by Nintendo for the Nintendo 64.

Based on the 1995 James Bond film GoldenEye, it features a single-player campaign in which players assume the role of British Secret Intelligence Service agent James Bond as he fights to prevent a criminal syndicate from using a satellite weapon against London to cause a global financial meltdown.

The game includes a split-screen multiplayer mode in which up to four players can compete in different types of deathmatch games.

(...) it received critical acclaim and sold more than eight million copies, making it the 3rd best-selling Nintendo 64 game

The game was praised for its visuals, gameplay depth and variety, and multiplayer mode. In 1998, it received the BAFTA Interactive Entertainment Games Award and four awards from the Academy of Interactive Arts & Sciences.

Retrospectively, GoldenEye 007 is considered an important game in the history of first-person shooters for demonstrating the viability of game consoles as platforms for the genre, and for signaling a transition from the then-standard Doom-like approach to a more realistic style. 

It pioneered features such as atmospheric single-player missions, stealth elements, and a console multiplayer deathmatch mode. The game is frequently cited as one of the greatest video games of all time.

Screenshots:


I've never worked with game development, but I'm curious about it.

I really believe that reading information about how a game is developed is a path to know how the same principles/ideas are (could be) still used today. Games like this should be the object of study to newcomers in the game design/development area.

What I will share with you: Q&A that you must have in mind when thinking about creating a game. For more information, really useful, to know the history behind the creation of this game, visit the sources. 
  

Let's start:


0) You must have the will to create a game
Take in mind that creating a game is different from playing, or even, playtesting, bug testing.   
Martin Hollis (former Rare developer) was a pretty big James bond movies fan. Having a passion to do something, especially if you really like it, helps a lot in any job, anything you want to do.



1) Create a High concept document
(Click here to see another example)

What is the game name? Goldeneye 007

What kind of genre? Adventure / Shooter / Kind of spy 

Number of player(s) / On line / Co-op / Split screen / etc?

Campaign mode: 1 Player | Versus mode: 1-4 Players 

What is the target audience?James bond fans / FPS fans

What is the target platform? (PSX, Xbox, PC?)

The target platform is the Nintendo64 (ULTRA64). At the time, the console didn't exist, the closest thing was a Silicon Graphics Onyx – a $150k computer.

Team roles? 

Source: melmagazine



The GoldenEye Team as they appear in the game.
L-R Martin Hollis, Mark Edmonds, Karl Hilton, B Jones, Duncan Botwood
Steve Ellis, Graeme Norgate, David Doak, Grant Kirkhope, Robin Beanland, Adrian Smith


10 members in total, including programmers, graphics designer, character artist, sound, background artist, level designer, etc.

How the game might look? 

Source: nintendolife

Something like Sega's Virtua Cop, ID Software's Doom, Time Crisis. 

The player's enemies are intelligent, for example - these characters would react appropriately to situations like alarms, taking orders, or even running away.

There is also a great degree of interactivity, for example, bullet holes being left in walls. Feedback from the environment/enemies.
James Bond would react to the pressure used in the analog stick, he would not only have a basic movement of walking fast or slow.

Is based on reality or fantasy?

This game is based on the 1995 James Bond film GoldenEye, it features a single-player campaign in which players assume the role of British Secret Intelligence Service agent James Bond as he fights to prevent a criminal syndicate from using a satellite weapon against London to cause a global financial meltdown. 


How so?
The concept of the game is based on the film, so much so that the team went to the set to obtain materials related to the film, such as scripts, photos, miniatures, locations, recordings. This is the rate photo of the game.
Source: nintendolife



Source: Wikipedia


Source: Raregamer


What kind of emotion is this game trying to evoke in the player(s)?
The feeling of being the James bond, acting like him, using the tools he uses in the film, saving people, detonating enemies, using his intelligence to pass the challenges (phases).


What is the project release date? TBA


2) Create a History bible document 
(Click here to see my example)

The history of this game won't be put here to save post space. 
But is resumed in the (1) document.


3) Create a Game design document 
(Click here to see my example)


How is the Game interface?
The interface is like a first-person shooter but refined in the sense that you see yourself as 007, using advanced weapons and equipment, as well as the James Bond wristwatch to change options and manipulate the environment.

The menu system is presented as an MI6 dossier. Four save files are available to track the player's progress through the game's twenty missions, each of which may be played on either "Agent," "Secret Agent," or "00-Agent," difficulty settings, with higher difficulties requiring the player to complete additional and more complex objectives. M, Q, and Miss Moneypenny provide background information on the chosen mission and its goals.


Source: nintendolife


Once a mission is completed, the player may either continue progressing through the story or choose to replay a previously completed level. Completing certain missions within particular target times enables the player to unlock bonus cheat options which make various changes to the graphics and gameplay, and upon fully completing the game on the 00-Agent difficulty level, an additional "007" setting allows the player to customize the challenge of any mission.

The design document also included a list of levels, weapons, features, characters and visual effects Hollis hoped to include in the game.

 

What does the player do? 
In the game you are a spy, the vision is in the first person, you start the missions with a pistol with silencer (PP7) or even just slaps. Depending on the mission, there are several specific weapons and tools to accomplish the objectives in a hidden or noisy way (bazooka). You can attract enemies silently, or kill them from afar.

Tell me more!
..Stealth is an important element of the game: in order to avoid gunfights with multiple opponents, it is advantageous to eliminate soldiers and security cameras before they spot or hear the player. 
Certain weapons may be powerful enough to shoot through doors and helmets but are very loud, while others incorporate suppressor or zoom lens attachments to aid the player in killing enemies discreetly.

Some gadgets from the James Bond film series are featured in the game and are often used to complete particular mission objectives; for example, 007's in-game watch includes the laser from the GoldenEye film, the remote mine detonator and Moonraker, and the electromagnet from Live and Let Die.

The control scheme
The Game Commands are Complex. The Analog moves, the A weapon switch, B to reload Ammo, and Do actions like Open doors and activate Machines like locking computers. L and R to aim, The C Buttons to Look up and down. [C Up and C Down] and walk to the Sides [C Left and C Right] and Z to shoot and Z + A to return to the Previous Weapon. In the beginning, you choose 4 Save Slots and you will have 2 Modes - Single Player and Multiplayer.
Constraints?

The N64 was not "ready" at the time. It was still being developed, even the controller. The final "format" of the controller was not defined. A rumor that would have an analog stick also existed. 

Since final Nintendo 64 specifications and development kits were not initially available to Rare, the team had to estimate the finalized console's capabilities using an SGI Onyx workstation and Nintendo's custom NINGEN development software.

Is there any innovation? What makes this game unique?

Rather than simply blast everyone and make good his escape from each level, Bond enters missions with a number of specific objectives, relevant to the scenario and current difficulty setting, which he must fulfill before moving on.  

It required players not only to survive until the end of the level, but also to complete other tasks along the way. As if that weren't enough, objectives changed based on the difficulty level. Paired with the looming task of beating a level within a designated time, this added a new depth and complexity to FPS gameplay.

Full use is made of the analog controller as 007 employs stealth rather than an unnatural resistance to bullets in order to make progress – he can walk and run at variable speeds, duck, climb and look in any direction, interacting with the scenery wherever possible (hiding, blowing up the furniture, attaching mines, peppering walls with bullet holes and so on).

The game  provide a fully 3D free-roaming environment, allowing for the cinematic experience to be recreated as closely as possible – with the player dropped into the leading role.

Motion captured animations

Most of the game's firearms are modeled on real-life counterparts, while others are based on fictitious devices featured in the Bond films, such as the Golden Gun and Moonraker laser. The weapons vary in characteristics such as rate of fire and type of ammunition used, and inflict different levels of damage depending on which body part they hit. 

GoldenEye’s realism and loyalty to the film are the main factors setting it apart from other first-person shooters on the market. 

The enemy soldiers have over thirty different animation routines for being shot or blown up, depending on how and where they get hit. The development team put great effort into the AI routines, ensuring that Bond’s polygonised opponents copy human beings in every way but emotions. 

Stealth is significant, and frequent gunfire can alert distant guards, and alarms can trigger infinitely-respawning enemies. Certain weapons incorporate suppressor or telescopic sight attachments to aid the player in killing enemies discreetly.

There are no health-recovery items, although armour vests can be acquired to provide a secondary health bar.


4) Game's legacy (This is not a GD document!)

  • The use of split-screen in multi-player death matches was so effective and well done that it has been endlessly refashioned for countless titles, so much so that it's now hard to imagine an FPS without it. GoldenEye's popularized respawn points, whereby, after being killed, a player respawned at one of many different locations. 

Source: Vandal

  • But really, GoldenEye's most significant multiplayer contribution is its robust number of options. 

  • A lot of what makes GoldenEye so influential is not what it did first so much as what it did better than any other FPS before it. Even so, first-person shooters would arguably not exist as we know them without it. So next time you shoot a terrorist in the face and watch gleefully as his twitching body dies, remember the game that made it all possible 

  • While purists held that a proper first-person shooter couldn't exist without a mouse and keyboard, the N64's analog stick was just begging to test this theory. This new controller, paired with a user-friendly auto-aim, allowed GoldenEye's developers to conquer the daunting task of adapting FPS controls to the home console, helping to ease countless gamers into the formerly niche genre. Although modern, dual-analog controllers make the original set-up seem somewhat shabby by today's standards, there's no denying how innovative it was for the time.  

  • GoldenEye set the standard for computer AI. Arguably, in no other type of game is intelligent, believable AI more important. No, it doesn't hold up against modern shooters like Halo, but for its time, GoldenEye was the golden standard. Enemies would actually react and shoot when Bond made a sound, as well as go to great lengths to duck and dodge incoming fire. 

  • The development team took great measure to ensure that Bond's baddies seemed like real people rather than simple blockheads whose sole mission in life was to shoot where the player happened to be standing. They batted at flies when not much else was going on, grabbed their crotches when shot in the marbles, and, quite famously, made time for bathroom breaks. 

  • Friendly A.I. would even assist you in battle, running, shooting and occasionally declaring, "I am invincible!" all without the player instructing them to do so. 

  • GoldenEye pioneered many conventions that are now staples of the genre :  It popularized stealth gameplay in an FPS (AKA sneaking up on enemies) as well as zoom-able sniper rifles, which allowed players to headshot nameless terrorists from a distance before being spotted. That's right, headshots -- GoldenEye invented them and popularized context-sensitive wounds. Shoot a guy in the leg, he stumbles. Shoot him in the head, he died.


Well, that's for today's post. I will create a follow-up regarding optimizations and HW adaptation.



Sources:
Videos: