First Semester Blogs 2015
CSG-117 Game Logic (No Blog)
Second Semester Blogs 2016
CSG-118 Game Engine Scripting (No Blog)
Interactive Display 2017
We where given our assignment and client needs today. We are tasked with developing an interactive display for a company that provides companies with computer security called SecuriLock. They typically attend trade shows that focus on security but want to attend a different type of trade show which is focused on technology. I came up with an idea last week and then refined it to pitch to the rest of my team. We split up into teams of 2 and each team was supposed to have our ideas ready to share with each other. I was the only one with a fleshed out idea and graphic storyboard for the team meeting which was a little disappointing. I do believe that I have the winning idea and my time spent thinking it through lead me there. I was originally thinking about somehow incorporating an Enigma machine but created a concept that would offer a more practical interface with he leap. From a display standpoint I thought that the LCD TV would be framed out in wood, giving the effect that it is not a TV but more of a machine. It’s a cheap enough and easy enough concept to pull off and would complete the illusion for the machine. The interface graphics would be modeled as photo realistic objects.
Once pertinent qualitative and quantitative is gathered from the person playing, the machine can ask trivia questions tailored to that persons demo. The timer would compel quick answers. Also.. the vacuum tubes and other lights could indicate which area of interaction is required for that answer. We would need to test which interaction types work best and may need to remove or augment interaction types that the Leap has issues with. It would be cool if the oscilloscope interaction accepted the drawing of a single letter or number as an input type. If that’s not possible, it could just act as an aesthetic.
This design approach will immediately achieve one of Securilocks goals. Stand out. What better way to stand out at a convention full of high tech by taking a nostalgic approach with an interface that predates modern computers. We believe that this design direction will ensure that Securilock stands out as the most memorable display at the convention. The interface also allows Securilock to inform and educate people about anything they would like, in an interactive and fun way. And because of the low cost, their could be multiple machines at their display.
This week Chris and I met with Daryl to discuss our display ideas and uncover more out his goals. I think that we have a really good handle on whats expected from the client. After hearing from some of the other teams I think we did a better job at asking the right questions. After the meeting we kicked around what we learned and I came up with a variation of the pipe dream concept which I believe better connects people with what Securilock does and will act as a more effective branding tool. I got the idea from two different games, Deus Ex and and Alien Isolation. They both had mini games with a hacking component. Although the client liked the idea of including some kind of avatar I did not include that with what I worked on. Mainly because I felt that it did not directly help with the clients main goals and would work against us on one of the clients goals which was the amount of time spent with the interactive experience. I felt that people putting together an avatar would divert from the valuable time that could be spent collecting their information and having fun with a memorable interactive experience. Pitch
Daryl decided to go with the my game approach so I’ve started to work on asset concepts. I was out of town and didn’t have much time to dedicate to school projects but I did find time to create this server asset. I was originally concerned about this project but now that I have my head around the needed assets and the design has been pretty well fleshed out. It’s looking pretty good. I figure that I could probably knock out all of the 3D assets in one day. That allows me enough time to make every asset to be at the highest quality and also include animations and particle effects in Unity. At the rate the programmers are working we should have a functional game in the coming weeks. This will also give us time to improve upon the game play and perhaps add features that add benefit to the client without impeding the simplicity and focus of the core game. I feel fortunate to be on the team that I’m on because it sounds like the other teams are struggling to get started and I feel like we are moving forward effectively.
Server Model I created: https://skfb.ly/6oORL
I finished up all of the node assets which where a switch and desktop computer. The switch posed some interesting challenges that I was able to work through. In order to create the ethernet ports I used a normal map stamp to create the illusion of a hole. This makes the model much cleaner and more efficient in the game engine. Overall it was a fairly simple task to create the geometry of the assets. It took a little more time to set up the geometry UV’s and paint them in Substance Painter.
This week I created the columns that the node assets will sit on. I made a few different versions for our product owner to choose from. He decided on using the one with a carbon fiber wrap. I also experimented with some emissive materials that would add an illuminated look that would merge onto the floor. The floor itself posed some challenges but I was able to create a custom hexagon floor at the quality that I was shooting for. I initially created an animated emissive material to indicate the state of each node but due to time constraints we wont have time to implement. I created the Hexagon floor using Substance painter and a custom texture map. My initial attempt looked ok but my second attempt turned out exactly as I envisioned. For anyone planning to make a custom hexagonal texture I would highly recommend using Substance painter.
I created the shield that indicates that a node has been protected by secure lock. I used a combinations of techniques to pull this off. The first is an animated texture shader that I have re purposed the code from on several occasions. I use a fractal texture that I found on line to give the shader its overall look. I then created a new material that I put the company logo on and place that on another sphere. The logo is set as a transparency and I made the sphere slightly larger than the underlying shield. I then pivoted the logo upward to match the angle of the downward viewing camera. This effect is very useful for creating force fields and can even be used to follow the surface of a mesh. I used that technique in my capstone class on a power up fist which I’ve linked to here on this You Tube video I created.
Since I finished the last of the 3D assets needed for the project I started to work on the design for the exhibit display. I had to send my laptop to CA for repair which has become an impediment during the few weeks of class. This just means that I’m going to need to stay late and come in every day I can to make use of the schools computers. It sucks but It has made me acutely aware that I need a backup system, namely a desktop computer. I guess that although the timing isn’t great, the fact that I’ve gotten all of the 3D modeling and painting for all of my class projects done early is a relief. Also that I’m not stuck in a professional situation is lucky. I’m piecing my desktop build together now.
I had to start my design over for the convention display concept but I’m glad I did. I was originally thinking that I would try to figure out how to create an affordable holographic display but decided on using projection mapping to display an animation of the Securilock logo on the central sphere. I researched pricing and equipment to build the display and we would have the added benefit of owning some of the equipment, paid for by Securilock and reusable with future clients.
I was able to bring my 3ds max file into Unity and created a way to show our client an interactive version of the display concept. I believe that by doing this it offers a sense of space and size first hand. This could also be used to show the client in VR by using the Oculus. Showing off concepts this way gets clients excited and talking about what they like and don’t like about an idea. I have never been afraid of a client saying that they wanted to change something. That is basically them saying yes, they just have a different vision. Depending on what they want, the price may be effected. In my experience people don’t mind paying a little more to get exactly what they want.
Here’s a link to my virtual walk around I created for the convention display. I created all of the assets with the exception of the 3D characters. Launch Virtual Display (PC Only)
We’ve known that we will be developing a 4 player tank game since last semester. This is really going to stretch our capabilities for the programmers. Building a 4 player game without major latency is about as complicated as it gets. Devon is going to be our PO and scrum master, he’s got a lot of work ahead of him, I just hope that he can keep the game in scope. He’s pitch is comically out of scope on so many levels. I’m excited for now challenges this semester, I’ve kept my skills sharped over the break and continue to push myself to learn as many new things as I can every day.
Our planning is in full swing. We are going to take our time to get our sprint planning done correctly. This is always important but it’s more important than ever with a game this technically complex and with a significant need for quality art. I’m ready for it. Being the only 3D artist on the team is going to force me to step up and kick some ass, and I’m ready for the challenge. I continue to improve my workflow and keep finding better ways to model. I just hope that Noah is able to keep up with the 2D art, he is going to be drawing hundreds of pictures for me to model from. i think this is going to be a great experience for the both of us. I think our sprint planning is taking way too long, it’s not that it isn’t going to take some time. It just seems like our planning should be happening faster.
We are still in sprint 0. It’s not the worst thing but I think that the lack of a road map is concerning. I think that the scope is going to get away from us and the reality of getting the game done in a way that Devon wants will probably not happen. We need to focus on the (Least Viable Product) and build out from there. While honing my painting skills and making a gun for my next game with Outer Rim. I’ve learned quite a bit more about some techniques I’m going to use for the Tank game. The biggest challenge and thing I need to learn is how to bake all of my maps down to one map. This is important for this and all future games so I need to get this workflow perfected.
I Completed all of the tasks that I could work on for this sprint so I started to work on an asset that doesn’t have a card yet. The airship is something that Mike had asked for and I agree would make a great edition to the game. There will be airships floating overhead and a crashed airship on the ground that players will be able to go inside. The airship still isn’t done, I plan to give it a more warn appearance and add a zeppelin style balloon above the ship. The balloon will be a new challenge because I will model it in Mudbox. My goal is to make it look like its made from a tattered cloth and squeezed tight by rope to help hold its shape and to connect it to the ship. The downed ship will present it’s own unique challenges because the inside will need to be created, I would also like to have a deflated and flattened model of the balloon lying on the ground, still attached to the ship.
I’ve modeled the tank from Noah’s design and UVW mapped it to accuracy apply texture. The greatest challenge on the tank was the animation of the tank tracks. There were many technical challenges to overcome due to the complexity of this tank model. I also wanted to use the most realistic approach possible while keeping the polygon count in check. Before optimizing the tanks mesh the poly count was over 70,000, but after my optimizations I was able to get it down to under 15,000. The model itself is about 9MB. It’s the textures that balloon the model size to 47mb and 51 mb on the rusted model. This is mainly because each object on the tank has it’s won UVW and material. I need to figure out how to get the entire model on one UVW in a way that allows me to add multiple textures. I do believe that once we implement LOD in the engine, the actual model size will be significantly smaller and will not pose a problem in the game.
I defiantly kicked some butt this week. I’ve gotten two of the weapons and the second tank done. As I figure out my workflow my production speed and quality continue to increase. I also learned that I will be taking on the role of lead designer for my Set Design class to develop assets for our tank game. My instructor told me that I will be graded on how well I manage the development team. He went on to say that my hard surface modeling skills where excellent and that there wasn’t much need to grade me in that way. I’m really happy to have this opportunity because it will allow our tank game to show the artistic personalities of other artists and give me some breathing room to work on other game assets.
Flamethrower, particle systems, smoke, scrolling texture tracks. Yep another productive week. All of the particle systems I’ve created are from the ground up. In the past I would always go to the Unity asset store to find particle systems. But the more that I use them, the more I understand how to get them to do what I want. I still think that Unity needs to overhaul how the particle system interface works, but at least I can get it to get pretty close to the vision I’m looking for. Replacing the tank track geometry with scrolling textures was a significant decrease of polygons on the tanks. I went from 15K to 5K when they where eliminated. And the scrolling textures look just as good. I’ve also created the projectile firing and expelling a shell casing, surprisingly, that was the fastest of all the guns.
This week was a fairly slow week because we are experiencing some bottle necking in art task cards. I took a car from another sprint which was a hedgehog. My scrum hasn’t talked to Emil about the art workflow because he bounced the card back to the backlog. This is a good example of counter productivity. If he would have talked to Emil weeks ago like I had asked, he would learned that the art workflow is different than the rest of the dev team. I’m not worried about it because I know it will get worked out. I also created a flag system for the tanks. This is something I’ve always wanted to do but never tried and it turned out exactly as I hoped. This adds a new feature that we can use to correspond with the factions.
I finished three of the four weapon pickups. The most challenging was the health pick up which is a heart. The last pickup I have to do is the weapon buff which is a hand grasping ammo and making a fist. That will probably be the most challenging. Our art workflow has been sorted out so Noah and I have our own card lane to pull from. I just learned that we will need another tank because there was a problem with that tank customization system. I pretty happy about this because the tanks have been my favorite models to create. I’m starting to get a little nervous because we haven’t been able to really play test the game yet, but I believe we are close. The models that are being made in my Set design class are looking really good and I’m excited to get them in the game. I hope that I will be able to the models from everyone this week even if they are not textured.
I created the tank explosion particle system as one of my tasks this week. I followed a tutorial and then added my own look. This was a lot of fun to put together and furthered my knowledge of how Unity particle system work. I would like to see unity streamline the particle systems interface, I think that there are several UI and naming convention changes that would allow people to better understand what part of the p[article system they are changing. I also started to work on one of my most challenging assets so far, a fist. This is only the second hand. d I’ve modeled and is taking longer than I anticipated. The concept art has a belt of ammo in it’s fist but for ease of modeling I’m going to have it grasping a single large round of ammo.
The fist took me two weeks to create and just finished it up. I included an entirely new effect that I created in Unity that uses a shader to wrap around the geometry of the fist. This is my favorite pickup model that I built. I diverted slightly from Noahs concept which had the hand holding a belt of ammo. Mainly because It increased the geometry and I felt that it would be harder to actually see what the hand was holding.
I textured the entire terrain and modeled the mountains this week. I spent about 30 hours going through every corner of the map and created different blends of stone and rock. I also placed most of the in game assets and modified textures and geometry to maximize game performance. This was a tedious but rewarding experience. I learned how to blend the terrain materials in different ways. I also learned how the Unity terrain system can be easily maximized for performance. The most dramatic was the error value, it reduced the accuracy of the geometry but greatly reduced the poly count and improved performance. I didn’t put everyone’s asset into the game from my set design class because they where either not good enough or their poly count was too high.
Noah and my art is going to be displayed in the art gallery at the 6th street cafe so I put together a few prints to show off our work flow. After printing I did realize that some of the images printed too dark. Overall I think that it’s pieces like this that allow me to highlight my ability to take an idea and model in 3D. I still need to put these on sketchfab which will require me to re texture them. I unfortunately didn’t save all of my textured work to an external drive and needed to send me computer in for work. But that’s ok because I enjoy texturing.
Our game was not properly road mapped and we are defiantly feeling the effects of that now. We have many broken systems and many of the major game elements are being put together for the first time. Lots of systems are broken and even simple things are completely broken. My explosions don’t work in the game and even water isn’t rendering. I think that the root cause is a lack of leadership and the ability to recognize when a project is not on track. Their never seemed to be much of a sense of urgency and it seems lie Sam has taken it upon himself to step up and try to fix many of these broken game elements. I think that the ultimate failure of this project was the lack of vision, road mapping and leadership. Our PO was hard nosed on things he should have been softer on and soft on things that he should have been harder on.
It’s portfolio week and Devon is taking about adding more to the game and not truly understanding how broken it is. I know that Sam is working hard at fixing many of the game breaking elements but I think that it’s just too late to fix everything. There is work that has been passed as done that has not been tested because it is so broken. Much of this is because the major game elements have not been brought together and play tested until now. Much too late to do anything about it. It’s unfortunate that we only had one semester to work on this game. It should have never been a networked game with so little time. Our programmers were set back half of the semester because they had to rewrite new networking code. But this should have all be recalculated into the road map and the appropriate adjustment should have been made. Instead, the road map was never look at as a team and was never a useful tool in our development process.
After portfolio night it was clear how interested our PO was in the game. Sam had to go look for him twice and he seemed more interested in playing Outer Rim than talk to people about the game. It was a sad showing, I would say that Jolie made the most respectable attempt at showing off the game. I also noticed that instead of being on the proper side of the booth they where playing the game more than inviting people to play. Maybe I missed it but I didn’t see our PO talk to anyone about the game. Even with it’s bugs, there was plenty to talk about.