Tuesday, November 29, 2016

Cory Zicolella PPJ 11/15-11/29

I will preface this by saying this post is going to be very brief in comparison to my others.

These last few weeks have been rather confusing on my end; the week that began two weeks again I became increasingly ill as time went on and it caused me to get very little time dedicated to the project.  That being said, that week, I still managed to toy around with the textures on the Ball asset and tweak the UVs accordingly from time to time--and now the ball is textured (to satisfaction) for the Alpha.

This week, thanksgiving interfered with much of the team (I'm sure), but we all still managed to get work done.  I handled the video editing this week, as well as aiding with creating the shotlists and getting the footage.  All together, that took about 8 hours, 4 spent troubleshooting/directing shots, and 4 editing.

Because this week was entirely in editing, the videos will be all there is to show.

Tyler Schacht PPJ 11/15 - 11/29

Over the past two weeks much of my time was taken away due to an on-going research paper for Sociology.  Additional time was taken away due to my requirement to help set the house up for Thanksgiving and then help with Christmas decorations.  Most of the stuff that I worked on was during our meeting times.  Implementing my revised goal into the build, creating a skybox, and recording video footage along with Cory and Dan.

Total Hours: 15 hours
Revising & Implementing Goal: 2 hours
Skybox: 1 hour
Alpha Footage: 2 hours
Rest of the meetings: 10 hours

Positive: Adding in the skybox makes the game look much more complete than it did before.
Negatives: I didn't do too much on the art side outside of meetings, and our meeting times generally were focused on the presentation rather than improving the game.

Team PPJ 11/15 - 11/29

This week, there was not much done on the art side but an immense amount done in terms of implementing new assets and mechanics into the level. Mike Cancelosi was able to get his elevator level added to the current build and we now have a rudimentary but functional AI.

Our AI follows the position of the ball and will sometimes catch and fire the ball at your goal

The gravity well works again thankfully

Our gravity well, displayed in our new skybox

Scoring has been implemented
Elevator interior

Elevator exterior WIP

Mike Cancelosi 11/15- 11/29

 This week I built the interior of the elevator scene, as well as lit it. I also started making assets for the exterior. Lastly, I extended the AI so that it grabs the ball and throws it back at the player.

Pros: Elevator looks great and is ready for alpha

Cons: There is no UI for alpha

Hours Spent: 15

Monday, November 28, 2016

Ryan Badurina - Nov. 15 - Nov. 29 PPJ

The past few weeks haven't been kind to me.  Issue after issue at home has taken up much of my time in working on not just Senior Project, but also other assignments for other classes.  I hope for the next week to give me enough time to finish and polish the assets currently in the game so it is ready for alpha.

Most of my work over the past two weeks was development on our Beta Platform design and model.  The current platform in the game is just a mesh that scales appropriately based on the VR room scale.  What the programmers are hoping to do is create something more dynamic, where different platform pieces are added onto a base whose size is based on the room scale.

My last PPJ showcased the beginning of this new Beta Platform the the overall design process I'm envisioning with it.  After talking with the team in regards to the platform and the overall design process, we agreed that we needed more variety with the inner panels instead of just one square duplicated over and over.

Original tiles

Added tiles along with the original 9.

Example layout of a small room-scale platform.

These are only some of the tiles planned for the platform.  As much of my time has been spent dealing with family-related issues,  I unfortunately don't have more to show.  However, I hope to have the rest of the tiles done over the next week as well as over winter break.  By doing so we add a lot of variety to the platform itself so it isn't the same old looking one everytime.

  -Week 9 General Meeting:  2 Hours
  -Week 9 Development Session:  5 Hours
  -Week 10 Alpha Draft Meeting:  1.5 Hours
  -Week 11 Alpha Preparation Meeting / Gantt Work: 2.5 Hours
Week 9:
  -Beta Platform Modular Pieces:  1 Hours
Week 10:
  -Beta Platform Modular Pieces:  5 Hours

Total Time (2 Week Period):  17 Hours

  -Progress on the modular pieces for the platform are going well.  Hope to have more done over the next week and winter break.

  -A large amount of family issues have been popping up (Flea Infestation, Car Fixing, Doctors Appointments) took up too much of my time over the past few weeks.
  -Final exams and projects are coming up and I need to devote time to those classes as well as senior project.

Monday, November 21, 2016

Andrew DiNunzio - 11/14/16-11/21/16

This week I spent time working on quite a few different things, many of which I was unsuccessful at.
Some of the time I spent working on the Fall Term Alpha Presentation for the CCI side.


I attempted to create a menu system for our game. I researched what is out there right now, and I found a plugin for combining Unreal Engine's UMG with the Vive, but it was evidently discontinued as of 4.12, and we are working on Unreal Engine 4.13. The reason it was discontinued is because 4.13 introduced new features with interactive 3d widgets. I spent a lot of time trying to understand and use this ("highly experimental") feature, and I've found that it is very glitchy when used with both the left and right controllers. Perhaps there is a solution I have yet to find, but it also may simply be the fact that these widgets are experimental in nature, as indicated by Unreal Engine.

I also spent a lot of time trying to get a spring-like force on the ball when it enters a goal. I got a basic system working to a limited extent, but it's extremely buggy. One of the main issues is that if the ball is moving too quickly, it will "jump" past the trigger (that turns on the spring-like forces when the ball enters the goal) from one frame to the next, having never actually intersected with the trigger volume.

I made sure that Continuous Collision Detection (CCD) was turned on for the ball (and even the collision volume), but that didn't seem to fix it. For alpha, we may end up just having the ball stop when it enters the goal, teleport to the center, then shoot out.


I figured out how to fix some of the collision issues we were having, when the arena's collision was being treated as if it were a filled capsule instead of a shell, even though the normals for the model were inverted. It turns out there was a pretty easy fix in Unreal Engine to get it to work, by enabling complex collision checking instead of simple. We may have issues with performance due to this, but we'll worry about that when we get there.

I was also able to get Unreal Engine to output the Vive mirror display in a 16:9 ratio by following a tutorial posted to YouTube (actually posted a day or two after the request was made for us to have this, so we got pretty lucky). I had to pull the source of Unreal Engine and modify it to do so. Therefore, the fix is limited to whichever computers we've done that on. Doing this is also necessary to package the exe to output in 16:9.

Time spent: Total: ~21 hours

6 hours - Menu (attempt)
4 hours - 16:9 video output
6 hours - Goal force (attempt)
4 hours - CCI Presentation
1 hour - Package to exe


  • We can record footage of gameplay in 16:9 ratio now
  • We can package the project as an exe (that works with the Vive) now
  • I learned a lot about issues with high-speed collisions


  • High speed collisions have many issues that need to be taken into consideration
  • 3D menus in VR with UMG are still mostly experimental and buggy
  • I discovered I may want to control the ball's linear damping from multiple different contexts, leading to issues of one taking precedence over another randomly.

Sunday, November 20, 2016

Michael DiLucca - 11/8/16-11/15/16 - Artificial Jive

This week I was able to start implementing the AI to walk around a platform. I started this by following all the documentation unreal has about navigation. First I implemented an AICharacter that looks at an AIController. The AIController on Event BeginPlay looks at BehaviorTree. BehaviorTree starts with a root node that falls to a sequence node seeing if the AI can move, if it can than we move the AI to a random point in a given radius. This repeats itself.

I want to implement a system for the AI to be able to constantly track the ball. It should have the ability to move around its play space following where the ball is. I also want to implement a reach area where the AI has a certain range it is able to reach out to the ball. After that I want the AI to move to the center of the space and launch the ball forward in a random radial direction. This can be improved in the future to a system where we have the AI systematically throw a few hundred balls to find the best current path for it to use.

AI (8 Hours)
Music Discussion (1)

Tuesday, November 15, 2016

Team PPJ - 10/31 - 11/15

This week, the word of the sprint was "implementation." As of right now, every hero asset is in the Unreal Project, if not in a scene. Tyler's goal, Cory's ball, and the capsule stage has been implemented and lots of progress has been made from our previous boxy prototyping stage.

Progress has mainly been focusing on adding definition and textures to hero assets, and in preparation for the addition of an AI there has been a few character designs created. A placeholder particle effect has been added to the ball to aid visibility, in preparation for an upcoming ethereal light-based particle trail.

Coding-wise, a rough AI has been coded but not implemented, and continual refinements are being made to the ball/whip interaction. In addition, a system has been implemented that allows the player to calibrate their platform's size, based on the current size of the Vive play area.

Enjoy visual examples of the team's progress:

AI design 1

AI design 2

AI design 3

Capsule glass

Tool 1

Tool 2

Ball final

Elevator material 1

Elevator material 2

Elevator material 3


Platform 1

Platform 2

Implementation and refinement 1

Implementation and refinement 2

Daniel Ingman - 10/31 - 11/15

This week I spent time refining the tool model, creating character designs for the AI opponent, and working on materials for the final stage build.

The tool model now has emitter arms and a nozzle, which will emit plasma arcs when the gravity beam is engaged. In addition to emitting plasma arcs, the arms are articulated and will move and react to the player engaging and disengaging the whip.

3/4 view

3/4 view

Side view

Top view

The AI character designs drew lots of influence from contemporary mecha and robot designs, notably the Tsugumori from Knights of Sidonia and various mobile suits from Gundam.

The advanced design, displayed color neutral

The blocky design, displayed with Hachigen branding

The sharp design, displayed with Doskoi branding

The material for the final stage is meant to be a mixed-material setup, with metal bracers holding a shell of futuristic glass. I was able to work on a textured glass material, however the general consensus in the group that it needs to be more "futurey", which will be deliberated on further. Likely this will include emissive lights and animated energy layers.

Future glass tho

The effect of the glass can be seen in this GIF
  • Glass material in its early stages adds a lot of visual interest to the arena
  • Tool model is ready for materials
  • Time management: workloads for this class and other classes are reaching a fever pitch

Total hours spent: 18 hours
  • Second pass hero asset: 7 hours
  • AI character designs: 6 hours
  • Glass material: 5 hours

Cory Zicolella 11/1 - 11/15

Well, for these last two weeks for me, honestly it's been rather straight forward.  I've been working almost exclusively on the ball hero asset, as it is probably the one thing you (should) always be looking at.  I ran into some issues between weeks, and have since addressed them so the current model is in about as best shape as it can be.

Originally, a big worry was the style of the ball and the polycount that both Unreal 4 and the Vive could handle.  It was decided that the base primitive would be a quadball set to 25/25/25 subdivisions.  Given that it is a spherical object that could potentially be in the player's face, the ball required much hard-modeled detail.  Not only will a normal map not be able to accomplish what a mesh can, specifically in VR and in your face, normal maps tend to not work at all and look bad.  So, my first pass of the ball had about 90,000 tris when all edge loops were placed where they needed to be; this isn't simply a circle, it has plates on it, and without edge loops, it looked less than desirable.

Personally, worrying that this high of a polycount would be an issue in the future, and needed to address some other issues the team had anyway when I brought it back to critique, I started from the drawing board.  This time, the quadball base was only 15/15/15 subdivs, I made certain to turn on symmetry so the model would look identical on all sides, and I used half as many edge loops.  Unsmoothed, the ball was 36,000 and smoothed, it was about 50,000.  Plus, I made it in about 3/4 of the time.  Noticing that I increased efficiency by effectively 50%, I decided that this was a good design on the ball, and the team liked it as well.
(I hate maya nothing will render for me more than a corner of the window.  Same with any orthographic views.  I haven't been able to fix it.  Here's viewports.)

Side View

Front View

Bottom View

Top View - the center is a pane of glass

From there, I took to RoadKill, recommended by Mike C., to do the unwrapping--this came with its own set of difficulties however.  I needed to learn the program, and also in my initial trial it wasn't functioning correctly.  After conferencing with Mike over a sample object with screen sharing, I got it down and got to unwrapping.  This program really really enjoyed making a bunch of edits where I didn't choose it to, though, so plenty of time went into damage control and making sure the UVs were as good as they could be.  That being said, RoadKill still seemed to think my entire ball's textures would be stretched out (as per the colormap), so I brought it into Maya to check, ran some tests, showed it to the group, and agreed it was okay for texturing.

Green = Good, Red= tight, Blue = stretched. But Maya's checkerboard revealed it was OK.
On another note, RoadKill is like UV layout, so that's cool.
Maya's Colormap UV - not nearly as bad

So we moved forward with a base texture on the ball of tiled fiberglass, topped with some grime and scratched glass to give the aesthetic we're trying to capture.  Moving forward this can definitely be refined, and the plan is to have the centerpiece as an emissive that fades away and acts as a visual shot clock to the player.  The glassed area will also show the team logo the player is on, and the ball will be accented with colors accordingly.

That was the main amount of my work this week, but I also edited together the video draft for my group.  That took a few hours, and aside from running into capture issues with attempting to get widescreen (which after some efforts we had to get to work on editing the mirrored footage), but I believe it came out well.  This is just a rough trailer and it can most definitely be refined in the future.


  • Alot of work got done in this last sprint, and I'm happy about it
  • Managed to cut poly count in half
  • Learned a new program
  • Finally got to do some video editing (!!)
  • This week displayed alot of teamwork
  • Alot of work takes ALOT of time
  • Other classes are really becoming a bother right about now
  • 7/11 still has subpar food, but hey its open after 11pm
  • I basically made an asset and entirely recreated it as it was finished

Tyler Schacht PPJ 11/1 - 11/14

The past few weeks I was once again working on the Goal asset.  I had some issues with maya.  I was so into the project that I forgot to save.. and well, maya crashed making me lose all of my progress.  However, I was able to get the final model down, UV it, and then put on some animation using the blueprint system in Unreal.  Animating it with code will allow the CCI team to easily change the animation when a goal is scored.  In the last week I spent time trying to find a good way to capture VR gameplay.  Unreal Engine 4 defaults to only rendering one "eye" on the desktop and it isn't widescreen.  I also spent sometime trying to better understand UE4's material system with Cory.

 Total Hours: 35 hours
 - Goal: 14 hours
 - VR Footage Research: 2 hours
 - UE4 Material Learning/Relearning: 4 hours
 - Meetings: 15 hours

Negatives: Had a really rough last week, an exam, a 10 page research paper, and a whole bunch of sleepless nights.  I wasn't doing too hot.

Positives: Despite my negatives for the past two weeks, I felt like I was able to get a lot done for senior project.

Monday, November 14, 2016

Mike Cancelosi PPJ 11/7-11/14

This week I put a lot of work into making materials for the elevator. I have a glass pane texture, a lights texture, and I'm starting a default swirly metal texture for the basic walls.

As for the actual layout of the elevator, I have a small sketch which unfortunately I couldn't take a picture of.

Pros: Got a good start on the elevator. I think it is going to look pretty good.
Cons: Skipped Saturday's meeting

Total Hours Spent: 15

Ryan Badurina - Oct. 31 - Nov. 15 PPJ

The past two weeks involved texturing and polishing the player platform and implement that into the game.  Aside from the general meetings and development sessions, Week 7 saw the completion of the platform model for use in our game, although it wasn't implemented until a week later.

Bottom view of the platform (1st Pass Textures)

Top view of the platform (1nd Pass Textures)

Texture Map for 1st Pass Textures

During week 8, after discussing with Mike and Andrew, we decided to design the platform as a more "dynamic" piece in the game.  Rather than have a single platform mesh that scales and distorts, which can make it look ugly when looking at it up close, we wanted a dynamic platform made of several meshes that adjust, scale, and generate using an algorithm based on the VR room scale.

The inner base of the platform, allowed to be scaled and distorted as it cannot be seen.

The propulsion / gravity engine, not meant to be scaled but duplicated at certain intervals

The outer plates meant to cover the base.  Will be dynamically duplicated based on room scale size.

The whole process isn't entirely complete yet, as I need to verify if this type of design route is alright with the coders, but I'm making headway in the process and hope to have it by alpha at the earliest so I can refine it in the future.

  -Week 7 General Meeting:  2 Hours
  -Week 7 Development Session:  4 Hours
  -Week 8 General Meeting:  2 Hours
  -Week 8 Development Session:  5 Hours
Week 7:
  -Platform Texturing:  5 Hours
  -Platform UVing:  2 Hour
Week 8:
  -Redesigning Model: 5 Hours
  -Redesigning UVs:  2 Hours

Total Time (2 Week Period):  27 Hours

  -Septa is back and working, allowing me to go on campus a lot more for meetings and important development sessions.
  -Current version of the player platform is modeled and textured, and is currently in the game for preliminary testing with the room scale function.

  -The redesign of the platform isn't complete yet; still need to hammer down some designs to make it work with the coders.
  -The term is almost done, which means things are starting to get really busy for not just myself but everyone else on my team.
  -Part-time work still takes up some time, but not as much as before now that the new system for Virtua is completed.