Search my Blog

Monday, 29 October 2018

Zero Latency Virtual Reality

Zero Latency Virtual Reality is a place in nottingham that allows up to 8 people to play together in a virtual reality world. There are currently 4 games you can play: Singularity, Survival, Origins and Engineerium. For 45 minutes of playing it will cost you £35, for 30 minutes it will cost you £30. Also the cost changes depending on the time of day.

Survival

Survival is you generic zombie shooter where you have to defend a place by shooting zombies that are trying to kill you. You can build barriers to defend the place. Throughout the game you can use 5 weapons which are the: Assault Rifle, Sniper Rifle, a Minigun, a Heavy Assault Rifle and a Shotgun.

Engineerium

Engineerium is a puzzle game where you have to connect platforms together using teamwork.

Singularity

This is more or less the same as survival except its taking place in space station with no gravity and with robots that are attacking you instead of zombies. This is the closest of the games that looks like cyberpunk.

Origins

Unfortunately origins is not released yet so we won't be able to play on it until later but it looks like a zombie shooter with some cyberpunk mixed in because the environment is all broken and worn down.

What's the difference between this and home?

The difference between this and playing at home is that zero latency VR has a dedicated warehouse-sized room that you can walk around freely from wires which means no teleporting so that it is more realistic. This kind of reminds me when in the 80's you had to go to the local arcade in your town and I feel this is at that stage where VR is not in everyone's house just yet, but it on its way and it will be in there soon.

So which one am I interested in?

I can't really determine which one I like the most because they are all similar. but I do know that I don't like many puzzle games so I feel the only one I might not play would be the engineerium but it is in virtual reality so maybe I will like it.

Effective Searching with Angela Shemwell

Angela Shemwell came in today to talk to us about searching effectively. She shown us the resource finder on the virtual learning environment (VLE) and Clickview.

Resource Finder is more useful than Google because it allows you to easily find specific types such as articles, journals, books, etc... You can also give it dates and it shows you how to properly cite it in your work.

Thursday, 18 October 2018

Referencing

Today, Angela Shemwell came in to class and talked to us about how we reference works of others and plagiarism. I already knew some of it such as what a bibliography was and the formatting the references and citation. Her talk for me was mostly a refresher but there were some parts that I didn't know such as how to reference journals. I will be putting this in to practice by using them when necessary on my blog and in my assignments.

She also talked about common mistakes when referencing such as bibliographies not being in alphabetical order and how to reference when you can't find dates or the authors.

Wednesday, 17 October 2018

History of Games


Development of the computer game industry

Computer games have been around since 1940s, starting from simple dots to squares moving across a CRT screen. (Anon., 2018) Over time we have improved the graphics from displaying simple 16x16 textures to 2048x2048 (2k) Ambient Occlusion maps, bump maps, normal maps and textures maps. The first game to have normal maps is Halo 1 due to the xbox’s hardware capabilities. Battlezone from 1980 was the first game to use 3D in wireframe (Plus, 2010).

Lifestyle of a gamer

Gamers are usually known for always sat down, playing games all day and all night. Many people see gamers as someone who doesn’t move, eat all the time, be overweight and don’t go outside.

While I don’t think this is true, many non-gamers do because that is what it appears like on the surface. If we dig down, a gamer is someone who spends their time challenging themselves day and night and compete with others to become one of the best players at the game. An example of this are those who play in competitions and today it could also be considered a full-time job because you can do things such as livestreaming and creating entertainment. (King, 2013)


Gaming pioneers

Allan Alcorn invented one of the best-selling game called pong. Pong is a 2D-based game that is based off tennis. It allows 2 players to compete against each other, getting a ball to the other side, if it hits your side then the opponent gets a point and if the ball hits their side you get a point. The first player to hit 10 wins. Many variations exist today featuring artificial intelligence and more range of colours.

Allan Alcorn first completed a bachelors degree in computer science in 1971 and spent 11 years working in research and development (R&D) in Atari. According to his LinkedIn page he has also worked for Apple to help make programs for the Macintosh.



Tomohiro Nishikado invented space invaders, a single-player action game where you control a Gun from the surface of a planet and aliens are coming down towards it. You must defend your planet by shooting them down and dodging their attacks. The game uses 2 colours, green for the friendlies and white for aliens. Due to its hardware and programming at the time when you got close to killing all the aliens on the screen it will drastically speed up, making the game more difficult because it doesn’t have to draw as much to the screen.

Tomohiro first started with an engineering degree from Tokyo Denki University in 1968 and then got a job at Pacific Industries. Pong wasn't the first game he made he previously made over 10 before it such as Interceptor and Speed Race.

William Higinbotham was one of the people who created Tennis for Two, which was the first video game ever created. The game was created for an open day event at the Brookhaven National Labratory in 1958. The device used to play the game on was as big as a fridge and used analogue rather than digital and ran at 36 Hertz (0.0036GHz).

Higinbotham was born in 1910 and in 1940 became a physicist that worked on the first nuclear bomb at the Brookhaven National Labratory. Unfortunately he died in 1994.

Development technology platforms


In 1995 Nintendo released the virtual boy. This was the first virtual reality headset for games. The Virtual Boy was tailored towards children and adults. It featured a red and black 384x224 (Anon., 2018) display and used a controller for input and cartridges for games.
Comparing it to the pimax in 2018 which uses 8k (both eyes combined) with 32-Bit colour and motion controllers.



We have also started seeing watch games recently like Pokémon go and lifeline, but we have yet to see how this develops.

Gaming Cultures

There are many cultures within the gaming industry this is because people like playing in different ways for example, consoles. Consoles are designed to allow people to have hassle-free gaming, no need to change settings, just plug it in and play while on the other hand, pc gamers like to mess around and explore. They want the best settings, the best quality and the highest frame rates. PC gamers are also the most flexible with in terms of what they can use for example, single/multiple monitors, hardware, mouse, Keyboard and controllers. The choice of operating systems. The stores etc…

There are also people ranging from 16 to people in their 40s playing games on their mobile phones on games such as candy crush when there out and about like on the train.

Some people also like using games and consoles in the past because of the retro theme. Many people think differently on what is classed as retro, I believe that anything older than 2000 is classed as retro but others think that it is games you played before you’re 13.


Gaming Identities and Social impacts of gaming

Currently people play games at many ages, the younger are more influenced by the older (Around 18 – 50s) as show on YouTube. Games such as Minecraft started off as a game hidden below, no one knew about it until one day people discovered that you could make some interesting creations in the game, showed it to the world and then it took off. Ever since Minecraft has become popular it has become its own thing. One thing that makes Minecraft standout is that it is available on every platform and it allows for crossplay between them all.

Evolution In Consoles

In the 1972 the Magnavox Odyssey allowed families to game at a price of $580, It offered singleplayer games using overlays that had to be attached to the screen and projected white squares on to the tv.

The colecovision came out in 1982 it offered a resolution of 256x192 with 16 colours, 1 kilobyte of RAM and an 8-Bit CPU. The controller improved from the odyssey by having more buttons labeled 0 to 9 in a grid pattern and connected to the console by a cable.

In 1985 Nintendo released the Nintendo Entertainment System or NES for short. The NES offered 24 colours 2KB of RAM and an 8-bit CPU that was faster than the odyssey, The resolution of Nintendo's console was 256x240 and allowed up to 2 players to play together on the same console.

The Sega Mega Drive, which came out in 1988 Improved upon the NES by having over double the amount of colours (64) and had 64KB of RAM. It also had a 16-bit CPU at 7.5MHz and featured stereo sound. The resolution of the Sega Mega Drive was 320x224.

Nintendo, in 1996, released the Nintendo 64 (N64) that doubled the resolution of NES (640x480) and was equipped with 4MB of RAM along side a 64-bit CPU @ 94 MHz. The console could also use up to 16 million colours (32-bit) and featured 16-bit stereo sound, and allowed 4 players to play at the same time.

In 2001, Microsoft began released the Xbox. it allowed up to 4 players to play locally and had internet access via ethernet to play online. The system had 64MB of RAM, a 733MHz CPU and offered internal storage of 8GB to save game progress instead of using a memory card like the previous consoles The price at the release was £300 and used Discs instead of cartridges.

Microsoft followed up with the release of Xbox 360 in 2004 which had 512MB of RAM, a tri-core PowerPC CPU at 3.6 GHz. It also Improved the controllers by making them wireless and was capable of running games at 1280x720 (720p) and had 250GB of internal storage that the user could save games to. The Xbox 360 also had 3 USB 2.0 ports and in later models, had wireless capability and kinect support. Extra info: during the transition from Xbox to the Xbox 360, Microsoft changed hardware vendors from Nvidia to Advanced Micro Devices (AMD).

The Xbox One, which came out in 2013, brought huge improvements. The console had a massive 8GB of RAM and an octa-core CPU at 1.75 GHz. In fact this is the same specs that you would find in today's mid to high range laptops. The storage also got an upgrade to 500GB and later upgraded to 1TB (1000GB) along with upgrading the USB ports to 3.0 to improve transfer speed. One major feature that the previous console didn't have is built-in Wi-Fi.

In today's generation we have the Xbox One X and PlayStation 4 Pro. The Xbox One X has a faster processor and graphics processor and 12GB of RAM. Both consoles can run at 4K at 30 frames-per-second, 60 on selected major titles like Halo, and Gears of War. Both consoles are also capable of running virtual reality.

Bibliography

Anon., 2018. [Online]
Available at: https://www.top10hq.com/top-10-oldest-computer-games
[Accessed 02 October 2018].

Anon., 2018. Virtual Boy | Nintendo | FANDOM powered by Wikia. [Online]
Available at: http://nintendo.wikia.com/wiki/Virtual_Boy
[Accessed 02 October 2018].

Plus, P., 2010. The evolution of 3D games. [Online]
Available at: https://www.techradar.com/uk/news/gaming/the-evolution-of-3d-games-700995
[Accessed 02 October 2018].

RUTHERFORD, S., 2016. Nintendo Getting Back Into VR, 20 Years After Virtual Boy. [Online]
Available at: https://www.tomsguide.com/us/nintendo-vr-return,news-22199.html
[Accessed 7 October 2018].


How I created the rain in unreal engine Part 1: Baking Normal Maps

Yesterday I showed off dynamic animated rain on materials on objects. Today I will be showing how I created them.

First off we need normal maps. To do this I used blender and created rain splashes and drips using the built-in dynamic painting system to create ripples on a plane using a particle system as the brush.

To set this up you create a plane, go to the physics tab at the very right and add the dynamic paint modifier. Create a canvas and change the surface type setting in the dynamic paint advanced section. Then you adjust the speed to 0.5 (50%) and the play around with the samping, spring and smoothness setting to the right of it. This will change the appearance of the ripples that will be created.
Note: the plane also has to be subdivided lots because it determines the quality of the ripples.

To create the rain you add another plane, raise it above the other one as show in the picture, then to to the particles tab and add the rain. Under the emission section the number is how much rain it will create, so the higher this number is, the heavier the rain will become. Un-check the even distribution and make sure it is set to random and not jittered as rain in real life is random. Just a bit lower under the physics section, instead of it being newtonian you want it to be a fluid and check die on hit.
Once that is done, all you need to do is to go to the physics tab and click on the dynamic paint modifier, this time create a brush and set the paint source to be the particle system you just created. Now you have a working rain splash animation.



I created a material for the splashes in cycles by using the geometry node and splitting it off in to the different colours and adding 1 to them, multiplying them by 0.5 and then, combining them , plugging it in to an emission for removing shadows and lastly connecting it to the surface output.

Lastly we are ready to bake the normals. To do this we first move the camera to the top of the plane with the splashes. To hide the plane that spawning the particles we go to the object tab and go all the way down to the bottom and in the cycles section uncheck everything, then in the hierarchy view where you see all your objects press the eye icon on the plane and this will hide it from our view while still being able to see the splashes created by it. once you have aligned the camera with the plane you then set the resolution of the camera to something like 2048x2048 and reduce it to 25% because the higher the resolution is, when we go to stitch the animation later, the tool we will use will stitch the textures together forming one large image, in my case for 512x512 bake of the normals will produce a 4k image to be used in the engine so if we were to use 2048 the final texture could easily be over 24k, which would most likely kill your computer unless you have a beefy system with 16GB or over with enough vram on you gpu! We use a single texture strip because this is what the engine takes to create animations and it could be compressed if you were to remove all the space you are not using such as the space between the puddles.

After you have exported the animation as a png sequence, you can use tools such as Leshy to stitch them together and remove the space that's not needed.

Here is a gif of the final animation:

Here is a video I have made showing these steps


Tuesday, 16 October 2018

Rain in Unreal Engine

I have spend all weekend reworking my rain system for one of my project and I will be using this in my new game to give it a more cyberpunk feel. It is more advanced than your typical rain systems because it automatically detects what faces are upwards facing and creates splashes on the surface, drips from the sides and it also leaves the bottom look dry for if your using it for like a shelter for the player but they can also see the top and sides of it as well.
As this rain is also a part of my fully dynamic weather system, it allows for multiple weather such as rain and snow. It also has a day / night cycle. This system that I have made is very powerful.

Thinking about this more, If I make this year's game with this and virtual reality, it would be pretty awesome because it adds to the cyberpunk theme.

Reflecting on its current state my next approach to improve this would be to dynamically create clouds based on a mask created with noise that is added to the skysphere that get darker depending if it is raining. Another good idea for this is to add more complex weather conditions such as thunderstorms, wind, etc...

Saturday, 6 October 2018

Creating my own Game Engine in C#

While I was off college over summer I worked on putting my skills to the test. Creating a game engine from scratch is hard, this is because they are so complex.

What is a game engine?

In the 1980s creating a game was hard. This was because there were no game engines which means for every game you made you had to code it from rendering graphics to the screen, the player's actions. This is why it took so long and hard to create games back then. A game engine is simply a way to reuse code to make it easier to make games.

What does a game engine include?

  • A way to render graphics to the screen
  • Handle user input
  • Manage sounds
  • Show Effects
  • Collision detection
  • User Interface
  • Could include templates for objects like players
  • A way to handle objects
  • Could have physics
  • Could have artificial intelligence

How does a game engine work?

Game engines work by allowing the developer have access to tools which lets them develop games faster. Each of the topics I mentioned above are all functions or classes.

When a game starts it creates a thread (a second program) which runs the game loop. The game loop is responsible for rendering frames to your monitor over and over again and processing any necessary logic such as player movement and health systems.

The game loops

As this is a never-ending loop (apart from when you close the game) it is very important that you have built-in error handling that will close the loop if there is a problem as what you don't want is it to completely break and crash altogether.

Handling Logic

The way my game engine handles logic is that it loops through a list of all the defined objects in the game and runs any code that is in the "Tick" function every time the "gameloop" function runs.
Another think you can see in the code is that I start a timer when the gameloop start and stop it when it stops. I do this to measure how long it takes to complete the loop and process it in to frames per second (fps). The algorithm I use to convert the milliseconds to frames per seconds is 1000/milliseconds so for example if a frame took 1 second to process it would be 1 fps. (1s = 1000ms)


Objects and how they work

In my game engine objects use components like unreal engine. So a object with no components would be invisible and can act purely to serve functions.

I also have a box component which allows you to create squares, a sound component which is responsible for creating sounds and music, a sprite component for using images and lastly, a text component that handles creating text on the screen. Objects are also used for the heads-up-display (HUD).

Rendering graphics

The way you render graphics to the screen is that you create a virtual "canvas" the same size a your monitor and you render all the objects to that canvas and then render the canvas to the monitor. This is how "Vsync" works and it minimises screen tearing and flashing that can occur.

An Example game

This is an example game I have made with the newly created engine. It is currently bare but it has the potential to render more complex scenes.

Friday, 5 October 2018

Dark Metal Material

I have made a dark metal material in substance designer. This will be used in my game for this year for the floor or wall, scratches can be dynamically added to show wear.

Concept Art: Heads

I have recently been working on some concept art for my player in my new cyberpunk game. I have experimented with using different styles of hair and the colours used on them. I my opinion I like the bright green because it looks like its glowing and it could fit in with the theme of the game.

Thursday, 4 October 2018

The Future of Graphics

Recently, Nvidia announced and shipped their new graphics cards called RTX 20XX. These new cards offer an important new piece of technology for gaming and graphics by using "Real Time Ray-Tracing" and artificial intelligence to improve scenes.

What is Ray Tracing?

Ray Tracing is an alternative method to rendering graphics to your monitor. The current method of generating graphics to the screen is called rasterization. This works by taking an object and directly converting it in to pixels on your monitor. While this is fine for games because it is fast, using this technique can make for unrealistic-looking scenes. We can see this in blender if we use blender render engine.

Ray tracing is the simulation of photons of light traveling from a light source to the player but reversed (in blender this is called the "cycles" engine). As This simulates hundreds of photons the slower this is. In the new Nvidia graphics cards there are newly designed cores that specifically tackle ray tracing. Unfortunately to make it real-time they had to reduce the amount of photons that are simulated and they don't lose quality by doing this because the cards has AI which aids ray tracing by estimating what it would look like if it were high quality.
Another feature of these cards is the ability to render at very high resolutions 4k+ without any impact of frame rates using the AI to estimate what it would look like.

This is some interesting technologies that I would like to further be developed. Using ray tracing with virtual reality and being able to render at 4k+ with no or little impact on FPS really could change the gaming industry.
FISHER, J. (2018). GeForce RTX Propels PC Gaming’s Golden Age with Real-Time Ray Tracing NVIDIA Blog. [online] The Official NVIDIA Blog. Available at: https://blogs.nvidia.com/blog/2018/08/20/geforce-rtx-real-time-ray-tracing/ [Accessed 4 Oct. 2018]

Interview of Ebony Pascall

Ebony Pascall used to be a producer at the British Broadcasting Corporation (BBC) and came in to our lesson today to speak to us about the industry. She currently works as a Teacher at Chesterfield in the film and TV area.

She first got in to the industry by first going and asking about careers at college and they said about the melodic caring project as being a "foot in the door". I think this is a good idea to do and i want to do something like this either some point next year or near to the end of the course as I think this will definitely be beneficial for me.

Another thing about Ebony's talk is that she mentioned about shadowing. Shadowing is a way for you to see what people do in a business or industry and how they do it. One day it would be nice for me to try this within the gaming industry as this will allow me to see how they manage their time and what they work on.

Overall I think that Ebony's talk was very informative and had lots of advice with starting a career.

Tuesday, 2 October 2018

Battlefield 1 Trailer Storyboard

I have recreated the battlefield 1 trailer in storyboards by using storyboarder. Here is a comparison of the key frames. In the first few sketches I used a smaller brush and later using a larger one.

In this first scene a man is hitting an enemy with a spiky bat (direction hinted with arrow) and explosions in the background.
In this next scene it is a extreme long shot with a woman on a horse moving across the desert. This was hard for me to draw because it is very focused towards shadows. Thinking back on this particular frame, you cant really see the horse as good because it focuses on showing the vast landscape.
The next one is a close up of the woman riding the horse with a sword. The camera angle like this suggests that she is powerful against the enemies.

This frame is a aerial shot looking down upon the war below. This is another example of how there showing how big the maps are and the type of vehicles you can use. I this one there is a person in a plane shooting at the enemies below. In this picture I have also experimented on using a different colour to increase the detail.
This is showing a soldier hitting an enemy with a shovel while a plane flies past. This is a 2 shot from a low angle and this suggests that they both have equal change. With this i have tried using a different style of shading sing just the silhouette.
This next one is an over the shoulder shot of a soldier in a plane firing a machine gun at an enemy plane in the distance. This takes you through the eyes of a soldier shooting down a plane in the game and it just shows how much detail they have added to the game.
The next one is showing a building on breaking from a plane. After looking back at this one I do think it would of been better with using the technique from the plane one with using a different colour to bring more detail in to the smoke and the pieces that are falling off.
This one shows an engineer (assuming he is in a tank) is starting the engine of a tank by pushing a metal rod like on the old cars in the time. The shot used in this is a close up.
The next frame shows a army of people on horses going in to battle with a plane flying over head. Again this would of been better if I added that extra detail to more show that they are horses and people on them. 
This one shows a soldier in Armour firing a machine gun. I have added extra detail with using a different colour. From looking at it now I noticed that I put the right hand too far up.

In conclusion I think that i have made a good first attempt at storyboarding and will use what I have learnt from this in my future animations and storyboards.

Monday, 1 October 2018

What is storyboarding?

Storyboarding is a way to see how an animation or scene is going to look before you actually create it. Free software exists for storyboarding such as storyboarder by wonder unit.

There are many different ways you can look at a scene:
  • Medium shot – facial expressions / body language / environment
  • Wide shot – Frames the subject while capturing the environments
  • Established shot – Establishes location and action
  • 2 shot- has 2 people in the shot
  • Extreme long shot – Shows where it is based
  • Close up – captures facial expressions
  • High angle shot – makes them look small and weak
  • Extreme close up – used in films, focuses on a small part, shows details
  • Low angle – Makes the subject superior and makes them larger
  • Over the shoulder – Makes it look like we are the person in the conversation
  • Aerial shot – shot from the air used to establish a location