1/6-16
Jan 6 - 16
This week has been different from previous weeks. I am now splitting my time between two projects; Trespasser and the 2020 Creative Jam prototype. So far this has been a 75/25 split of my time; Trespasser / CJ prototype.
For trespasser I have been working hard to get it done as fast as possible as I would like to finish it before the year is over. I started out the week with a new feature: the backpack. We realized it would be nearly impossible to complete the game while only being able to have two items at a time, one in each hand, so we decided that a backpack with multiple item slots would be the best fix. For the most part it was pretty easy, just attaching the item to a socket when it overlapped and attaching the backpack to the back of the player's head when they store it. The only thing really to note about this implementation was that we used an enum to store a value of what was in each slot. This was done to future proof the game for an eventual save feature. In making the backpack function this way we can (hopefully) respawn the same items in the same slots with the same stats.
The next update to trespasser came with the fix for teleporting to places you shouldn't be able to. This was again very simple and I wonder why the people at Unreal didn't build it in this way to begin with. Essentially, the problem was that when the teleport arc collided with something (eg. a wall or ceiling), it was possible that the actual teleport location would be moved up or down, teleporting the player somewhere that neither they nor the level designer intend them to go. This was fixed by comparing these two points (end of arc and teleport position) within a acceptable distance, and if they weren't close enough to each other, the game will not let you teleport.
The Trespasser team also addressed the problem with building the game today. The issue being that in UE4.24 if a game is packaged, the hands will not track to the controllers or accept input. We did some tests that involved making fresh VR templates in different UE versions to figure out where the issue had started. We found that, all else being equal, a packaged project from UE version 4.24 would result in the issue, whereas 4.23 and before would not. This confirmed to us that it was in fact an engine problem and not something that we had screwed up. Our solution to this problem is to ether wait for 4.24.2, or to build the engine from source and hope to find the fix already implemented otherwise we have to find it ourselves.
Now for the Creative Jam prototype. It is always really fun starting a new project after working on another project for so long. The first thing I added was a simple AI monster. Still using UE stock models, the monster will patrol between manually set actors (in the future I plan for this to be automatic). The monster also has simple sight and will chase a player when they are seen. If the monster gets close enough it will attack, dealing a set amount of damage every interval. I then gave these monsters health and a healthbar widget that would appear above their head if you looked at them. The current problem is that if one player looks at the monster, the UI will appear for all players. This will hopefully be fixed soon. I then added a way to deal damage to the monster. I learned that the actual dealing of the damage had to be done on the server-side for all of the clients to see the same health value. When the enemy reaches 0 health it will despawn and leave behind a lootbox that will eventually contain items that the players can pickup.
This week has been different from previous weeks. I am now splitting my time between two projects; Trespasser and the 2020 Creative Jam prototype. So far this has been a 75/25 split of my time; Trespasser / CJ prototype.
For trespasser I have been working hard to get it done as fast as possible as I would like to finish it before the year is over. I started out the week with a new feature: the backpack. We realized it would be nearly impossible to complete the game while only being able to have two items at a time, one in each hand, so we decided that a backpack with multiple item slots would be the best fix. For the most part it was pretty easy, just attaching the item to a socket when it overlapped and attaching the backpack to the back of the player's head when they store it. The only thing really to note about this implementation was that we used an enum to store a value of what was in each slot. This was done to future proof the game for an eventual save feature. In making the backpack function this way we can (hopefully) respawn the same items in the same slots with the same stats.
The next update to trespasser came with the fix for teleporting to places you shouldn't be able to. This was again very simple and I wonder why the people at Unreal didn't build it in this way to begin with. Essentially, the problem was that when the teleport arc collided with something (eg. a wall or ceiling), it was possible that the actual teleport location would be moved up or down, teleporting the player somewhere that neither they nor the level designer intend them to go. This was fixed by comparing these two points (end of arc and teleport position) within a acceptable distance, and if they weren't close enough to each other, the game will not let you teleport.
The Trespasser team also addressed the problem with building the game today. The issue being that in UE4.24 if a game is packaged, the hands will not track to the controllers or accept input. We did some tests that involved making fresh VR templates in different UE versions to figure out where the issue had started. We found that, all else being equal, a packaged project from UE version 4.24 would result in the issue, whereas 4.23 and before would not. This confirmed to us that it was in fact an engine problem and not something that we had screwed up. Our solution to this problem is to ether wait for 4.24.2, or to build the engine from source and hope to find the fix already implemented otherwise we have to find it ourselves.
Now for the Creative Jam prototype. It is always really fun starting a new project after working on another project for so long. The first thing I added was a simple AI monster. Still using UE stock models, the monster will patrol between manually set actors (in the future I plan for this to be automatic). The monster also has simple sight and will chase a player when they are seen. If the monster gets close enough it will attack, dealing a set amount of damage every interval. I then gave these monsters health and a healthbar widget that would appear above their head if you looked at them. The current problem is that if one player looks at the monster, the UI will appear for all players. This will hopefully be fixed soon. I then added a way to deal damage to the monster. I learned that the actual dealing of the damage had to be done on the server-side for all of the clients to see the same health value. When the enemy reaches 0 health it will despawn and leave behind a lootbox that will eventually contain items that the players can pickup.
Comments
Post a Comment