Search Unity

Games Mittens' Adventure - Top down shooter + multiplayer

Discussion in 'Works In Progress - Archive' started by newjerseyrunner, May 18, 2018.

  1. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Lit and fully decal baked another level. The ability to fly around inside the map and paint dirt all over it really makes it change from a sterile looking piece of scenery to something worn and used. It’s crazy how much difference a splash of dust where the wall meets the floor adds.

    also figured out why some of my scenes weren’t working correctly. Turns out the light mapper in unity can create more than one uv, so I had to bump my decals back to uv4 and everything worked.
     
    Last edited: Apr 17, 2020
  2. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    I found out that the way I was unwrapping my decal later was less than ideal. I had to go over the ones I’ve currently done and decide to scrap them or leave them. Even less than ideal, they still look good so I’m leaving them and doing the best one from now on. I expected smart unwrap to not overlap the uv, but it does.sometimes. I wrote a system to verify uvs. I had to erase some of them.

    I also was unhappy with how normals and metallicity looks for some places, which was because the shader had it as a slider. Since I’m using an atlas, I want to have a variety of material properties. Since I’m writing my own shaders anyway, I just gave myself the ability to put a texture there. Using red as normal mapping scalar, green is smoothness, and blue is metalness. I wrote a little tool to allow me to iterate over the parts of the atlas and use sliders. Looks waaaaaaay better, and provides me another degree of creative freedom. It’s just a 4x4 texture so it’s pretty free. Just have to remember to set no interpolation.
     
  3. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Lightmap pack has its own issues where it may stretch triangles. Because of this I’m using it only as a backup if smart unwrap creates overlapping uvs. That’s a super easy check since I wrote a component for that. It just takes the triangles and draws them. Any pixel that gets drawn more than once gets a different color, so I can easily see if they overlap.
     
  4. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    I’ve been doing other things with the wife the past few days, so my computer has been baking final Lightmap a for two of the levels that are in a finished state. The first level took an overnight to bake and the second level is still going but looks like it’ll clock in around 36 hours. After they’re done, I’m going to change their permissions so that I can’t accidentally delete them without the root password. I wouldn’t want all that calculating to be deleted. Of course I backup, but I want something extra for these.

    I also notice that if you wake up too many enemies at once, the bullet hell becomes unmanageable and unable to be weaved around, which will encourage the player to find cover. I do not want this, so I’m implementing a token system so that only so many enemies can be firing at once. This will actually allow me to put more enemies in a room and it’ll make the fight longer without greatly increasing the difficulty, it’ll help even out any weird difficulty spikes. Enemies can steal tokens from others that are further away, or their subordinates, which adds to the group dynamic, making the leader of a group way more aggressive.

    I think it’ll allow me to make easier difficulties more fun and give the player more stuff to shoot, since I can shove more enemies in the room but keep the difficulty the same.

    there are different token pools for melees, guns, and grenades. The guns pool also has a single “furthest token” where the furthest enemy away that requests a token can get it. This will make infighting happen around the edges of battlefields.
     
    Last edited: Apr 23, 2020
  5. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    It’s still baking level 2, I didn’t expect it to take this long but it’s close to done so I’m not going to stop it. I’ll probably alter some of the high res Lightmap parameters for the rest.

    meanwhile I’ve been adding tons of debugging code and asserts to the code. Getting it ready for real testing. Asserts noop out in final builds right? Shouldn’t matter too much, almost all of the debugging code is inside preprocessor directives.
     
  6. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    The debugging system that I created worked perfectly. Here is an example of be watching an enemy circle strafe around the player.

    Screen Shot 2020-04-24 at 1.13.44 PM.png

    It actually showed by a little problem, where directly behind the character isn't valid because it's in it's own way so can't see it's target from there. I've removed it since I don't want more back directions than forwards ones. It had four possible locations to chose from, each on a circle strafe ring around the player. It randomly chose the one in the bottom left, and a path is calculated.
     
  7. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Continuing with ultra high-res bakes of finished levels while I do texturing in Blender. I'm really enjoying watching the light probe generator that I built. I don't understand why this behavior isn't built into light mapping calculations. I literally have to vowelize the level, then calculate the light value at each voxel using distance and raycasting. I then translate all of the colors into a 256 color palette and put probes at any location where two neighboring voxels aren't the same color.

    In the picture below, you can see the edges of several lights. Are people really expected to place these manually? Why isn't this part of the regular bake process?
    Lights.png
     
  8. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    One of my scenes is corrupted, it’s gotta be. Whenever I am loaded into it, and create a new material, it renders it incorrectly. It also has a wicked white splotch on it after light mapping. I’m rebuilding it piece by piece and baking after each step, hoping to create it without whatever caused it to glitch out.
     
  9. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Im concerned the 30FPS is not sufficient for the fast paced action. I’m still considering setting up a system that allows the engine to switch between 30 and 60 depending on load.
     
  10. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Built an event driven unit test for the player. This one has the player just moving around and jumping. I’m using it to make sure that the characters movements are identical at 30 and 60 FPS as well as just making sure nothing changes moving forwards.
     
  11. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Added another level, probably the most complex with the highest number of triangles so it was a pain to texture. Will finish up the graphics tomorrow and move on to the next, much easier level.
     
  12. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Some of the middle levels are quite large, with several thousand triangles. These are taking a little longer to texture, but I’ve chugged through three of the biggest in the past week, almost got them all textured and baked.
     
  13. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    I realized I accidentally made all of my sun lights baked instead of mixed. I had to scrap three of my high res baked and will rerun them over the next few nights.

    Meanwhile, I made all of the doors and moving platforms use a light probe proxy volume because they looked a little weird all shaded the same way.
     
  14. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Wasn’t on my computer today, so I let it bake all day. I rebaked all five scenes that I needed to. Tomorrow I’ll finish texturing another level and bake it overnight.
     
  15. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    This level is based on Blood Gultch. It's designed to be a CTF and sniper map. Two bases, not in direct sight of each other, a wide central area between them, and sniper perches everywhere.

    Screen Shot 2020-05-18 at 3.04.02 PM.png
     
  16. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    I got a big open vehicle level textured, working on linking everything together and readying an overnight bake of the lighting.
     
  17. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Light mapping the huge vehicle level ran into some problems. I had to break up the mesh so that all of the lighting would work properly. I’m baking the decals now, then will move on to the next level.
     
  18. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    I spent the morning fine tuning my 3D navigation system. I'd written it a long item ago, but it was designed to be a singleton. I modified it so that it allowed for multiple flying volumes to be tied together. It even allows the different volumes to have different resolutions, saving on resources.

    Here you see a number of fly volumes, with green grids inside of them (which indicate valid flight paths,) as well as bluish rays going off of the grid, which are links between different volumes, allowing flying enemies to seamlessly move around the whole map.

    Screen Shot 2020-06-01 at 2.31.50 PM.png

    It took a while just to get the volumes to see each other and link properly. I also cleaned up the code a bit, perhaps I'll release it. Tomorrow I'm going to make the actual routing work, and make a demo with something flying around my scene.
     
  19. newjerseyrunner

    newjerseyrunner

    Joined:
    Jul 20, 2017
    Posts:
    966
    Heading into the second half of the game, under the dome, where the enemy is completely different. I finished building one level that for some reason I never completed, then will start texturing. Some of the levels are already textured but most are blank. This is the final third of the game, so by the end of the summer I expect to have all levels complete and will be running through full games doing debugging.