Procedural Generation of a Scene Tutorial

Main talks in the tutorial will be about creating a post apocalyptic fallout scene. Before we start, a quick heads up. Don’t try to keep your view in Rendered mode when creating this. Your PC/laptop will hate you and be very slow. Just keep it in its Default view.

Step by step process:

  1. Set up the scene
    • Delete the light (and camera if you want) and go to the geometry nodes panel.
  2. Set up the node process for the plane/ground part
    • Click on the cube to then set up the geometry nodes (create new on top).
    • Delete group input. We will keep Group Output.
    • Nodes needed: Grid, position node, Set Position, Combine XYZ, Noise Texture, RGB Curves (for randomness of landscape), and a Vector Math node.
    • Attach the Grid Mesh to the Set Position’s Geometry. Geometry to the output.
    • We now need to add a Join Geometry node in between the Set position node and the Group Output node.
    • For the Grid node, we can increase the size to however big we would want. 5×5 is pretty good. Can also change the vertex count to 500×500.
    • Put Position from Position node into the top Vector for the Math Node (Add).
    • Combine the lower vector of math (add) to the combine xyz.
    • Combine the math node’s Vector to the Set Position’s Position node.
    • Put the Noise texture node’s Fac in the Color section of the RGB curves node and the RGB node’s color goes into the Z Value of the Combine XYZ.
    • Now for the values for the Noise texture node: First, set the Value to 4D from the 3D, Scale at 0.1 , Detail at 16, Roughness at .5 and Distortion at 2.
    • Mess with the RGB curves and the Factor (fac) to create some height. If needed, change details or roughness in the Noise texture.
    • If you want, add a Set Smooth Node in between the Joint Geometry and the Group Output. Just to smooth out the landscape.
  3. If you want to organize your node groups, put them in frames and label them accordingly.
  4. Once the ground is set up, we can then add a basic texture to it so we can see any changes that we made better. Later on you can then change this texture with the procedural dirt that we’ll make. To do this:
    • Create a simple brown material in the Shader tab (or in the material tab, that would be faster).
    • Now create a material node for the ground and set it right next to the Set Position Node (inside the frame if you have that).
    • Insert the material you made. Boom.
  5. Adjust the ground size as to how we would want it. For now we can have it at a nice 10×10. You can change it to however you want it though, no judgment.
How the Nodes should look like so far.

Now for the Assets

  1. Now it is time to work on the assets themselves that Andrew made from a different tutorial. Go check it out first if you didn’t, you sillies. Then again you’re at this step right now, so you didn’t check it out first if you don’t have the assets. Stop everything and check it out now:
    • From there we can add in these nodes: Distribute Points on Faces, Instance on Points, Scale Instances, Switch, and Random Value X2 (one for rotation and one for scale. Make sure rotation one is in Vector and the scale one is in Float).
    • Drag in the collection that you want to work with. In this case, Crystals. Now for the crystal collections, it doesn’t matter how you have them grouped (color coded or size), just put them in a collection and drag it in with the nodes.
    • In the Collection Info node for the crystals, click on Separate Children. If you also click on Reset Children, it only gives you one asset from the collection (or it does to me, so just leave it alone unless you want to mess with it).
    • In Instance on Points, activate Pick Instance.
    • Connect the Set Position’s Geometry (from ground) to the Distribute’s Mesh plug. Then connect Points to Points and Instance to Instance. Finally, connect the last Instance to the Switch (in case you don’t want to see these Crystals anymore). Then connect the Switch’s Output to the Join Geometry node.
    • Connect the Switch’s Output to the Join Geometry Node.
    • Double check that you have the Collection Info’s geometry connected to the Instance on Points’ Instance. If not, you won’t see any change to your scene.
    • For the Random Value rotation, connect the Value to the Rotation in the Instances on Points node. Change Max’s values to this: 0.3, 0.3, 15.
    • Now if you have your collections organized by color, the Random Value for the scale won’t really matter, because if you make the little crystals even smaller you would barely see them. If they are in terms of size, then we can use the Random Value (scale).
      • Connect the Random Value’s Value to the Scale in Scale Instances and change the Min and Max sizes.
  2. Make a new frame for this stuff. Name it too.
  3. We do the same steps from before for the rest of the assets. Might as well just copy and paste the frames, but change the collection/asset node inside. Don’t do too much work.
  4. For any “man-made” assets (like cars or other junk), we might not need to use the min/max setting in the scaling node at all. Depends on what assets we want to use overall. I’ll provide a link to the car that I used for this tutorial. You can decide if you want more junk. Car: https://www.cgtrader.com/free-3d-models/vehicle/other/free-hd-photoscanned-rusting-car
  5. Change the seed for any of these assets if you want too.
Example of an Asset Frame.

Time for the Procedural Material (dirt)

  1. Before doing anything, make sure you have the Node Wrangler add-on enabled. Go to edit > preferences > add-ons. Type “node wrangler” and click on the box to checkmark it/enable it.
  2. Go into the shader tab and create a new material
  3. The Principle BSDF is going to be our base for the material. Don’t change anything on it 🙂
  4. Add a noise texture. This will be the color base.
  5. Add a texture coordinate and plug the object to the vector of noise texture.
  6. For the noise texture, you can change the scale to 6, detail to 15, and roughness to a .65.
  7. Plug the factor of the noise texture to the base color of the Principle BSDF
  8. Add a ColorRamp node to change the color of the dirt and put it in-between the noise texture and BSDF nodes. Change the white to a brown dirt color (CCB180).
  9. Add a new tab in the ColorRamp node to have another brown in there between the black and first brown. That one can be a different shade of brown (955E2F) Move the sliders around to your preference.
  10. Add a Voronoi texture and plug in the object from the texture coordinate to the Vector of the Voronoi texture and change the scale to 15 for more dots (these will be like little pebbles). You can change the scale later if you so choose.
  11. Change F1 to Smooth F1 for better looking dots if you want.
  12. Add another ColorRamp node and connect it to the Voronoi texture’s Distance. Bring the black slider in just a tad and the white slider in more.
  13. Add in a Mix Color node (go to the Color tab after Shift + A, do not search for it via typing) to combine the little dots to the main colors of the dirt. Plug in the colored ColorRamp to Color 2 and the Voronoi one to the factor of Mix Color node.
  14. The color for color 1 is the dots for Voronoi. You can change it to another dirt like color (855126).
  15. To make these dots bump out, use a Bump node and plug in the Color to the Height part of the Bump node, and the Normal to the Normal of the BSDF. You can make the dots pop in or out. If in, leave the bump node alone. If you want it out, click on the invert button. You can change anything within your preferences.
  16. If you want more detail, do these extra steps. If not, then you can stop here for the dirt and go on to END OF DIRT.
  17. Create another bump node and have it connect to the Brown ColorRamp’s color plug (Color to Height. Have this bump’s Normal to the original bump’s normal. Now you have the noise texture that has its own bumps. Even more detail! You can adjust anything in this bump to your own preference.
  18. Last thing that we want to add is some CRACKS, because it would just add to the desolate wasteland feel that we want.
  19. Add another Voronoi Texture node and connect it to the Texture map’s Object plug. Then add in another noise texture and shove it in between these guys.
  20. Change the Voronoi’s F1 to Distance to Edge and have the Noise settings as this: Scale to around 3.5, Detail to 16, Roughness to around 0.5. Ctrl + Shift + Click on the Voronoi to preview it. We have some cracks now, but a lot of them.
  21. To control this, we need another ColorRamp (crazy, I know). Add that bad boy in and plug it to the Voronoi’s Distance. Switch the black and white values, then adjust them to your preferences.
  22. Add another bump node (just duplicate the most recent one) and drop it in (turn of the invert). Connect the Color to the height of the new one and turn up the strength in the Bump node.
  23. Duplicate the previous Noise and Voronoi nodes. For the noise texture, connect it with the Texture Coordinate. Turn the scale down to a 2. Same for the Voronoi one. If you want thick cracks, skip the next mini step. If you want thinner cracks do the next mini step.
  24. Add another ColorRamp node and connect the Distance to the Fac. Move the white slider all the way to the left. Almost touching the black.
  25. Finally, we can connect them all together. Add one more bump node and have it to the right of the bumps. Plug the ColorRamp (cracks one) to the height and turn up the strength to a .5 or higher.
  26. If you want the cracks to be even more noticeable, add another Mix Color node in and have the ColorRamp connect to the Fac of it, and the original mix in Color 2. Make Color 1 an even darker brown (or black) to make it noticeable. Plug the Mix Color Results to the Roughness of the BSDF. If you want it wet looking, leave it. If not, add a ColorRamp and mess with the black on it to your preference.
Final Dirt Material.

End of Dirt. Last Things to Do

  1. Wow, we just went through the alphabet for dirt. Wild (unless you skipped the rest of the steps). Now if you want, drop a random human (or whatever sentient being you want) in. Now their world is destroyed and in despair. Nice (or not).
  2. Get some ice cream for celebrations.Or not if you’re lactose intolerant. Or hate ice cream. If you do, how dare you.
    • If you want water though, more steps below (But why would you? You got dry dirt for land. Kind of inconsistent. Sike, just lower the roughness on the dirt and then it will look kinda wet. If you used the ColorRamp from above, have the first slider be Black.

  1. In case you want some water, make another Grid node, then have it connect to the Join Geometry node. After that, have a Set position node in between them to have the water change position (like height). Add an xyz node for water level (and input it into the Offset section of the Set Position) add a value to plug into the Z input (again, for height/water level). If you want to take the water away at any time, just put a switch node at the front (near joint geometry), and have it on the false part. The switch, when checked will then take it away from view.
    • To make sure that your water is the same size as your ground when you make things big/small, have some value nodes connected to the x’s and y’s of each. That way, if you change the value node’s number, it changes for both of them. Keeps things simple.
  2. Now for the water material. It’s pretty simple:
    • Go into the shader tab and create a noise texture node and a bump node. Bump node is connected to the normal of the Principle BSDF and the noise texture is connected to the bumps Height part (Color to Height).
    • You can adjust them to your heart’s desire.
  3. Now depending on if you like crystals/rock structures/cars (no judgment), being underwater, you’re done from here. If you don’t want them underwater, more steps for you!
    • You’ll need: Position node, Separate XYZ node, Math node (less than), another Math node (subtract with clamp), and a Map Range node (with clamp).
    • Connect Position to Vector, Z to Threshold, Value to upper Value, and Value to Value. Change the From Max Value to 2 and the To Max value to 1.
    • Connect the Result to the Scale of the Instance on Points node.
    • Finally, connect the Value from the Less Than math node to the Water level Value node.
    • If by any chance you want objects to be only underwater, change the Less Than in the math node to Greater Than. It will do the opposite of the others and keep them below water.

Cool. Now you are done. Congrats!

Example From Video Tutorial.

Devlog 07-03 – Senior Software II [FINAL REFLECTION]

Overview

The state of the build for “Breach Protocol” now has a finished Episode I. The joint animation is also finished and can be see as another part of the world or it can stand on its own.

Breach Protocol Logo

Reflection on the Project

My Role

Going over the project as a whole, there was a lot going on throughout the semester. During the project, I was one of the front end designers. I focused on game models, concept art, and animation. I greatly enjoyed working on these parts since I got more experience in them and learned the do’s and the don’ts of each part.

What Went Well?

Our constant communication was what kept us on schedule. The fact that our team was well divided in terms of front end and back end skills was a good thing to even start with. We didn’t need to worry about dealing with issues related to this. Even if one of us in the front end didn’t know how to do one task, we were all comfortable with each other to ask for help when needed or one would give another advise via a video or link.

What Goals Did You Meet?

The main goal was to make a playable and fun game, and I think we managed to accomplish that, even if it was just one episode. We did a ton of testing both in team and user testing. With the results we were able to see what was needed to be done and get to work on it. Every sprint we had everything or almost everything done and even though we were given more work to do, we still managed to stay on track.

Other goals was to improve gameplay, AI, and textures to make the game easier for the player (playability, and easy on the eyes in terms of design). I would call that them all successful.

What Problems Where Encountered?

The constant addition of new things that were suggested to the team. Then the animation that was added on near the middle of the semester. We also had to deal with having to speed up a sprint to have things done for CSGC (Computer Simulation and Gaming Conference), a whole month ahead of schedule. Other bumps in the road were preparing a presentation for an award nomination and having to deal with other classes at the same time. Luckily we were able to overcome these problems.

Goals We Did Not Meet

One of the goals/ideas that we were thinking about but did not have the time to implement them was the grenade launcher. While it would have been great to have in terms of making it easier for players to launch grenades, it would not have been done before the semester ended. In order to get this done, we would have needed to create concept art for the grenade launcher then use that concept art to model the launcher. From there we would have to then test the launcher’s range, as well as other things like reload, grenade counter, etc., which doesn’t even take into account user based testing with different hardware.

We also didn’t get to implementing team AI. Sadly, I can’t make any mention as to why we weren’t able to do that, given that I am not one of the programmers, but all I do know is that it was in the same range as networking in terms of difficulty.

The Future of Breach Protocol

In my opinion “Breach Protocol” has many options to go in terms of the future. The team (or anyone that wants to stick around) can continue working on it, but it will go much slower since 2 of the 6 already have jobs waiting for them, 1 of the 4 with no job yet is looking to go into grad school, and the other 3 would most likely focus on job search.

We can try to commercialize it by putting it into the market on Steam. It was recommended by one of the developers of the omni deck, actually. Or we could reach out and see if we can create a video displaying the game with the omni deck to get some traction or interest.

Last one is that it just becomes a hobby project for the project manager. It just depends on everyone else and what they have in store for their own future.

Overview Of The Course

I thought the project side of the course was fun. The lecture side however, wasn’t really my favorite, with the amount of times that I would catch myself zoning out or almost falling asleep, I could never really get into it. Especially when most of the topics discussed in lecture were geared toward software development, something that is not in my wheelhouse. If there were lectures that were focused on the CSG design people, then it would have been more interesting and would have caught my attention better. A person with a poor attention span can only do so much when the topic is no interesting to them.

Now for the project overview. I enjoyed it a lot. There were times when imposter syndrome came in, but everyone experiences it at one point or another or all the time and it’s normal. Very little in arguments when it came to the team, and only one person gave some issues, which for group size ratio is pretty good compared to others.

I learned a lot throughout the semester. I dabbled in Unreal for the animations animatic, and really wouldn’t of minded working in that engine for the animation since film does that, and got more experience working on concept art for items instead of a character sheet model. I learned more modeling tips in Blender from either a group member or YouTube. I also realized that Unity, while great in its own way, is not that great when working with animation. Not a fan of Cinemachine, HDRP, or the materials that have to deal with HDRP. Those caused so many problems for the animation team that googling an answer for a problem was its own challenge.

DevLog 07-02: Senior Software

Overview

“Breach Protocol” is a sci-fi VR co-op game that takes 4 players through an episodic type of gameplay. The current build has the tutorial, the first episode of the story, new hit vfx visuals for the player, and new sound effects to add more of an ambient feel to the player’s surroundings (space station, and training room simulation area). We plan on including more episodes to play. We mainly focused on CSCG (Computer Simulation and Gaming Conference) and the Pelton nomination parts.

Tasks Completed

The tasks were not really singular to just me. We all had to work to make sure that the presentation would go smoothly for the Pelton Award talk, so we had to rehearse and talk about who gets what slide. After distributing slides, we each took notes. My notes consisted of the genre that we chose and any information that can be added to the bullet points that were in the slide. During the actual CSGC conference, I had to bring my laptop to run a build of the game and help run the booth with the others. For the presentation on CSGC, it was similar to the Pelton Award one, so I just focused on my notes and adjusted them to be much more lax. Also worked on part of the pitch video and animation assembly cut as well.

Source

Problems Encountered

In the beginning there was a problem setting up the Oculus headset to my laptop. Tried to set it up on another teammates laptop and still would not work. Later on we all figured out that it was because the Oculus was not turned on to even connect. We all felt quite silly.

Oculus Quest 2 Headset. Source

Late into the animation I discovered that there was a strange model issue on the ship, mostly located on the side “windows/grates” of the ship. It looked like some faces were missing. Luckily that is an easy fix.

Tasks/Goals to Complete

Now that CSGC is over and we already did the Pelton presentation, I would go back to working on the animation to make a more finalized version of it. Ryan and I talked about making better texture for the ship with the tiling, and also reusing some dialog from the game into the animation. Afterwards I would swap the old ship with the new ship in the space scene.

New Things to Implement

Implementing dialog in post. Other than that, nothing else since there is only a week of classes left.

Featured Image Source: Pexels

DevLog 02-05: Game Development & Production II

Overview

Our animation that we have worked on revolves around the world of “Breach Protocol”, a VR Sci-Fi Co-Op game that is heavily inspired by Star Wars and Halo. The animation is supposed to represent a sort of backstory to why things are happening the way they are in the world, with a small view into one soldiers life.

Tasks Completed

I fixed the shader for the atmosphere of each planet, so it doesn’t “pass through” the ship. I added a slow rotation to the planets so that it doesn’t look static in the background, making the scene itself interesting to look at. With the help of another group member, I updated the ship so that it has better materials, while also making some adjustments to the properties within the material so that it can be more visible with the light. I also added an audio clip of engine thrusters to the ship. Lastly, I adjusted the sun’s intensity so that it doesn’t cause any glares, and also rotated the sun so that it had more light to the ship so it wasn’t a dark figure. This also helped show off the planets better instead of having them only show off the emission part of them.

Atmosphere is not passing through and a new material is on ship. Source: Me

Problems Encountered

When I was adding the audio clip of the engine thrusters, I noticed that the clip wasn’t playing any audio. After searching for a solution, I saw that I needed to adjust in the project settings the System Sample Rate from 0 to 1. After this, the clip played normally and was heard in Game mode.

Settings section for audio. Source: Me? Unity?

I decided instead to take the audio out and to have it inserted in post, in case there was any future changes that I wanted later on. Another issue that I had was when I was trying to fix the particle effects of the thrusters. I wanted them to not look flat, but noticed that they look flat because of how they were made, and that if I change it, it won’t look the same. I decided that it would be fine to leave, since you would have to either be eagle-eyed to see it, or have seen the animation enough times to notice it.

Ship thrusters. Source: Me

Tasks/Goals to Complete

I would like to have the audio clip of the engine thrusters fade in when the ship comes on scene, then to fade out when out of scene so that it helps represent the ship “entering” and “leaving” the area. It would give it more depth I would like to think.

New Things to Implement

As mentioned in DevLog 07-01: Senior Software, no new things that I would want to implement as of now. Maybe if the animation needs to be longer, we can work on creating something for that.

Featured Image Source: Pexels

DevLog 07-01: Senior Software

Overview

“Breach Protocol” is a sci-fi VR co-op game that takes 4 players through an episodic type of gameplay. The current build has the tutorial, the first episode of the story, new hit vfx visuals for the player, and new sound effects to add more of an ambient feel to the player’s surroundings (space station, and training room simulation area).

 

Breach Protocol Logo

Task Completed

Most of my focus was on the Animation section, this time. I fixed the shader for the atmosphere of each planet, so it doesn’t “pass through” the ship. I added a slow rotation to the planets so that it doesn’t look static in the background (more interesting to look at). With the help of another group member, I updated the ship so that it has better materials and also added an audio clip of engine thrusters to the ship. Lastly, I adjusted the sun’s intensity so that it doesn’t cause any glares, and also rotated the sun so that it had more light to the ship so it wasn’t a dark figure. This also helped show off the planets better.

Problems Encountered

When I was adding the audio clip of the engine thrusters, I noticed that the clip wasn’t playing any audio. After searching for a solution, I saw that I needed to adjust in the project settings from 0 to 1. After this, the clip played normally and was heard in Game mode. Another issue that I had was when I was trying to fix the particle effects of the thrusters. I wanted them to not look flat, but noticed that they look flat because of how they were made, and that if I change it, it won’t look the same. I decided that it would be fine to leave, since you would have to either be eagle-eyed to see it, or have seen the animation enough times to notice it.

Tasks/Goals to Complete

One thing that needs to be done before rendering the animation and combining the clips is to have the audio clip fade in to fade out so that it helps represent the ship “leaving” the area.

Cool thruster image. Source

New Things to Implement

No new things that I would want to implement as of now. Maybe if the animation needs to be longer, we can work on creating something for that.

Featured Image Source: Pexels

DevLog 03-02: Explorations in Gaming Technology

Overview

For the third project prototype, we have a compare and contrast of the procedural generation capabilities of two different PBR (physically based rendering) software and the abilities of “man-made” scenes. We are using Blender and Unreal to compare each of them on quality but also on how each fairs in procedural or human design. Blender was chosen since it is one of the most popular and free PBR software with tons of tutorials online. Unreal was chosen since it has been previously used to create an island location for a previous project, so in using Unreal for the procedural aspects of it, we get to cut down on work that isn’t needed. Afterwards, there would be a compare and contrast of each of the scenes made.

As of now, we already have the fully designed scene by a person, and also the procedural based scene in Blender. For Unreal, we only have the fully human made scene.

Tasks Completed

I have completed making a ground procedural material that has a mixture of wet mud and dry dirt, along with small little puddles that are spread out. I also made the rock material look more realistic, since the original material was flat and looked off in the scene. Now it looks more realistic than a flat grey color.

In a spur of spontaneity, I decided in having little frogs inhabit the scene to add more life. Somehow, this then led to having a King Frog, ruler of all. He has a little crown and is on the biggest rock in the scene. Very cute.

Frog King

Problems Encountered

One of the main problems that I am encountering is during the rendering part. When rendering, I can only render in Eevee, since Cycles flips the ground to…not pleasing to the eye. Even with that “fix”, I still have another problem rendering the scene: the water turns grey when rendered. In the Shader viewport, the water has the noise and bump nodes that create “movement” instead of keeping the plane that the water material is on flat. Sadly, it’s not visible after rendering. I’m still trying to figure out how to fix this.

Tasks/Goals to Complete

Once the problems are fixed, I will then render an image, and then have an animation or video that has the camera go over the area or shows changes I made in the nodes can affect the scene (for the presentation). This would help capture close up areas of the ground to show the detail that procedural materials can offer (for the animation) or the recording can show work process.

New Things to Implement

I would still want to implement a water animation to show movement. This is most likely not going to happen for the main project, but as a fun thing to do when I have time. What I would really want to implement is having the wooden box change size when the designer changes the scale of the actual environment, that way it can also be “procedurally based”, but also since it would help hid the side view of the water being visible underneath the ground plane. This would be an easy implementation, but first I need to push the changes to github.

Frog scene with wooden box

Featured Image Source: Pexels

DevLog 03-01: Explorations in Gaming Technology

Overview

For the third project prototype, our group decided on seeing a compare and contrast of the procedural generation capabilities of two different PBR (physically based rendering) software and the abilities of “man-made” scenes. The two types of software in question are Blender and Unreal. Blender was chosen since it is one of the most popular and free PBR software with tons of tutorials online. With it being offered in class courses, it would be easy to use and create a scene. Unreal was chosen since it has been previously used to create an island location for a previous project, so in using Unreal for the procedural aspects of it, we get to cut down on work that isn’t needed. Afterwards, there would be a compare and contrast of each of the scenes made.

Tasks Completed

After delegating tasks, I was in charge of creating a procedural environment within Blender. I decided on creating a wooded environment with water intertwined within, creating a simple material for the ground and water to differentiate what is what. With the landscape completed in terms of layout, I then planned what I wanted in the scene. I searched online for free models for plant life and any rocks that I would want to populate the scene to make it seem realistic to actual nature. Last thing I did was updating the water material to have the same reflection of light that actual water does, and to make it more transparent.

Examples of models found for scene

Problems Encountered

There wasn’t much in terms of encountering problems while I was working on the project. The only thing that could be classified as a problem was trying to find a good exr file that would help create a good HDR lighting for the scene when rendered. When seeing it through the updated water material, it shows the environment that the HDR came from. I think the best way to fix this though it to make the film render option be transparent so that there is no HDR environment showing and to make sure that the new ground material is realistic enough to dirt that is found underneath water.

Task/Goals to Complete

I need to finish creating the different ground materials that would be in the scene. One for the ground that is underwater and one that is above water. For now though, I will stick to one material, and if I have time and the ability to do so, I can try and make another material for the above water parts. I also need to populate the scene with trees/plants and rocks to give a nature/woods type of tone. Later on if I have time, add on to the scene to make it better.

New Things to Implement

While not needed, I want to see if I can implement wind movement in the scene to have the plants sway in the wind and to have the water be affected by the wind as well. It would make the scene feel more “alive” and just be really cool overall. This would be a last addition to add if there is time though.

Featured Image Source: Pexels

DevLog 02-04: Game Development & Production II

Overview

“Breach Protocol” is a sci-fi VR co-op game that takes 4 players through an episodic type of gameplay. As of now, the current build has the tutorial, new design for the SNAPS, new weapons modeled out, and new player interactions with specialized tasks. We have now an outline for the story, new objectives, and a game manager that detects if all the players are dead so they can restart the level again. As of recent, we had two playtests made: one that was internal and another that had outside people play and give any feedback that was needed. Animation side had the animatic “tested” on audiences and with the feedback given made changes as needed. Because the animation is combined with the VR project, this DevLog is going to be very similar to the Senior Software one.

Tasks Completed

For the game side, I worked on creating models for the hacking device that the hacker uses to open doors or take control of the ship. Also with this device, I worked on a hacking indicator that can be located near doors that the players need to get through.

For the animation, I finished working on the engine exhaust particle effect for the spaceship. I adjusted the colors for it so that there was a white part in the inside to show off “heat” that the engine thrusters are emitting.

Particle effect for engine thrusters

Another task that was completed during the week was making the atmosphere for the planets. One was red colored and the other one was blue colored. I did some small unit testing on the shader graph to see if any changes made to it would cause a better visual than what I had below for the red planet.

Red planet atmosphere

Problems Encountered

Because of the HDRP set up in the project, every material that is made for models like the textures, is extremely shiny. As of now, I do not know how to fix this since I haven’t had much time to worry about the little things and instead try and finish the bigger things on my to-do list. This will have to be fixed later on, since there wasn’t enough time to get it fixed before the deadline of the Rough Cut version of the animation. Since this has to be fixed later on, I had to make adjustments to the ship’s material metallic and smoothness sections, so that there is no strong light reflection and so the viewer can see that this is the ship and not a huge star coming across the screen. Another issue is that the animation is very short since a portion of the storyboarding was cut out.

Tasks/Goals to Complete

Now that the rough cut animation is done, I need to fix the material of the ship so that it doesn’t looks translucent or too reflective in terms of light. Before attempting to fix the material that I made for the animation I would like to use the material that was made for the game, since that one is actually textured. I also need to fix the particle system so that it would “fit” better in the engine exhaust location. Also, when the rest of the team meets up, we can talk about how we can better work on the animation as a whole.

New Ideas to Implement

I would want to implement sound since the rough cut didn’t have any, mainly having the visuals as the main thing to look at. Maybe also implement better lighting and use the updated ship for the internal ship scenes.

Featured Image Source: Pexels

DevLog 06-03: Senior Software

Overview

“Breach Protocol” is a sci-fi VR co-op game that takes 4 players through an episodic type of gameplay. As of now, the current build has the tutorial, new design for the SNAPS, new weapons modeled out, and new player interactions with specialized tasks. We have now an outline for the story, new objectives, and a game manager that detects if all the players are dead so they can restart the level again. As of recent, we had two playtests made: one that was internal and another that had outside people play and give any feedback that was needed. Animation side had the animatic “tested” on audiences and with the feedback given made changes as needed.

Tasks Completed

For the game side, I worked on creating models for the hacking device that the hacker uses to open doors or take control of the ship. Also with this device, I worked on a hacking indicator that can be located near doors that the players need to get through. For the animation, I finished working on the engine exhaust particle effect for the spaceship. I adjusted the colors for it so that there was a white part in the inside to show off “heat” that the engine thrusters are emitting.

Particle effect for engine thrusters

Another task that was completed during the week was making the atmosphere for the planets. One was red colored and the other one was blue colored.

Red planet atmosphere

Problems Encountered

Because of the HDRP set up in the project, every material that is made for models like the textures, is extremely shiny. As of now, I do not know how to fix this since I haven’t had much time to worry about the little things and instead try and finish the bigger things on my to-do list. This will have to be fixed later on, since there wasn’t enough time to get it fixed before the deadline of the Rough Cut version of the animation. Since this has to be fixed later on, I had to make adjustments to the ship’s material metallic and smoothness sections, so that there is no strong light reflection and so the viewer can see that this is the ship and not a huge star coming across the screen. Another issue is that the animation is very short since a portion of the storyboarding was cut out.

Tasks/Goals to Complete

Now that the rough cut animation is done, I need to fix the material of the ship so that it doesn’t looks translucent or too reflective in terms of light. I also need to fix the particle system so that it would “fit” better in the engine exhaust location. Also, when the rest of the team meets up, we can talk about how we can better work on the animation as a whole.

New Ideas to Implement

I would want to implement sound since the rough cut didn’t have any, mainly having the visuals as the main thing to look at. Maybe also implement better lighting and use the updated ship for the internal ship scenes.

Featured Image Source: Pexels

DevLog 06-02: Senior Software

Overview

“Breach Protocol” is a sci-fi VR co-op game that takes 4 players through an episodic type of gameplay. As of now, the current build has the tutorial, new design for the SNAPS, new weapons modeled out, and new player interactions with specialized tasks. We have now an outline for the story, new objectives, and a game manager that detects if all the players are dead so they can restart the level again. As of recent updates are a reworked armory, added pipes for “realism”, and code breaker working as intended. Animation side had the animatic “tested” on audiences.

Tasks Completed

My main task for the animation was to finish my end of the animatic, but I was sick for a day. Luckily with the help of Ryan, we were able to finish my part to then be added to the rest of the animatic. When that was done, I was tasked VFX work on Monday the 6th of March. As of now, I found a planet asset to use and a tutorial for the space skybox so it can look “cooler” to the viewer. Now we don’t have to worry about making our own planet with such limited time.

Planet asset that was found.

For the VR game itself, I have been working on the hacking objector indicator and the code breaker model that the hacker would use on the ship, as well as other locations throughout the station.

Hacking Objective Indicator located on ship (Prototype).

Problems Encountered

A problem that was encountered was the lack of responses to the animatic. From that, there was no real direction to go. Having to abandon a huge section of the animatic/animation also is a problem since that was time lost. That’s just one of the main problems with the animation side of this.

For the game side, I haven’t had the time to actually finish some of my tasks. They were started, but not completed. Luckily with the Explorations in Gaming prototype being done, I have more time to work on them.

Tasks/Goals to Complete

For the animation, my tasks to complete are related to VFX. I will be working on the cargo ships engine thrust exhaust, creating a space-like skybox for the “environment” of the animation, and creating some sort of atmosphere for the planet. Not really sure how to do the last part, so I might look into tutorials for that. If nothing pops up, we scrap it.

Example for the thruster exhaust.

New Ideas to Implement

I want to see if there is a way to implement a slow moving galaxy for the background part of the animation. I feel like having that would make it seem more “space-like” and not just an image. Might be hard to do though, so that would only happen when I finish the rest of my tasks first.

Featured Image Source: Pexels