Weapon Attachments, Foliage, MiniMap, AI, Gore and more! - DLS01E005

posted in ZeroDay Genesis for project ZeroDay: Genesis
Published August 30, 2023
Advertisement

ALL BLOG POSTS ARE FOUND ON MY OFFICIAL SITE: (CLICK HERE TO VIEW THERE)

The past two weeks have been focused on adding in elements that will setup our "Phase 1" of gamplay. Our goal with Phase One gameplay is the ability for a player to login to the server, experience 30 - 40 min of gameplay, and have a decent idea of where we are trying to take this game. This means that I need to focus some effort towards adding in all the "loot" items that will be placed without the world.



I spent too much time conducting research on the most realistic sizes and shapes for these elements, but I think they are turning out great and will result in a very aesthetically pleasing final product.


Next up was lighting. After some debate on how "lit" we wanted the environment to be I thought it best to create a few lights that we can place when power is provided to a building. This was a simple process and I am very impressed with how lumen lights up a room.



This is the gas station that we have been working on for some time. I still have elements from the Synty pack in there, but they will be replaced shortly. Most of the light on the inside is being provided by emissive lights and lumen.



After I spent some time working with props, I started to reach back and work with some foliage. The new system I came up with certainly has created a more rich and colorful environment. As such, I rather enjoy just making flowers and foliage that can be placed throughout the world.



I then moved onto the weapon attachment system. Mester had put this into place several months ago, but we had moved into other areas and were no longer focusing on gunplay. That changed after a recent in-house playtest where we really felt the need to add smoother combat. In doing so, we added scopes that had different magnification levels and modified the players camera based on hipfire or ADS.


Right now, we have a fully functional system for ADS that is altered with the type of attachments you have and the weapon you are using. In the future, attachments such as a handguard, bumpstop, etc will increase or decrease elements of the gunplay. I am really happy with how it has turned out so far and will be excited to revisit this section in the near future!



Next up, GORE! We added in a new gore plugin that allows us to blow off the limbs of the zombies. This was super fun to playtest and after some help from the developer we were able to get it working with our client/server setup. We highly recommend the plugin and it can be found here. (Plugin Preview Video Below)


If I am being honest, I spent far too much time with this plugin! It adds a whole new element to the destruction of the zombies! The next step was to spawn lots of zombies!


However, for us to be able to spawn this many zombies we needed to rework some of the AI. In doing so we turned to 5.2's new StateMachine system for the AI. Mester will admit, the new system is nice but has its fair share of quirks and bugs. All in all, we were able to get something that works well enough for what we are doing now and creates some very interesting gameplay.


You can catch a sneak peak of the AI in action with the following video:


With all this gunplay action and zombies happening we needed to add in the ability to know how "amazing" your weapons are. Enter the outline function!



UE5.2 added some cool new overlay material options. With this feature in mind we were able to easily add in some quality categories that outline the weapon/gear based on its quality. Not only that, we added in some cleanup feature that will auto destroy objects from the world based off of their quality preset. In the future, these quality settings will be modified based on the attachments you add to the weapons. We even have a unique item class called "inimitable" that is a one of a kind weapon/gear type. More on that in another blog.



Last, but certainly not least, we get into what I have been working on for the past three days. I have always been a fan of the 3D map that was displayed in Divisions original trailer. Since that time I told myself that I would eventually make that style of minimap! This weekend, I set out to do just that, and I was able to make it happen. The following is a bit technical, so bare with me.



The first step in making this happen was to generate a 2D heightmap of the world and import that into Photoshop. Once I had done that, I used some filters and some photoshop tricks to create a topography style map. I then created a plane that has 100 x 100 rows/columns in it. This will allow for the next step which is displacement.



Once I had the displacement in, it was time to try and create a system where the players X and Y coordinates would related to the minimap. This was a bit harder than I thought and created a real issue for me in the material. The challenge is that the image in a textureMap uses the center of the image as x0 and y0, however the landscape that is created in the game puts the edge coordinates at 0 0 0.

This means, for me to get an accurate representation of where the player is on the map I need to create an offset. The result from a few tutorials I found online looks something like this:



But this did not solve my offset problem and created some very odd issues. After several hours of playing with values and trying to understand what was going on, I arrived at the following:



There is not much of a difference, other than I manually add the offset. This still has a problem as I am unable to get zoom to work properly (hence why it is not linked up). I need to ponder that a bit further and hope to have that solved by the next update. For now, the system works and when the player presses M, the map is spawned and relates to the proper coordinates between the two.



I have very excited for this minimap, but I do realize it needs some work to reach its final goal. Expect to see more information on this in future updates. In the final bit of news, we added in PVP! This was primarily added so that we can test out gunplay and other elements of the server stability in an upcoming playtest. It is my hope that we can have 25+ players on one server and maintain a fairly stable and enjoyable combat simulation. More info on that in the coming weeks.

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement