Code Monkey home page Code Monkey logo

dream's Introduction

Dream

(our project is too big to upload it to github, so we upload it to onedrive。。It may take a while to wait if you need to download)

Game Title: Dream

Game Engine: UE5.1.1 & 5.0.3

Team

Kunanbayi Shugela: 22044265

Chao Qin: 22017368

Yue Zhan: 21032825

Kun Ouyang: 22010243

Yunfan Guo: 22039409

Jiayue He: 22012108

Final Presentation:

p1

p2

p3

p4

p5

p6

p7

p8

p9

p10

Concept

"Dream" is an immersive VR experience game where players assume the role of a dreamer and explore within the dream world. Players will venture into a dream-like environment filled with seemingly rational yet inexplicable events and scenes. By exploring, they will uncover hidden plot Easter eggs within the game's progression, gradually unraveling the complete storyline of this dream world.

Inspiration

We drew inspiration for this game from two dreams.

Dream 1:

A group of people went on a trip to a remote town, where the relatives of one of the companions lived. In the narrow alleyways, there was a group of elderly people, each with some form of disability, mostly facial disfigurements. The relative of the companion was an elderly woman dressed entirely in black, with her eyes covered by a black cloth. The town's men were all required to join the war effort, and due to the hasty recruitment, only a few managed to return, most of them with severe disabilities. Later, a doctor arrived in the town, carrying a black box (ITeM). If people made a wish, they could undergo limb transplants, sacrificing their own organs to obtain functional limbs. Initially, people only sacrificed their eyeballs to regain the limbs they lost in the war. However, they gradually started engaging in trades and crimes, using kidnapping and violence to forcibly transfer limbs and eyeballs from others to themselves, using these spare body parts for trade or engaging in even more violent acts. As a result, the number of deaths increased, and those who obtained spare organs often dreamed of living together with the deceased. (From Kun Ouyang)

Dream 2:

During a training program I attended, we had an extracurricular activity to visit a theater. As we walked to the backstage area, it resembled a large warehouse with shelves dividing the space. Directors and actors stood in each section, discussing the script. We joined them in the discussion. As we passed through the shelves, I noticed many familiar faces of my former classmates, but they seemed to not recognize me. I found it strange but continued discussing theater with the directors. After a while, feeling exhausted, I took a rest on an oil drum near the door. In a daze, I overheard them calling for everyone to gather, but I hesitated to respond. Soon, a person approached me, expressing a sense of unease about the situation. However, before I could inquire further, the director loudly called us to gather, stating that we had to continue rehearsals over the weekend and couldn't rest. Thanks to the warning from the person, my guard was up. The person then gathered my high school classmates, who surprisingly regained consciousness. We realized that we had gotten lost in reminiscing about our high school days. We began to search for an exit and ended up in what seemed like a large abandoned factory. As we continued walking and chatting, one of my friends mentioned needing to use the restroom. They walked in a different direction, and I saw a male classmate trip and fall after reaching a giant rock. I rushed over to find his head and arms bruised, with a panicked and fearful expression. I fetched band-aids, but to my surprise, all his injuries had disappeared when I arrived, and he asked me with a smile, "How did you get here?" I sensed that something was off. How could all his wounds vanish so quickly? As I returned to my luggage, fear gripped me, and with that fear, I noticed things I hadn't seen before. Along the roadside, in the wilderness, and near dilapidated houses, there were scattered corpses of mermaids—some mummified, some decaying. My fear reached its peak, and I shouted. My friends gathered around, asking what had happened, but they didn't seem concerned. The classmate who had tripped and fallen also smiled without any injuries. I noticed another left-handed classmate who now seemed more inclined to use their right hand. I was terrified, feeling that these people were not my classmates. In a trembling voice, I yelled, and as I shouted, "my friends" transformed into hideous mermaid faces. I sprinted forward, desperate to escape these horrifying beings, but fear weakened my legs, causing me to stumble and struggle to run. Finally, I fell onto a large bundle of fabric, sitting as I pushed myself backward. They slowly closed in, and as I stepped on something, I was propelled into the air, ultimately crashing into a train station. Without hesitation, I rushed towards a departing subway train and boarded it. Staring out the window, I worried that those grotesque mermaids would catch up, but they didn't. Instead, many villagers were at the station, carrying various items, preparing to board the train. Finally, the train started, and after passing through a narrow passage and taking a turn, I began observing the villagers around me. Sitting next to me was a person of my age, wearing blue camouflage clothing and carrying a large backpack. They mentioned having just finished military service and were now heading home. Hearing this, I shivered. Inland, there was no sea. How could there be military service here? Why would someone return alone after completing their service? Why did it feel like everyone was occasionally looking at me? Why was I the first one to board the train? Where was this train really taking me? Was I truly safe? (From Kunanbayi Shugela)

We combined the two dream scenarios and discussed to create the following complete story.

Chapter1: War Unleashed

The player awakens in a trench, recovering from unconsciousness. NPCs dig them out of the soil, surrounded by the sounds of explosions and the chaos of war. -The photograph on the player falls to the ground with a doctored look. The player picks up the photo and continues to escape with the NPC. (The player can jump and observe the war-torn environment but cannot jump out of the trench. At the end of the trench, there is a bus with its doors open.) (Upon escaping, they discover that it was actually a movie set.)

Chapter 2: The Mysterious Tram

The player and NPCs gather at the end of a trench and board a London bus. Before boarding, the player notices a wounded soldier sitting in the dark corner of the bus's back seat. There is no driver, but the bus continues to move. (The player can freely move around the bus and during the activity, they can see a film studio in the distance.) (The bus starts moving, lasting about 10 seconds.) As the player gets off the bus, they notice that the wounded soldier's legs have transformed into a mermaid tail, setting the stage for the upcoming scene. (Program requirements: The lights dim, and the soldier's legs turn into a mermaid tail. Then, the lights come back on, accompanied by the sound of bones growing.)

Chapter 3: The Strange Warehous

After getting off the bus, the player enters a warehouse, and the warehouse doors close. The player enters a large warehouse where props are stored, and many NPCs are busy inside. OS: These people are all the ones in my photos. The player attempts to interact with the familiar people in the photos, using flashbacks and blinking to determine if they are mermaids. They notice some clues, their sanity (san) decreases, and the warehouse doors open (forcing the player out). After leaving the warehouse, there is a sprint, and when the player gets tired, player stop to rest on the road. They realize that the photos are missing. At this moment, three people approach from behind (one of them naturally disabled, missing an arm), and they return the photos to the player. During the exchange, the player notices that all NPCs are blinking, indicating that they are normal people. Feeling exhausted, the protagonist decides to take a rest and lets the three of them go ahead. After resting, the player continues on the journey and encounters the previously disabled person again. During the interaction, they notice that the person no longer blinks and their disability has been cured. The sanity decreases, and a black mermaid tail appears behind them, starting a chase.

Chapter 4: The Escaping Bus

The player rushes towards a bus that is about to depart and is allowed to board by an elderly ticket seller. The player is worried about being pursued by mermaids, but once the bus starts moving, the villagers around them sit quietly. The player sits next to a person who has just completed their military service (missing legs) and learns that they are heading back home.

Chapter 5: The Violent and Sacrificial Village

The bus arrives at a remote village where people exchange their eyelids for limbs or communicate with the dead. People engage in frantic trading and criminal activities, leading to an increasing number of deaths. The player discovers that people have started trading eyelids in order to communicate and live with the deceased. Upon exploring a church, the player encounters a doctor (plague doctor) with a parchment on the table containing the rules. After closing the reading interface, the player realizes that the doctor has approached them from a distance, causing a decrease in sanity. The church becomes filled with corpses, bones, and bloodstains, and the screen gradually turns black. Once the screen is completely black, a sentence appears: "Someone is waiting for your eyelids." After taking off the VR headset, a person wearing a mask stands in front of the player.

Game Style

The game style incorporates elements of Gothic, Medieval, Lovecraftian, andAnti-war themes.

1

2

3

4

5

6 7 8

Game Mechanics

In the game's setting, the player enters a dream world, so there is no dialogue, and the player's next action is instructed through self-reference.There are four scene transitions in the game: Battlefield, Subway, Warehouse, Village, Escape Route, and Church. There are no additional cutscenes during scene transitions, allowing the player to freely move and smoothly transition from one scene to another, maintaining full control over the game's progression and exploration pace. This ensures a seamless and coherent gaming experience. When encountering specific events in the game, the player's sanity value will decrease, resulting in visual effects such as dark mist, distorted text, heartbeat sounds, screen filters, ringing in the ears, and more. These effects allow the player to experience the psychological changes of the character, further enhancing the depth and immersive nature of the game.

Development Process

We have organized, adapted, combined, and innovated the stories of the two dreams using Google Docs, UE5, and Xmind.

Week1: Project Kickoff and Concept Finalization

This week marks the first week of our development of a VR game in UE5 focused on immersive experiences. To begin, we gathered the entire team for a project kickoff meeting. During the meeting, we clarified the project's goals and vision and defined the game's concept and core elements. We decided to develop an experiential VR game where players can explore the virtual world by touching, grabbing, and interacting with objects in the environment. Throughout this week, we started detailed concept design and requirements analysis. We discussed the level design, game mechanics, user interface, and other necessary aspects of the game, and created initial sketches and conceptual prototypes. Additionally, we established the project's development plan and timeline. In summary, the focus of this week was to establish the direction and objectives of the project, and define the game's concept and core elements. In the following weeks, we will further refine the concept design and begin developing the actual content of the game.

Week2: Concept design and scene construction

This week, we continued our work on concept design and game development. Based on the discussions and sketches from last week, we delved deeper into level design and game mechanics, and started creating a game flowchart to provide a clearer representation of the overall structure and gameplay of the game. Simultaneously, we made some attempts at concept art, but later realized that we could directly proceed with scene construction to visually showcase the game's environments and atmosphere. Leveraging the powerful tools and resources provided by UE5, our team members began working separately to create several key scenes in the game. During the process of creating these key scenes, we also developed the game's flowchart and further refined the level design and game mechanics based on it. Next, we will continue with scene construction and gradually refine the game's details and interactive elements. Additionally, we have started learning about blueprints to prepare for blueprint linking in the future.

Issues:

1.Regarding the issue of permissions with student accounts causing the school's public computers to be unable to use the Unreal Engine, a possible solution would be to purchase VR devices independently. By having your own VR equipment, you can use it with your personal computer or a computer that allows the necessary permissions and access to install and run the Unreal Engine.

2.If the lack of a DisplayPort to HDMI cable is preventing you from using the school's public computers.

游戏流程_00

Week3: Scene construction and blueprint development are being carried out simultaneously

This week, we continued our work on scene construction and blueprint development. The focus was on merging the scenes created by different team members and resolving any issues that arose during the merging process. However, we encountered some challenges during the scene merging. One major issue was the overload on the computers due to the size of some models. To address this problem, we started optimizing the models. By reducing polygon counts, adjusting material and texture resolutions, and employing other methods, we were able to reduce the complexity of the models and improve the performance of the scenes. Additionally, we began optimizing the models based on the game flow. According to the game's requirements, we made adjustments to the scene layout and model details to enhance the game's playability and immersion. Simultaneously, we continued with blueprint development to implement the interactive logic and functionality of the game. We integrated the blueprints with the scenes and conducted testing and debugging to ensure smoothness and stability in the game. The focus of this week's work was primarily on scene merging and model optimization. Through optimization and adjustments, we were able to better control the performance of the scenes and align them with the game's requirements. Moving forward, we will continue to refine the scenes and blueprints and gradually conduct testing and iteration to ensure the highest quality and user experience for the game.

Issues:
  1. An Unreal Engine crash caused by insufficient memory running on the device's video memory. The solution was to adjust the resolution of model mapping and focus lighting rendering areas, change the one-shot experience to loading levels, and optimize the load of procedurally generated vegetation in dynamic lighting.

  2. ue5 path conflicts between versions prevented the download of Unreal Engine. The solution was to connect to a mobile hotspot (? Strange solution) then switch back to WIFI.

week3 1

3 2

3 3

3 4

Week4: Scene construction and blueprint development are being carried out simultaneously

This week, we continued our work on scene construction and UE5 blueprint development. The team members allocated their focus to these two aspects to ensure the synchronized progress of the game's scenes and interaction systems. In terms of scene construction, we faced some challenges, particularly in rapidly depicting vegetation and reshaping the terrain. To address these issues, we conducted practical experiments and trials. We found that utilizing UE5's vegetation painting tool and terrain editor could effectively expedite vegetation placement and terrain adjustments. By using suitable vegetation assets and adjusting their parameters, we were able to quickly create natural and diverse scenes. However, this also led to a challenge as the terrain editor and vegetation painting tool increased the performance cost imposed by the lighting system. Simultaneously, we proceeded with blueprint development, which is crucial for designing the game's interaction systems and implementing their functionalities. Since blueprints are a relatively complex task, we adopted an online live learning approach. The team members encountered some difficulties during the learning process, but with mutual assistance and support from online resources, we gradually grasped the fundamental principles and application methods of UE5 blueprints and began actively writing blueprints to realize the game's interaction logic. The work this week was relatively complex and technical, but we overcame some challenges and made progress. Next, we will continue our efforts in scene construction and blueprint development, focusing on optimizing and adjusting details to ensure that the game's visual effects and interactive experience meet the intended level of quality. We will also continue to learn and explore the features of UE5 to better support the game's development process.

Issues:

1.In the VR template, the player character's movement speed is too fast. We resolved this issue by adjusting the mapping scale of the input.

4 1

Week5: Blueprint and Scene Debugging

This week marks the final week of developing our UE5 immersive VR game. Based on the summaries from the previous weeks, we have decided to focus on optimizing the scenes to ensure smooth functionality and visual performance. Our main optimizations include adjusting the resolution of texture maps, fine-tuning non-critical areas of lighting, adjusting non-critical dynamic shadows, and optimizing the baking effects of static lighting. In regards to blueprints, we carefully inspected and tested various interaction logics and functionalities in the game. We examined the connections and parameter settings of each blueprint node to ensure they function correctly according to design requirements. Additionally, we conducted multiple rounds of testing and debugging to identify and address any potential issues or errors. Through these efforts, we were able to ensure the smooth operation of the game's interaction systems, allowing players to interact properly with the virtual environment. For scene debugging, we emphasized both detail and performance optimization. We reviewed the lighting and material settings to ensure the visual effects of the scenes meet our expectations. We also conducted performance testing to identify any potential issues or lag that could affect frame rates, implementing appropriate optimizations accordingly. Through debugging and optimization, we aimed to enhance the visual quality and smoothness of the game, providing players with a better experience. This week's work represents the final phase of the entire development process, where we dedicated all our efforts to blueprint and scene debugging. Through meticulous inspection and testing, we ensured the proper functioning of the game's features and aimed to deliver the best gaming experience to players. Additionally, we conducted final optimizations to meet the expected standards in terms of performance and visual effects. Each week of the development process has been the result of our team's continuous efforts, and this final week represents the pinnacle of our teamwork. We will continue to pay attention to user feedback and proceed with subsequent updates and improvements to further enhance the quality and enjoyment of the game.

Issues:

1.The overlapping of too many movable light sources causes the disabling of shadow casting. The solution is to manually adjust the attenuation radius and outer cone angle of each movable light source one by one.

2.The VR character model lacks friction with the ground, causing the protagonist to be unable to maintain consistent movement with the train in the train scene. The solution is to find models with collision volumes to block the character model.

3.For specific character models, specific skeleton structures need to be constructed. Compiling skeleton animations for such models can result in difficulties in binding skeleton animations, preventing certain character models from performing specific actions.

5 1

5 2 2

Week6: Test

This week, we conducted testing for the game and encountered some issues during the process. We focused on testing the game's functionality and user experience to identify potential issues and areas for improvement. One issue we encountered was the stability of the VR connection. We found that in certain cases, there were issues with the connection between the VR device and the game, resulting in players unable to have a smooth experience. To address this issue, we conducted a series of tests and debugging, including checking the compatibility of devices and drivers, and optimizing the VR interaction logic in the game. Through these efforts, we were able to improve the stability of the VR connection. Another issue was computer overload caused by high-poly models. We used some complex models and resources during the game development, which put pressure on computer performance. To resolve this issue, we optimized and compressed the models, including reducing polygon counts and using lower-resolution textures. By optimizing the models, we were able to reduce the hardware requirements of the game, enabling it to run smoothly on a wider range of devices. Additionally, we encountered challenges related to version compatibility and integrating features in UE5.1. Since we were using the UE5.1 version, we faced some difficulties in integrating features and blueprints, as some mappings from older versions were not found. To address this issue, we performed version migration and adjusted the mappings, working closely with team members to resolve these issues. The focus of this week's work was primarily on testing the game and resolving issues. Through testing, we identified existing problems and took proactive measures to improve and optimize them. We also recognized the importance of version management to ensure smooth collaboration among team members and seamless integration of features. Next, we will make necessary improvements and optimizations based on the test results and user feedback to further enhance the quality and user experience of the game. We will also continue to address issues related to VR connectivity and performance optimization to ensure that the game runs smoothly on various devices and provides players with an immersive experience.

Issues:

1.Due to a device connection issue, whenever I reopen Unreal Engine, STEAMVR automatically restarts, causing Unreal Engine to crash. The solution is to prioritize connecting the VR device and then launching STEAMVR last.

6 1

6 2

Tasks

Kun Ouyang : Village scene construction. Concept discussions. Writing logs. Providing . script copy. Collecting concept art. Game detail discussions.

Yue Zhan: Warehouse and church scene construction. Concept discussions. Providing. script copy. Game detail discussions. Photography. Video editing. Writing logs.

Shugela Kunanbayi: Escape road scene construction. Concept discussions. Writing logs. Scene construction. Providing script copy. Game detail discussions. Photography.Video editing.

Chao Qin: Battlefield scene construction. Overall scene merging and terrain editing. Lighting effects and texture optimization. Concept discussions. Collecting concept art. Game detail discussions. Writing logs.

Yunfan Guo: Debugging blueprint functionality. Implementation of blueprint interactions. Writing AI blueprints for character interactions. Concept discussions. Sound effect collection. Game flowcharts. Game detail discussions. Writing logs.

Jiayue He: Escape road scene construction. Concept discussions. Sound effect collection and processing. Scene construction. Game detail discussions. Video editing. Writing logs.

Known Issues

  1. Large seamless immersive scenes perform poorly in VR devices.
  2. Unreal Engine 5's new technologies such as Nanite and Lumen are not supported in VR scenes in version 5.0.3.
  3. In Unreal Engine 5.1.1, there are conflicts in VR controller button mappings due to the transition from old input mappings to enhanced input. This issue was not thoroughly investigated due to time constraints, resulting in some blueprints not functioning in version 5.1. Therefore, certain blueprints for VR characters can only be compiled in version 5.0.
  4. Demonstration videos and screen recordings do not match due to device issues.
  5. Scene overexposure without a known cause. (Possibly due to lack of volumetric fog)
  6. VrPawn's viewpoint is too low for an unknown reason.
  7. Incompatibility between procedurally generated terrain and VR templates results in distorted terrain due to changes in the viewpoint.
  8. VR character models have differences between VRpawn and VRcharacter, with VRcharacter having a physical body while VRpawn does not. This oversight was not addressed due to time constraints, resulting in frequent clipping issues with VRpawn.
  9. Terrain undergoes changes before and after compilation for unknown reasons, causing frequent crashes during terrain sculpting.
  10. Use of Niagara and Cascade systems, even in small amounts, causes Unreal Engine to crash due to device limitations.
  11. Asset merging consumes a significant amount of time and currently has no solution.
  12. Unstable refresh rates causing motion sickness in VR experience.

Future Development

Enrich the scenes: add story-related items, enrich the details and lighting of the screen, focus on the unity of the scenes, enhance the authenticity of the story, make the story more complete and realistic, and allow players to be more immersed in the compelling story. Add interactive plots and eggs: improve the actions of NPCs and increase the immersion of player-NPC interaction. Enhance the fluidity of interactive behaviour in interactive props to give players a better exploration experience. Add technology: Add artificial intelligence and machine learning to provide players with a personalised and intelligent gaming experience, making the game a more engaging and interactive learning experience, with NPCs responding in real time to player actions, providing players with an unprecedented immersive, interactive and personalised experience.

Summary

During the development process of our UE5 immersive VR game, our team embarked on a challenging and creative journey. From the initial concept design to scene building, blueprint creation, and debugging, we invested a significant amount of time and effort to deliver an unforgettable gaming experience. Throughout this process, we encountered various issues and challenges. In scene building, complex models caused computer overload, necessitating scene optimization to ensure optimal performance and smooth gameplay. Additionally, blueprint creation and version management posed considerable challenges. However, through teamwork and perseverance, we successfully resolved these issues and ensured the smooth functioning of game features. Throughout the development process, we gained valuable experience and learned important lessons. We recognized the significance of attention to detail, from overall scene aesthetics to logical blueprint design. We prioritized every detail to create a realistic and captivating virtual world for players. Furthermore, we realized the importance of version control to facilitate seamless collaboration and integration among team members. In the end, we created an unforgettable virtual world for players, immersing them in a realistic and engaging gaming experience. Through collaboration and hard work, our team overcame various challenges and continuously improved all aspects of the game. This development process has equipped us with valuable experience and laid a solid foundation for future projects. Overall, the development process of our UE5 immersive VR game has been a journey filled with challenges and creativity. Our team will continue to strive for excellence, exploring new horizons and innovating to deliver outstanding gaming experiences for players.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.