{"id":311,"date":"2015-10-28T21:24:58","date_gmt":"2015-10-29T02:24:58","guid":{"rendered":"http:\/\/blogs.discovery.wisc.edu\/vr2015\/?p=311"},"modified":"2015-10-28T21:31:57","modified_gmt":"2015-10-29T02:31:57","slug":"team-object-update-week-1-with-timeline","status":"publish","type":"post","link":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/2015\/10\/28\/team-object-update-week-1-with-timeline\/","title":{"rendered":"Team Object &#8211; Update Week 1 (with Timeline)"},"content":{"rendered":"<p><strong>Individual\u00a0Efforts<\/strong><\/p>\n<p><strong>Andrew<\/strong> experimented with Unity, making a couple games and some test projects to understand how Unity works, essentially. \u00a0In addition, he researched a few classes in C# that are integrated into Unity, and learned how to implement them to do basic operations such as control a camera, move a player around, and create events when certain events happen (like the player picking up an object when moving into it). \u00a0Lastly, he borrowed an Oculus Rift and configured it on a PC (special thanks to Bryce for the help!) where he experimented with runtimes, demo scenes, and eventually implemented his games with the Oculus (still a few bugs to work out, is kind of jittery after the project is built).<\/p>\n<div id=\"attachment_314\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/Roll-A-Ball_test.png\"><img aria-describedby=\"caption-attachment-314\" loading=\"lazy\" class=\"size-large wp-image-314\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/Roll-A-Ball_test-1024x595.png\" alt=\"One of Andrew's test projects: Roll-A-Ball\" width=\"1024\" height=\"595\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/Roll-A-Ball_test-1024x595.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/Roll-A-Ball_test-300x174.png 300w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/Roll-A-Ball_test.png 1858w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-314\" class=\"wp-caption-text\">One of Andrew&#8217;s test projects: Roll-A-Ball<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>Grayson<\/strong> created the house, and is currently working on the rest of the scenery, and on a character model for the players. \u00a0He also is looking into Blender\/SketchUp\/Unity assets libraries to see which models we can use for the game, to cut down on time needed to create models, and instead focus time on implementation and function. \u00a0<strong>Sizhuo<\/strong> worked on making models, and is familiar with how to do so now. \u00a0He is now continuing on working with player-object interaction, and is focusing on the &#8220;object transmog&#8221; ability that the hiders will have.<\/p>\n<p>&nbsp;<\/p>\n<p>Sizhuo&#8217;s Models<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/shelf.png\"><img loading=\"lazy\" class=\"alignnone  wp-image-313\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/shelf.png\" alt=\"shelf\" width=\"1024\" height=\"550\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/shelf.png 1920w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/shelf-300x161.png 300w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/shelf-1024x550.png 1024w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a> <a href=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/mug.png\"><img loading=\"lazy\" class=\"alignnone size-large wp-image-312\" src=\"http:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/mug-1024x550.png\" alt=\"mug\" width=\"1024\" height=\"550\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/mug-1024x550.png 1024w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/mug-300x161.png 300w, https:\/\/blogs.discovery.wisc.edu\/vr2015\/files\/2015\/10\/mug.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>To quote Sizhuo, &#8220;I watched several video tutorials on Unity and SketchUp, and then made two models using SketchUp. I found that SketchUp has no built-in support for splines, so I installed an extension for creating Bezier curves. It was a good practice for 3D modelling, though I think we are going to use existing assets instead of making our own.&#8221;<\/p>\n<p>Impressive!<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Accomplishments Made by Team<\/strong><\/p>\n<p>Overall, we are making\u00a0<em>serious\u00a0<\/em>progress. \u00a0At this rate, Grayson may complete the environment for the game earlier than expected. \u00a0Andrew also found out that Oculus implementation isn&#8217;t as difficult as thought to be with Unity\u00a0(though no 1st person view was implemented yet, only 3rd person), and should make things a bit less stressful come the end of the semester. \u00a0Also, all three group members are becoming acquainted with Unity, and are making solid progress on assembling the game world using Unity functions. \u00a0With Andrew working on overall game implementation \u00a0(including multiplayer and Oculus support), Sizhuo focusing on implementing and testing player control, and Grayson working on environmental aspects (objects, physics, etc) we should have a functioning prototype soon.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Problems<\/strong><\/p>\n<p>After building a project with with Unity 5, the game runs fine, but is very jittery when played on Oculus (Runtime 7.0.0 Beta). \u00a0This may be because of the runtime version, pc settings, or some other bug, which should be worked out soon. \u00a0 We haven&#8217;t encountered any other serious problems, other than learning how to use Unity\/SketchUp\/Oculus Rift, which we are &#8220;ironing&#8221; out as we go.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Plans for the next week<\/strong><\/p>\n<p>For this next week, Andrew should have some idea on multiplayer implementation (no pressure!). \u00a0He plans on looking into a few tutorials (including a 30 hour video series&#8230;) to understand how to make a game run multiplayer, on LAN (5th client act as server, most likely). \u00a0Grayson will continue to assemble the environment for the game, including adding some test objects and looking into physics\/character controllers. \u00a0When Grayson has a working model, game implementation can be thoroughly tested in a game-like environment, where bugs can be pinpointed earlier and more precisely. \u00a0Sizhuo will continue to look into making object\/player scripts for basic game functionality, which can be tested in either a test-mesh world or in Grayson&#8217;s environment prototype.<\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>Timeline<\/strong><\/em><\/p>\n<p>Much of our work is going to be incremental. \u00a0That is, we will build a functioning game, then add more implementations, and slowly make it pretty.<\/p>\n<p>So by end of next week <strong>(Nov. 5th)<\/strong>, we hope to have a working test environment, some gameplay implementation, and multiplayer configurations determined.<\/p>\n<p>Other estimates by&#8230;<\/p>\n<p><strong>Nov. 12th<\/strong> &#8211; Have multiplayer\u00a0figured out\u00a0(i.e. managed to get a build where 4 players can coexist at the same time, at least have a strong idea by this time), working game (possibly?), and a not-so-pretty yet constructed game scene.<\/p>\n<p><strong>Nov. 19th<\/strong> &#8211; Object implementation finished, where players can join game and turn into objects. \u00a0Player viewpoints should also be implemented with some objects, so if the players turn into a tall object, they should have a tall perspective, and vice versa. \u00a0We should begin seeker implementation (guns, damage\/health for players, etc) at this point (no later than this), and UI can probably start here. \u00a0We can also begin to make the game pretty. \u00a0(also <em>extensively<\/em> test Oculus Rift implementation here, to be sure it works with perspectives).<\/p>\n<p><strong>Nov. 26th<\/strong> &#8211; Start making the game pretty. \u00a0Add more objects, smooth out rough edges, perhaps implement additional game features (flashbangs, powers for hiders\/seekers, etc). \u00a0Thanksgiving at this time, so we want to have a majority done by this point.<\/p>\n<p><strong>Dec. 3rd<\/strong> &#8211; Play testing, perhaps with other people to see if they can find any bugs to work out over the last week, and see how balanced the game is in terms of Hider\/Seeker advantages. \u00a0Continue to make the game look nice as well (aesthetic appeal is important in a game, and especially in VR). \u00a0Also, when play testing we should have emphasis on how VR &#8220;cooperates&#8221; with our game. \u00a0Any player sickness, disorientation, or severe eye strain should be noted, and fixed to the best of our ability over the next week.<\/p>\n<p><strong>Dec. 10th<\/strong> &#8211; Game should be mostly\/completely finished at this point. \u00a0Finals are coming, and we won&#8217;t have much time! \u00a0Planning on being done at this point is crucial in giving us a safety net in the case of catastrophic failures. \u00a0If everything goes smoothly, we can work on implementing something fun\/additional, like menus, game modes, tweaks, etc.<\/p>\n<p><strong>Dec. 17th<\/strong> &#8211; Everything should be done\/presentable, to the\u00a0<em>best\u00a0<\/em>of our abilities.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Fallback\/Contingencies\u00a0<\/strong><\/p>\n<p>First and foremost, we need a working game. \u00a0That means players have to be able to move around, interact with objects, and win\/lose based on the rule set we will come up with. \u00a0If we need to cut time anywhere, it will be on the design. \u00a0We are planning on using pre-made assets for the game, so it shouldn&#8217;t take much time at all constructing some sort of environment to work in, which may make it look not as desirable. \u00a0If worst comes to worst, we can give up time planned on making the game pretty and instead focus on implementation and game mechanics.<\/p>\n<p>&nbsp;<\/p>\n<p>Multiplayer is a big thing for us; it&#8217;s pretty much the backbone of the game. \u00a0If we cannot figure this out, we&#8217;d be forced to resort to a single player version, with either the player a hider and a non-playable character (NPC) seeker, or an NPC hider with the player seeking. \u00a0Both would be fun, yet lackluster compared to our multiplayer idea. \u00a0Multiplayer will be one of the last items we will cut from the game, even if it means a somewhat-generic environment (we feel that the house would at least look decent with prefabricated assets, but not &#8220;awe-inspiring&#8221; without some time put in. \u00a0We may need to sacrifice this awe factor).<\/p>\n<p>&nbsp;<\/p>\n<p>Lastly&#8230;&#8230;..if needed&#8230;&#8230;.we cut the multiplayer. \u00a0If there&#8217;s still time to write\/find an AI script for the NPC, we will try to implement it. \u00a0If there is no time, we may be forced to cut the game part, and make the idea some sort of &#8220;household scale object simulator&#8221; where all you do is move around and turn into objects to see what it would be like. \u00a0This shouldn&#8217;t occur, as this would require MANY things to go wrong, and no effort in fixing them. \u00a0Nonetheless, our decision making should be keen enough to see this coming early, so we can brainstorm and think of new replacement ideas if necessary.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Possible Changes We Made<\/strong><\/p>\n<p>We are still going with the hide and seek idea. \u00a0One change we might make is to incorporate some sort of NPC whose only purpose is to walk around the house and move objects. \u00a0This will do two things:<\/p>\n<ol>\n<li>This will manipulate &#8220;change blindness&#8221; that will make environments look different over time. \u00a0With a couple bots, this could make it difficult for the seeker to memorize locations (we may still incorporate a random number generator to diversify the world, if we have time towards the end)<\/li>\n<li>At the moment, the only movement the seeker will ever see is\u00a0<em>the movement of the hiders.<\/em> \u00a0By adding NPCs that move around, this will give the seeker a sense of activity in the environment not caused by other players, making it less eerie and more difficult.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>Our plans are solid, and we are eager to move forward! \u00a0Everything we propose we feel can meet and complete within the time frame of the semester, but problems occur, and we are prepared for them.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Individual\u00a0Efforts Andrew experimented with Unity, making a couple games and some test projects to understand how Unity works, essentially. \u00a0In addition, he researched a few classes in C# that are integrated into Unity, and learned how to implement them to do basic operations such as control a camera, move a player around, and create events [&hellip;]<\/p>\n","protected":false},"author":115,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts\/311"}],"collection":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/users\/115"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/comments?post=311"}],"version-history":[{"count":3,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts\/311\/revisions"}],"predecessor-version":[{"id":317,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/posts\/311\/revisions\/317"}],"wp:attachment":[{"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/media?parent=311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/categories?post=311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/vr2015\/wp-json\/wp\/v2\/tags?post=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}