The WISRD RPG project is starting to take shape, as the WISRD Virtualization Team and I are nearing our completion of the game lighting and player-enemy interaction system (using a coded bow and arrow). I specifically have been charged with managing all of the lighting and audio systems within the game, and during this week, I was able to use my knowledge of mathematical function, specifically logarithmic functions, to design an audio and lighting system that changes ‘behavior’ as the player enters a field from a certain angle and distance. This can change the audio in a scene in regards to pitch, volume and ‘fall off’. This technology is known as sound attenuation (according to Unreal Engine IV).
The Virtualization Group and I have made substantial progress on the game and we would like to share evidence of our work with the following screenshots:
Things have been going slowly at WISRD lately– the Virtualization Group and I have been tying up loose ends: finishing old projects, debugging the Cancer Cell, creating a Haunted Village for the WISRD Dark Matter Day event, and brainstorming a few possible new projects for the team to explore in the coming months leading to the end of the Wildwood school year. Starting with the group’s most recent accomplishment, however, on Monday, November 6th, WISRD held its fall poster presentation night. Here is the poster the group presented on Monday:
Over the last couple of weeks, the Virtualization Team has struggled significantly with exporting our Cancer Cell Project to the Google PlayStore, in which the application does not prompt the user to use a Samsung Gear VR or Oculus, rather, it immediately launches the application in VR mode on the Android device. While this might sound incredibly simple, it is far from this– I have checked nearly one hundred forums and tutorials on the internet, including downloading SDK utilities for developing applications with Google VR, yet we have still had no success. Because of this technical hiccup, we have been put weeks or months behind schedule, to the point where a large portion of the Virtualization Group has either lost interest in the project or is working on another project entirely. That being said, it is absolutely imperative that we diagnose this problem, and send our final product to USC by the end of this week, or I fear that we may lose our partnership with this amazing organization– this would certainly be a serious blow to the reputation of the Virtualization group. We have tried the following to diagnose this problem: disabling all oculus cameras and plugins in the Unity 3D Editor, replaced the OVR (Oculus Virtual Reality) player cameras with Google VR cameras, reset the player settings (I reimported the VR settings for the Unity Editor), etc. All of these steps have proved unsuccessful.
As the leader of the Wildwood Institute for STEM Research and Development’s Virtualization and Computer Rendering Group, I am proud to announce the beginning of the production of WISRD’s very own role-playing game project coming in 2018 (we have not yet determined a deadline for the project, as it is so incredibly complex and time-consuming). The setting of the game is in medieval Scandinavia, around the 12th and 13th centuries– think snowy mountains, lush green forests, kings, etc… the game will have all of it! This project has a strong emotional connection for me, since I first officially became a part of the Institute back in 2014 (three years ago!), I have wanted to make an interactive game, and now, I am finally able to do so. Here is an excerpt from my very first WISRD journal entry in August 2014:
“Our final project, making an open world game, while daunting, doesn’t fear me in the slightest because of the confidence I have in my peers and my ability to accomplish tasks suited for people well above my age. Overall, I am excited to see where this project takes me, what I learn from it, and how I can apply that new acquired expertise to something else I find interesting in the future”
As seen in this quote, I have had the idea in my mind to try and attempt to make an open world game, yet, I never had the experience or the people to help me accomplish this. Now, I am significantly more knowledgable in game design and story telling, and my work over the last three to four years has demonstrated this growth. Additionally, I have stepped up into a leadership role of the Virtualization team that I never had before in WISRD, and I feel that I have done a good job directing my team so far this year. I have emphasized an open environment, in which members of the team are free to express concerns or doubts about anything and everything that we are doing: this has created a strong connection between each and every member of the group. My goal is to, as a leader, foster a positive, support atmosphere so when I go off to college next year, I can rest assured that my work and legacy here at WISRD is in good hands. On a different note, the Virtualization Team’s research goals are as follows: (from the Virtualization Page)
Research Objectives: One of the first AAA RPG projects that hasn’t been ported from a previous project
The WISRD RPG project is being programmed and put together using Epic Game’s Unreal Engine 4 (for more information on the game engine itself, please visit their website by clicking here). The 3D assets are designed by Jesse using the free computer rendering software Blender (click here for more information). Logistically, this project will certainly require excellent communication from each person who is working on a separate aspect of the project, for example, the story team must communicate the dialogue system programmer as to make sure the plot of the game progresses in the correct way. Lastly, it is worth noting that all of the members of the Virtualization Team have a significant learning curve ahead of them, however, I believe it is in their best interest to pursue this project, as it combines all the necessary aspects of good game making that can be applied to any application they decide to make in the future. Here are some of the inspirational images for the project:
After going through my computer, checking for WISRD files, I have stumbled upon some of the very first meeting notes from before the Insitute was formed. Take a look and see how far we have come since then:
After completing the lighting and visual aspects of our project, my group and I have moved on to the movement and interaction portion of the project, however, we have run into some issues. The Oculus prefab camera, specifically the Oculus Touch Player Controller, which was included in the Unity Utilities Package (which we downloaded from the Oculus Developer Tools website), does not appear to be functioning properly. We are currently in the process of diagnosing and solving this problem as we cannot move forward with the project without the camera functioning exactly as it is supposed to.
During these last two days (yesterday and Monday, September 11th), my group and I have made substantial progress on the cancer cell project. First, we worked on eliminating the general lighting (using a few area lights to provide lighting to an entire scene) and adding in specific lighting (using spot and point lights on specific assets and places within a scene to get more varied, realistic lighting and shadows). In changing our style of lighting the scene, we were able to get rid of the very harsh lighting on the sides of the vein, and the over-exposed appearance of the shiny assets within the cancer cell itself. While it was certainly a lot of work to delete all the existing lights and start from the very beginning, I firmly believe that our product in its current condition is significantly better with the updated lighting than it was before. Lastly, I designed the white blood cells in AutoDesk Fusion 360, imported them into Unity 3D, and applied a real white blood cell texture that I found from a scientific journal on the internet.
The end of today marks a very important moment in the Virtualization Group’s progress in virtualizing the cancer cell: we have finished the 3D rendering for the cell itself and imported it into the Unity 3D editor. I designed and 3D rendered the cancer cell using AutoDesk’s Fusion 360 software on the WISRD workstation PC. When I imported the cancer cell into Unity, the model did not have the same textures in Unity as it did in Fusion. Instead, the model was completely blank and had no texture at all.
The beginning of this year marks my 3rd official (4th unofficial) and final year in the Wildwood Institute for STEM Research and Develop. As the quote above suggests, I have made tremendous progress during my last three years in the institute (two years of which are recorded in this journal below!), such as: designing the WISRD innovation lab, holding the position of Director of Communications and principal investigator for the WISRD Computer Science and Virtual Rendering Lab, and being one of the founding members of the Institute. In my culminating year at WISRD, I am looking to leave my mark by producing a virtual cancer cell in a partnership with the USC Larry Ellison Institute for Transformative Medicine, and a full virtualization of the Wildwood theater, its classrooms, and other real estate projects as well. In my first two weeks at WISRD, I have assembled an extremely capable and dedicated group of freshman and sophomores, including those who have continued their work from last year, and we have begun work on a multitude of different projects. For this reason, I have stepped up to be the representative of my group, reporting to the Board of Directors, providing crucial updates on our latest progress, and submitting requests for additional funding for new equipment or software. For the first month of my time in WISRD, I will be dedicating my time towards developing a full fledged simulation of a metastatic colorectal cell traveling through the blood stream. The person in the simulation will be able to see the various parts of a cancer cell in detail, and the way it interacts with the environment around it. The purpose of the simulation is two-fold: to provide biology students (and/or people interested in the field) a closer and more realistic look into cancer biology, and to give cancer patients a better glimpse into what is wrong with them. I am so exicted to see where my projects will take me during my final year of WISRD and I feel very confident that I will be able to leave a profound on the institute when my time is up.
March 4th and 11th, 2017
As the WISRD Production Team and I near the completion of the filming portion of the video production, we are making final changes to the schedule and setting up the day to film the final concluding scene to the video. As of this point, the outro will consist of a drone, which starts on the ground and smoothly flies into the air while all of the WISRD members stand on the top of the roof. For this scene, the WISRD Production Team will be contacting Elliot from Aethos Production to provide his cinematic and drone expertise. The communication and planning process of this complex scene are currently in the works, and the production team is sorting out the many logistical and liability issues that could arise during the film process.
This week, I loaded the needed software to continue the production process, which included Adobe Premiere and After Effects. I’ve had limited experience with these programs in the past, so I hope that through the editing process, I will learn to become more proficient in using these pieces of software. This transition has been difficult for the rest of the production team because we had initially chose to use Final Cut Pro, but we quickly discovered the limitations that the program imposed on our editing process and workflow. Luckily, I was able to transfer the files to the high end computer and slow begin the editing process based off of the small amount of progress we had made in Final Cut Pro. As we have all of the video clips and audio in one accessible location in the high end computer, the production process should progress much more quickly than before when all the files were on someone’s personal computer. It is also worth noting that the production team has been using the WISRD Server to store the video files and Premiere Pro project files for ease of access, and data security.
The key in the next few weeks will be to fully master the new software suite the production team was given, and use its incredible capabilities to create the best video possible. I have grown significantly in my ability to lead a production crew, which has certainly made me more successful in this very complex and difficult process. I am excited to undertake more projects with this crew in the future.
February 25th, 2017
The WISRD Production Team and I have begun the preliminary stages of the post-production process by importing footage to the computer and making a few small edits to the video. I have met with the rest of the team throughout the week to review footage, and to decide the clips or interviews that we need to re-film because they don’t meet the standard of quality that we expect for the video. While I haven’t had very much experience, if at all, with video production, I have gained an enormous amount of knowledge in cinematography, editing and directing over the past through weeks. In editing, I have expanded my ability to edit video projects on Final Cut Pro, using professional video production tricks and effects to make the project more visually impressive. Because WISRD is not a video production institute, our natural ability is in the fields of STEM, or so I believed. I quickly discovered a large amount of interest in skill in video production and I was able to assemble a team to create videos for the institute. Like me, the members of the WISRD Production Team have gained a huge amount of knowledge in video production and cinematography. At this point in the production of the video, I am confident to say that the video will far surpass my initial expectations, and I am excited to see the finished product.
February 12th, 2017
In the past couple of weeks, the WISRD Production Team and I have made substantial progress on our latest video, “Who We Are.” I was planning on attaching the latest storyboard document but as the Institute is transitioning to a new URL (from wwisrd.org to wisrd.org), I am unable to embed live Microsoft Word documents into the WordPress page. In the first week of February, I was able to have the founder of Aethos Productions and former member of the Wildwood Institute for STEM Research and Development, Elliot, come and assist our the WISRD Production Team in the filming process. From this connection, I believe that WISRD and Aethos Productions could have a very productive partnership in the future. Here are some of the things the WISRD Production Team has accomplished in the last two weeks:
In the next few weeks, the team and I have to refilm the hydroponics interview, and we have to film two more interviews of WISRD members. We have very briefly began putting together some of the footage in post production, but the Production Team hasn’t officially moved on to this stage as of now. Check back in the next week for more updates on the production process!
UPDATE- January 28th, 2017
Don’t forget to check on my latest article published in the WISRD Inquirer Magazine, titled Radiation. In this research paper, I provide a comprehensive background on the basics of radiation, as well as its positive and negative uses. This latest article in the magazine marks my second time being published, and from writing these articles, I have developed and refined my skills in scientific research, as well as the research paper writing style. You can find my latest article below:
January 21st, 2017
This week marked the beginning of the production process for the new WISRD promotional video titled “Who We Are.” This video will primarily focus on student voice, and will address and discuss the following key points: the community perception of the institute, the institute’s mission, our impact, and more. Additionally, as this video is focussing a lot on student voice, the production team is working to arrange several interviews ranging from members of WISRD, to students and faculty of the Wildwood community. Here are some of the preliminary questions that we will pose to the interviewees:
1. In your opinion, what is WISRD?
2. What about WISRD makes it unique?
3. How has WISRD impacted you as a learner and as a member of your community?
On Friday (1/20/17), members of the production team met to create a draft of a storyboard. Please note that this is not a script and is not in script format. Here is the story board (see below): [still working on embeding the document in the new version of WordPress]
In addition to completing the first scene of video on the storyboard, the WISRD production team also sent out an email to the members of institute informing them about the production of this movie and asking for more people to join the production team. Here is the email:
Dear WISRD Members,
On behalf of the WISRD production team, we would like to inform you in regards to the production of the latest promotional video for the institute. The video, titled “WISRD: Who We Are” will showcase ideas, innovation, and mission. Our main objective is to incorporate as much student voice and opinion to show the outside world that we are more than just “science nerds” or the “smart kids.” In creating this video, we hope to inform and educate the community on Wildwood’s Institute model, as well as the cutting-edge research and development that is being conducted in our organization. If you are interested in joining on our production team, please reply to this email with your name, prior skills (if any), and what you would be interested in doing.
The WISRD Production Team
Will, Jackie, Remy, Aidan, and Dylan
The production process of this video will continue to be documented and uploaded to my journal. The next stage of operation is to gather all the necessary equipment and personnel to actually produce the movie. Here are the tentative dates for production:
January 7th, 2017
This past week, I worked to collect quantifiable data on the high-end computer system that I could use to form more accurate conclusions on computer performance and which specific computer components affect performance. As seen by the graphs above, I gathered numbers that were provided by the benchmarking software, that I then compiled into graphical representations of the performance.
The most interesting test I ran this week focused on the RAM frequency (or speed) and whether or not the speed of the RAM would negatively or positively affect the overall system performance. As seen from the figure 1 graph, using the 3D Mark Firestrike benchmark software, the DDR4 RAM clocked at 3000 MHz edged out the DDR4 RAM clocked at 2133 MHz by 1,123 points, or a 5.17% increase in performance.
In the next week, I am going to use the data I gather during my benchmarking tests and research on the internet to produce a two youtube videos: one that focus on the impact of RAM frequency on computer performance; and one that details that kind of computer a person can build for 2400$ and the performance they can expect to come out of that kind of machine.
UPDATE- December 15th, 2016
On Wednesday this week, after many weeks and months trying to figure why CryEngine wouldn’t work, I was finally able to open up the Sandbox Editor and begin working on my environment development again. However, I did run into a few issues after prolonged use with the editor such as sudden, unexplained crashing of the game engine. That being said, I believe that I can overcome this bug with more internet research and trial and error, and as soon as I fix this issue, I will be able to put all my effort back into game development.
Make sure to check back on my page in the coming weeks for more updates and screenshots during my game development process!
December 11th, 2016
This week, I completed my high-end computer improvement project as well as the cooling upgrade. Using the MSI Gaming M7 motherboard BIOS (Basic input/output system) and the Corsair Connect cooling software, I was able to consistently reduce temperatures throughout the case by adjusting the automatic fan curve and increasing the system fans’ maximum RPM.
In addition to working on cooling, I also tried overclocking the system further, pushing the two 980ti GPUs 71 MHZ on the “GPU clock offset” and 125 MHZ on the “MEM (memory) clock offset.” Following these overclocks, I ran UniGen Heaven and received a score of 2819, which is lower than expected. However, I also noticed that the temperatures of the video cards were lower than I anticipated, which means that I can push the cards harder than I previously did, which will yield higher performance output.
While overclocking the GPUs and the CPU (to 4.2 GHZ), I also attempted to change the frequency of the RAM (currently running at 2100 MHZ) to its advertised speed when we purchased it (3100 MHZ) and frustratingly, the computer wouldn’t boot because of a “failed overclock” (according to the MSI BIOS). In this coming week, I will investigate this issue in further detail and I will seek to solve the problem.
Computer Rendering Screenshots (November and December 2016)
~USING CRYENGINE V AND DIRECTX12~
To view the images full screen in your browser, simply click on the image itself.
November 18th, 2016
After seeing considerable issues with the cooling on the large workstation computer, it was determined that the system would need to be rewired. In the process of rewiring, the power cables for the GPUs, motherboard, and internal storage drives were routed to the back of the case, up towards the components themselves. This method of cable management greatly improves a system’s cooling capabilities, allowing the computer to last longer, and to run faster (because there isn’t thermal throttling in the GPUs). Once the cables were rewired and reconnected in the system, a series of tests were conducted to measure the decrease in the temperature of the components and after running the Unigen Valley and Heaven benchmarks, there was a decrease of 8ºC.
Unfortunately, due to time constraints, I was unable to install software that manages the fans within the system. However, I expect that once this utility is installed on the computer, the cooling will improve greatly as the fans will be better controlled and utilized.
October 28th, 2016
After the many days off for school in the month of October, regular progression has been made this week in preparation for the poster presentation. During this week, the main focus was to test the capabilities of the new high-end computer with quantifiable data from benchmarking software. Currently, the hardware of the newest high-end computer is as follows:
The rest of the components can be found in more detail at this link: http://pcpartpicker.com/list/Bbg8RB.
Taking into account of all these components, I researched overclocking online using these specific components. After going to the MSI Motherboard BIOS and attempted to overclock the CPU, I was unsuccessful in the overclock, most likely due to poor air circulation in the case. This problem will need to be investigated further and address so as to get the most out of this very powerful machine. In terms of benchmarks this week, I used the Firestrike DEMO, UniEngine Valley, and Cinebench. As tests were limited to one trial per benchmark, there is not enough data to draw a viable conclusion at this point. However, after a few more trials are run during the week, a verdict will be able to be made regard the performance of the machine.
September 15th, 2016
This week marked the beginning of the production of the WISRD promotional video. Using Final Cut X (on MacOS X) and the Nikon D7100 (a crop-frame sensor, 24.1 MP DSLR Camera), initial footage was captured, processed, and edited in the software. At this current moment, no plugins are being used in the production of this project or any other external software. However, with the lack of certain base features in the Final Cut X application, it may become necessary in the future to investigate the use of plugins. This project of creating a promotional video is only one small part of the larger project in revitalizing the WISRD Youtube Channel. As we are a STEM institution and not a cinematography club, our knowledge on film-making and editing is limited, however our dedication to learn new topics will lead us to overcome this obstacle quickly. For more information on the software and hardware being used in this process, please check the links below.
Other Helpful Resources:
Initial Script (Written by Will B.)
September 10th, 2016
The issues regarding the computers were finally resolved. I was clicking on the option to upgrade to Windows 10, not realizing that this option specifically requires an existing operating system on the hard drive. After going in circles, I figured out that you have to choose the option, “Custom install (advanced)”. While the “advanced” after the custom install can make this option seem quite intimidating, it is actually the only way to install a brand new copy of Windows on a freshly built PC– not the best design choice. After going through the usual install process, I was taken to the Windows 10 home screen and desktop. From there, I quickly went to the nVidia and MSI websites to install the needed drives for the computer and after installing the drivers, the computer behaved as it should. However, if a video card is installed in a PCI slot but doesn’t have any drivers, the computer will revert to the integrated graphics card (if there is one) on your CPU, leading to weird screen glitching.
With these issues finally resolved, I am looking forward to fully taking advantage of the new hardware that WISRD has.
September 4th, 2016
I am continuing to work on the issues with the four computers I built during the summer. After numerous instances of testing and failing, I have finally figured out the problem: there is a missing driver on the hard drive, preventing an drivers from being installed on the computer. The issue with this is that their is very little online support for hard drives, especially with drivers. In my experience of building over five computers, I have never encountered an issue like this. The disks provided in the motherboard product box are still not useful in loading up the correct drivers, as well as USBs. With a bit more research and intricate problem solving, I can fix this problem in by the end of the week.
August 27, 2016
This week, I was working to solve a problem with installing Windows 10 on four new computers. As noted in my lab repair notes:
I attempted to download Windows 10 Pro to the new computers off of a bootable USB drive containing the Windows ISO file. While the computers were able to launch setup following the BIOS screen, they were unable to see drivers on the MSI motherboard disk. I tried three disks (each one of them containing the same drivers that were compatible with the motherboard) and each one of them were unsuccessful.
My goal for the next two weeks is to figure out how to load Windows on the four computers with the correct drivers.
May 20th, 2016
This is the final week of the institute and I have finished my final game of the year. Throughout the year, I have accumulated knowledge in game designed and coding and the screenshots from the project show my growth and improvement from the beginning of the year to now. Using new and complex rendering technologies such as HDR, or high-dynamic-range rendering, to create a more realistic environment. Additionally, using the advanced lighting techniques of refraction and reflection, I am able to accurately create scenes with life-like water reflections, dynamic shading, and object reflection. The Unity 3D engine allows for easy adjustment of the lighting settings within the sidebar menu, rather then having to alter commands in the code. In some of the adjustments, it was as simple as changing the number on a slider that effectively altered an element within the game scene.
With a goal to create the most true-to-life representation of a medieval village using advanced rendering, complex particle effects and well designed prefab objects, I can confidently say that I was able to achieve my goal with this polished finished product. In the future, I want to expand the prebuilt terrain into a game with player interaction with NPC’s (non-player characters) and the environment itself– having the player be able to click on objects and have the objects have some kind of output action. To create interaction, using the Unity 3D engine, you have to set up an input-output event system, where some kind of action done by the player (designated by a script attached to the event) triggers a reaction, or output action (also noted on the script attached to the event). With a very weak knowledge of coding in this field, I haven’t pursued adding this level of player interaction in my applications. I am going to research C++ and C# coding and through some trial and error, I will write scripts and create events that add another layer of depth to my games. As easy as this might sound, the analogy of input and output is just a simplification of a much more difficult, yet absolutely crucial concept in game design.
Looking toward the future and my continuation in WISRD, I want to deepen my general knowledge not only in game design, but also in player interaction, coding, and story telling in a virtual environment. For next year, I want to build off of the project that I already created this year, but bring them up to a new standard that shows a more complex and advanced understanding of game design through the environments I create. Overall, I am very impressed with the progress I made in game development and I look to expand on this in WISRD next year.
May 7th, 2016
This week, the final changes were made on the latest game developed on the Unity 5 editor. In addition to optimizing graphical performance in the game, additional bump-map textures, prefab objects and advanced particle effects were added to create a new level of realism in the game. But with creating more realism makes new problems arise, such as micro-stuttering, screen tearing, and other game changing issues.
After downloading new drivers for the Oculus Rift DK2, I have ran into problems with the system that make it ultimately useless. According to the Oculus application (running on Windows 10 OS), the config utility doesn’t support the DK2 and on the Oculus website, it doesn’t include any other applications for the DK2 at this time. Due to this problem, I am unable to conduct any more tests or develop any new games for this platform until this problem can be completely resolved.
April 24th, 2016
During this week, I mainly focused on developing more software and games for the Oculus Rift VR system using the Unity 3D game engine. As I don’t have the resources or the man power to create my own assets, I have been using assets on the Unity Asset Store, which offers great 3D models, animations, shaders and textures for free or for low prices. Using these assets that I downloaded from the asset store, I was able to build an island village with high resolution textures and bump maps.
Next week, I am going to continue working with 3D textures to create a more realistic game environment for the player. At this point, the scene may be too complex to be rendered with the Oculus Rift attached. To combat this issue, I will be making two versions of the game: one that runs solely on the PC and another that is meant for the Oculus Rift. With so many desktop grade assets (specifically in LOD 0), the computer will have quite a bit of trouble even breaking the 20 FPS marker, which for virtual reality, will cause severe motion sickness. With the Oculus Rift focused version of the game, most of these assets will be replaced with either mobile versions (lower texture density and verts) or lower LOD levels (LOD 2 or 3). With new updates and improvements constantly being made to the Oculus Rift, there is always more things to try and experiment with.
In addition to more work on the graphical smoothness of the game, I am going to work on implementing simple, yet crucial emersion sound effects (such as walking and the movement of water). While these might sound easy at first, putting them into a scene and mixing the audio from multiple sources can get very messy and difficult. More research needs to be conducted to learn these essential audio mixing techniques before putting sounds into the game.
Spring Week 10: March 12th, 2016
This week, some of the final arrangements are being made for the SmalLab project such as creating the animations, scripts and sounds that play when an object is interacted with. I contacted the middle school kids I was working with to help us develop the code for the game and schedualed a meeting, but they failed to show up. I am going to follow up with them to make sure they are still going to work on this project in the coming week. While stress levels were starting to lower as I was nearing the completion of the project, I encountered a pretty severe glitch within the Unity editor that is preventing me from opening or editing the project entirely. I have sent a ticket into the Unity tech support people through the debug software on the computer however, a followup email may be require if I am going to fix this issue quickly.
When the SmalLab project is completed, I am going to put more effort into VR game development and figuring out different ways to make games of this nature. I have listed a few sources on the Oculus page that I will use to help guide me in the design and construction of these games.
Spring Week 8: February 27th, 2016
This week was the first week where I incorporated STEM curriculum into my regular classes for school. In this presentation, I went over the basic components (what would’ve been discussed in a Computer Science 101 class in colleges) and gave demos on the latest improvements on advanced computer rendering and VR (virtual reality) technology. While only lightly touching on these topics, I was able to grab the interest of my classmates to be more curious and to ask questions about things they wondered regarding computers. Especially during the virtual reality demo, I was able to draw “oohs and ahhhhs” from the crowd at how immersive the gaming experience was. With only a total of 20 hours put into the VR demo game and with the reaction I received, I am more inclined to make these games into the future. Additionally, based on the feedback I received from this project I am looking forward to doing more STEM related presentations in my classes. Hopefully, from doing these presentations, WISRD will acquire new, extremely talented members in the STEM field. In the future, I also look to be involved in more speaking opportunities as I become more comfortable with public speaking and talking about STEM learning.
With the SmalLab final deadline approaching for the educational game, I am quickly scrambling to assemble a team that can complete the coding portion of this project. Until then, it is going to be very difficult to complete and polish this project to the standard it needs to be at for distribution. The coding involved will be related to the Unity 3D (version 5.0) and will likely be in the c++ and c# coding languages. After investigating Wildwood for potential candidates for these positions, I found a few middle schoolers who could fill these places. However, I want to conduct a short interview to determine whether they have enough knowledge, experience, and overall collaborative skills needed for this project.
Spring Week 7: February 20th, 2016
This week, I conducted my very first gameplay test with the Viking scene for the Oculus Rift VR system. While conducting some tests with the Oculus Rift, I discovered few bugs while running the game. Some of these bugs were frame rate drops, inaccurate camera tracking in some areas, and messed up physics colliders that prevented players from moving properly. Specifically with frame rate drops, I noticed that when there are an excess of particle systems running in the editor (such as fire and rain at the same time), the frame rate on the Oculus starts to drop to uncomfortable levels. With this in mind, I have to take into account the amount of particle systems and prefabs running in the instance to eliminate potential game breaking lag. At this point in the game development, all the assets in the game are pulled from the Unity Store (which does provide some really spectacular assets for free). However, as I move deeper into development, I want to begin to design and draw my own assets for the game. The only issue that I run into is the lack of prefab and model optimization for SketchUp object in a Unity scene. While there is no way to combat this issue currently, I am going to be taking a look into ways to solve this issue in the current weeks. At the game’s current stage, the game runs at a smooth 60 FPS (frames per second) even with 2k and 4k textures (included spectacular and bump map files).
For the first official test of the Oculus Game, I am going to export the game as an .exe (Windows executable file) and run the game with FRAPS (A screen recording program) to track the level of FPS. When the results of the game are gathered and assessed, I will change and modify the game in relation to the results. Hopefully, after going through and testing all areas of the game, I can change the game so it runs most optimally as possible.
With the SmalLab game, the images are being drawn up and inserted into the game tiles and tested for quality and rendering speeds. As soon as this is done, more work can be done in coding and optimization.
Spring Week 6: February 13, 2016
This week, a number of tests were run with the Oculus Rift DK2 and the newest scenario that I made in Unity 3D a few weeks ago. From conducting these tests thoroughly, we discovered some very interesting things. For example, I found out that the computer can only handle one Oculus Rift game running at a time or the computer will “blue screen”; it will say that there is a lack of memory and the computer must shut down as a result. The reason this error occurred was because the application wasn’t opening properly so the shortcut was clicked too many times, too many instances of the application were launched, and the computer crashed as a result. After running the application with one instance, it can be determined that the RAM is absolutely sufficient. However, it still needs to be investigated why the computer crashed running two applications because the cause needs to be documented and taken into account when later experiments are preformed.
Working forward in terms of memory, I need to get better at using less polygons, less shaders, and lower resolution textures in the scenes to increase the frame rate of the game and lower the chance of motion sickness from game lag. By doing this, the video card (the GTX 980 in this case) can be better optimized to run these applications and therefore, limiting the number of editor crashes do to the over strenuous use of the card. As surprising as this may be (that the GTX 980 has trouble running any application), I have realized throughout my experience with the Oculus Rift that, the games are incredibly graphically intensive programs that push both your GPU and your CPU to their operating limits. That being said, if you want to run applications on the Oculus Rift or any other VR platform, it is undoubtedly imperative that you must have a extremely powerful graphics card that can handle the system with ease. If this is not that case, the experience of playing VR will be at the best, nauseating and will likely crash your computer as well.
With the SmalLab Game, the first draft of the game storyline is being drawn up and reproduced in the Unity 3D editor. While the layout is being transferred in and tested, without the code that makes the game come “alive”, I won’t be able to test the game in its most functional state.
Spring Week 5: February 7, 2016
After working for countless hours, testing every possible solution, the Oculus DK2 finally is working with the computer. The solution was easier than than I thought: just plug the USB (the one that comes directly from the headset) into a USB 3.0 port on the back of the computer (Preferably, closer to the bios port). Once that was finished, I downloaded the oculusconfig.exe file from the Oculus VR website and then ran the demo scene. In total, it most likely took a total of 10 minutes to setup and get it running. The integration with the Unity 3D editor is easy as well; there is a Oculus DK2 integration utility for Unity 5.0 on the oculus website as well. This utility allowed easy use of the Oculus Rift with any type of game in Unity. To my surprise, the games ran very well with no hiccups in the presentation or pixilation issues. However, I noticed that there were a few times where the camera had trouble focusing in on objects. As I begin to learn more and become more aquatinted with the Oculus rift and its technology, I will be able to work out this issues.
Since the Oculus Rift has now become a development platform for me, I want to investigate this technology more and start to create some small simulations and games that give me an idea of the capabilities of VR and the impressiveness factor that it can provide to the player. For example, when testing the Dawn Mission game, I noticed that especially when playing in the oculus rift, the player can really get an idea of the size and scale of objects in space (Ceres in this case). If i can combine the technologies in the Oculus rift system with some rendering changes and overall gameplay enhancements, I have no doubt that this game will be a great virtual representation of the actual NASA Dawn Mission.
This coming week, some more testing will be done with the Oculus Rift and some sample games will be created as a result of the testing. However, to perfect these simulations could take quite a bit of time. Eventually, I would like to also use the CryEngine Pro Editor for VR gaming as well (specifically for environmental simulations). With the combination of the spectacular graphics of CryEngine and the Oculus Rift platform, this could make a very interesting combination.
Spring Week 4
A lot of progress was made on the SmalLab game this week and I am moving towards creating the finished product but there are still a few things that need to be resolved before the game is finished. I have had a lot of trouble coding with C++ and C# in Unity 3D so I have been investigating the high school and middle school for people who might have some prior knowledge in this area so we can include them in the team of designers for this project. As soon as we find the right person to fill this gap in the team, we will start making a lot more progress on the SmalLab project. Also, more PNG images have been added to the grid tiles for the garden game but a few more assets and images need to be created in the coming weeks to insure the game is at the best visual quality possible. While going over and checking the very first draft (build 1.0) of the SmalLab game, I noticed that Unity have the capability for cloud builds. What this means is that when a new change or alternation is made to the project, the newest build of the game is then packaged from the Unity 3D editor and then stored in the Unity Cloud services. However, the setup for this service is quite difficult and will require some more attention in the coming weeks to make the process fully operational and usable. Additionally, some programs will need to be installed that work in conjunction with the Unity Cloud Services. I have exported the current game build to the desktop of the WISRD 5 computer in both .exe (for pc users) and a .app file (for mac users). The preference and optimization of this application is unknown and tests will be run in the coming days to figure out what needs to be changed in respect to rending settings and shaders. As soon as all of these pieces are put together, I expect a finished product in around 2-3 weeks, assuming that I can find another person in the middle school or high school that knows Unity-related code.
Spring Week 3
During class this week, some very intriguing and promising designs for the SmalLab game were created and discussed about during a weekly progress meeting. The design that was most agreed on was an area and perimeter game based on the idea of conceptualizing and building a garden using snap-to-grid tiles. With these tiles, the kids or adults playing this game can easily create a space and figure out the area based on the grid spaces filled by these tiles. While this idea hasn’t fully taken shape, a visual representation of this idea is being created to get a better sense of the final product. As soon as this concept is finalized, official production of the game will begin and I will start to get a better sense of what is trying to be done in terms of coding (player interaction between objects specifically) and asset development. I have been working closely along Joe to help develop and modify this project so it better suits the needs of our client in Pittsburg.
In regards to asset development, only preliminary sketches have been made of trees, apples, and other vegetables and plants with rough designs that need to be revised and perfected as the project moves along in the development process. The development team has currently been using a pen and paper to draw the pictures and then scanned them into an image file. However, for the highest possible image resolution, the pictures will need to be drawn in a more professional imaging program where the picture can be directly converted into an image file. Also noted by SmalLab, the use of sound in their educational games helps immerse the player into the game even more so. That being said, work needs to be done in development these game sounds but having no prior experience in this type of work, development will take a few days.
Spring Week 2
Greater effort was put into the open world game and the first successful build of the game was generated and tested this week; this test yielded some very impressive results. The game represented something created by a professional game studio; I am very proud of the product I was able to produce. With better shadows, driving mechanics, and weather effects, the game accurately mimics real life. More work is needed to improve rendering settings and manage the frame rate so the game is able to run on less expensive and less powerful computers. Once the terrain is created and all the missions are coded into the game, I will pursue different rendering options; this will hopefully create a smooth experience on every type of computer. Screenshots were also taken of the game and are attached in the on-campus submission. In the future, after I finish all of the other projects, I really want to pursue the open world game genre and continue producing and perfecting the game.
We are trying our best to create the SmalLab game but are still limited by our knowledge in the code needed to create this game. Some of the code that we need to learn enables to make the game function as it is supposed to- make objects interact together, a math box that calculates the perimeter of the blocks on screen, etc. We are planning to meet with the head of coding at SmalLab to learn a bit more of the coding.
Spring Week 1
The SmalLab project is finally beginning deeper development this week as a team is being created to assemble the game, create the assets, and finish the coding evolved in the project. Research is being conducted online (unity forums particularly) to figure out how to code in all the elements needed for this game. For example, I am trying to figure out how to implement a “snap-to-grid” feature where the user can easy place the tiles on the grid to make simple shapes. Additionally, a perimeter calculator is also being created but will involve quite a bit of advanced code to make it work correctly. Currently, the assets for the game are being created in photoshop and then exported in a PNG file to be placed on the grid in the Unity 3D editor. With a deadline fast approaching, I am doing the best I can to produce a game that is in a functional and playable state when the time for submission comes.
Not much progress on the dawn mission game has been made as I have focused back on the production of the SmalLab learning games. While I have some rough screenshots for the Unity editor, much work is still needed to improve the game’s stability, graphics, mechanics and controls. Overall, the game is in a poor state right now and unfortunately, not much time can be allocated to fix it for a few weeks until the SmalLab game is submitted.
In the open world game, substantial progress has been made on the game environment, AI interaction, shadows, and general gameplay mechanics. The game runs smoothly at 200 fps when the computer is set to high power consumption. However, when the computer is set to normal power consumption, the computer surprising struggles to obtain greater than 50 fps. The problem of graphic settings needs to be investigated so lower power machines will be able to run the game with minimal graphical hiccups. In addition, asset design and importing has been an issue as we are having problems with objects in Cryengine. As I am begging to learn the way the engine functions, I am able to produce better in game content than before. A few bugs need to be worked out (such as: dropping trough the word unexpectedly) but the game is in a playable state currently. In the future, I want to pursue this genre of open world games because it draws my interest of creativity, design and storytelling into one, cohesive piece of work.
Fall Week 1
My first week at WISRD has been great. A fellow colleague and I are working on a project using the 3D rendering and game design program Unity 3D. While having some slight prior knowledge, I am going back to the basics and teaching another member of the institute how to use this program. Our final project, making an open world game, while daunting, doesn’t fear me in the slightest because of the confidence I have in my peers and my ability to accomplish tasks suited for people well above my age. Overall, I am excited to see where this project takes me, what I learn from it, and how I can apply that new acquired expertise to something else I find interesting in the future
Fall Week 2
I am continuing to learn more and more about the Unity program and its “ends and outs”. Another member of this institute is also working with me to produce a open world video game using this game engine (Unity 3D) and the Small Lab 3D animationn creator. We have run into a few issue with the computer and its opporation but as soon as we get it up and running, we will get back to learning how to use these programs effectively. Felix and I hope that we will be able to produce a great looking game within the coming months and are excited to see where this project takes us in the future.
Fall Week 3
This week, I learned more about the process of creating UI, physics/particle effects, and developing convincing, life-like terrain in Unity. I am hoping to get the computer back and running again soon so I can use my new information on creating the open world game, supposedly set in a forest covered peak (TBD). This new game we are building we not only give people a window into what mountains in the European area look like, it also will teach people how a game is made (hopefully inspiring the confidence for others to do the same).
Fall Week 4
This week, I finally fixed the computer so now it is up and running like normal. I am working on a new project which involves taking a virtual nose from Minecraft and putting it into a Unity to create an immersive, 3D tour of the nose for use in science classes. While i don’t have very much experience 3D modeling, I am excited to learn how and use this experience to create new objects for video games i will create in the future.
I am hoping to take these learnings of Unity to be able to create more educational reasources for teachers in the future. Not only will this let the students viewing these 3D tours become more imersed in the thing they are studying, it will also spark and intrest into how I actually made this type of animated tour. For an example, In science classes, we could build a model of the human body with organ and bone structures; with this, the students could dive deeper into the actual body functions as well as what the organs inside their bodies actually look like.
Fall Week 5
This week in advanced topics, Harry, Felix and I were able to accomplish something with the SmallLab that no one else was able to do; get the program to work with another motherboard besides a Z79 version. Not only will this make this software and equipment more accessible to a wider range of users, it also would save money for other institutions that are looking to implement this learning resource in their curriculum.
Along with this discovery, I was also able to figure out how assets work using physics and how they interact with their terrain in Unity. Know how to do this will open up so many other opportunities to create software with more advanced and life-like movement; very important in making an type of science related application for school use. Connecting this back to a few months ago when giving another teacher from across the country a tour of the STEM lab I designed, I mentioned to her how the interest of students, whether it be pre-existing or developing, is the most important part in having a successful learning environment. Even just setting up the SmallLab, I noticed the extreme curiosity of the younger kids observing me and could sense a spark of inspiration in their minds.
With this software, I believe that it will not only get kids interested in the making of video games and complex animations, it will also make them think how this can be used for other things in school (for example, making a project for science class).
Fall Week 6
This week, I devolved deeper into using the small lab and the many intricacies involved to make it work properly. For example, a person must first wand the cameras to the raise sample rate before they actually calibrate the system. In addition to this, we also showed off the SmallLab during lunch- letting some of our peers get to experience the revolutionary technology; we were very happy with the reaction.
Responding to such success, I decided that this would be a great way to ad an extra layer to my school projects. In Spanish class,I am doing a research project where I am going to program a game that shows the culture and influence of spanish-speaking people in New York. In addition to this, other member of the institute and I are going to be making a virtual piano for the music class where multiple students can play a song together in a 3D space (the SmallLab).
Through using this SmallLab system, I intend to learn more about the ways I can apply my knowledge of programming and this new system to projects for school and applications to enrich the learning and interest of other students at this school. Most of the apps I will be producing will be based off of the default, included applications but as I become more comparable with Unity, I will begin to make the applications for advanced and complex but still working towards the same two objectives I mentioned before.
In the next couple of weeks I am working in this institute, I hope to produce about 2 applications that I can send to the teachers to use for their classes during the year.
Fall Week 7
This week, I was able to take a glimpse into the complex coding of making a game for SmalLab. However, with the help of youtube, I was able to created some basic template which could be used to make any game for the SmalLab System. While it is going to take an extensive period of time to master the technique of motion tracking programing, once i finally do, I will open up so many ways to use my knew skill to better the learning of myself and others.
I have proposed to a couple of my teachers that i could produce a interactive study tool that the kids will not only have fun in, but will learn too. From my experience, kids who are immersed and interested in a certain topic always learn more than those who aren’t. This way, the kids will be able to play a fun game, while learning content on their next Demo or lecture. It would be an incredible resource for the teachers and because of this, I am hoping to program multiple educational applications that could be used for learning.
An educational application is always thought of something that is boring and makes students fall asleep in there chairs. With the new technology provided in the SmalLab system, I could eliminate both. This way, I could build, for example, a matching game where certain paintings of historic figures were on one side and a few words of something they did that was significant the students would have to identify which things matches.
The learning outcomes for this project are: increasing my knowledge in interactive game programing and unity code language, to support teachers by providing educational resource to better the learning of their students, and to teach others about game design.
Fall Week 8
This past weekend, I had the pleasure of attending the Innovate.LA event where I presented the projects I was working on. In the morning, I demonstrated the SmalLab and talked with other parents and teachers about the ways the technologies provided by the SmalLab system could be used in education. I also got the chance to communicate with a few of my current teachers about the SmalLab and how I was working on applications to be used in their classes.I received an overwhelming amount of positive feedback from the participants, motivating me to work harder to produce educational games.
I am continuing to make progress on my SmalLab game for Humanities and I got a chance to show some of the people who came to Innovate.LA the game I had created. While it wasn’t great by any stretch of the imagination, it still game the audience a good sense of the things to come; they were excited to see the way our classes could use these applications. While I had my mind set on a select few of games I could created, I also got a ton of recommendations from my teachers such as the following: a function game where a person would pick the right number to insert into a blank; a game that illustrated the bonds created by atoms during a chemical reaction; and a bunch more.
I was excited to hear all the great feedback we got about the SmalLab and the numerous projects we were pursuing. As soon as I learn a way to create a basic template for these games, I will be able to create applications in a very small amount of time. However, in order for me to do this, I have to learn the basics of C+ and C# coding languages for Unity. Within a week or so, I will have this mastered and will be able to apply this knowledge towards the production of motion games as will as other projects in the future
Fall Week 10
So far in WISRD, I have been able to create 2 working games in Unity and one slightly functional game that is still in development for the SmalLab system. I am continuing to make progress in my knowledge of coding in C++ and C#, my ability to navigate a game engine, and my growing aptitude for creating more realistic environments with great lighting and terrain. However, I still have a lot things I need to learn to effectively create games in a shorter time frame and with better graphics and physics. In the coming months in the institute, I hope to greater pursue the technology of the SmalLab and create an open world game in Unity 3D. In addition, I am going to work on making environments for the oculus rift.