top of page
Search

CAGD 377 Blog Post 2

Liam O'Hare


For this sprint I focused on making some the essential elements for our idle portion of our game. This meant tackling our factory elements. One of the most important prefabs I would be making was a conveyor belt script functionality along with the art for this asset. I also had to build the starting environment for our scene which would accommodate for features that did not exist yet.





These are all of the completed cards for this sprint. I was assigned 10 points and all 10 points were completed.






What worked very well during this sprint was the completion of the factory environment. This environment was an updated version from our last sprint with newer textures. While future factories will have new geometry, this second factory is one of ten possible upgrades, so we want the feeling of progression for players to be slow at first. This worked so well because we spent so much time in the last sprint communicating and discussing ideas for our factory layout. We went through a few versions and settled on this layout, which properly accommodates for all of the mechanics and visual layout for our game.

The section on the left is meant to make space for the dumpster holding all of the players scrap. The production line moves from left to right, meaning scrap is collected on the left and completed on the right where trucks will be waiting to ship off the completed robots. The shelf section is where the player's robot currently in production sits. Not only is this set in the center to help the player see what they are creating, but it also acts as a UI element where the player can tap to access robot customizations. This hopefully will provide for an intuitive mechanic for the player as well as conserve on UI space to cut down on buttons.

This is where the sprint got increasingly more difficult, as it was time to implement a core piece of this game in Unity. I am not a seasoned programmer though I have lots of experience with using Unity's scripts to make things happen in game. Our team talked and we agreed that I can be a more "experimental" programmer, who can find how to make things work, and our lead programmer can clean up my scripts to make sure they work with the rest of the game. I did lots of research first on various methods to make conveyor belts in Unity. I settled on a simple but strange concept for our game. This system takes the conveyor's rigidbody, moves it slightly, then teleports it back to its previous position. This moves objects on top of the rigidbody, moves the rigidbody back to its original position without moving the objects above (because the rigidbody teleports, and nothing touching this rigidbody will follow). This process repeats very quickly and makes for a simple and realistic conveyor belt.

Anything under the conveyor belt will move in the same direction, which is unrealistic as it should move in the opposite direction. However I considered this, brought it up with my team, and we decided this doesn't matter and shouldn't be a problem for our game's future.

Things increase in difficulty when it comes to creating the art asset for this conveyor belt, specifically, with the belt moving across the rollers. Through research I achieved this look easily, as seen above. The issue was having this conveyor act the same in Unity. This conveyor uses a wire that it follows along in Maya, which is unreadable from Unity. Even after baking the animation and importing to Unity, Unity could still not properly read this. I had already put in so much time to this, so I decided it was time to cut our losses and try some new methods.

I settled on a method that animated the conveyor belt's texture across a stationary model of the belt. This didn't look as great from up close, but our team decided this wouldn't be a problem as conveyors would be seen from far away. This method likely will even conserve on frames for the game and take less work from the phone to produce the graphics.

While this all took more time than expected, I think my ability to do research and communicate with my team is what overall had me come out the other side successful. If I had given up earlier I may not have found the other cool methods to render something like this. This knowledge will also help me achieve other factory elements in the future, as belt animations will not be exclusive to our conveyors.


Recent Posts

See All

MADT Blog 10

The open letter asking for a pause on AI neural network development is in my opinion necessary. This pause on development is good,...

MADT Blog 9

The Internet of Things is a developing technology which uses many devices in conjunction as well as the internet to manage the existing...

Comments


bottom of page