Jump to content
  • Advertisement

Unity Weekly Updates #62 - Sunglasses At Night

jb-dev

929 views

Hey hello there! Welcome to this week's Weekly Updates! So last week was a lot busier than these last two weeks. I fixed several bugs, changed some GUI elements and also added a new piece of equipment. So without further ado let's get this thing start, shall we?

GUI Updates

First, I will show the new GUI. Basically, after much thought, I decided that the windows were not enough "Windows 95" to my taste. So I did some small research to correct everything.

Colours Upgrades

First, I corrected the colours of the graphic elements. For example, tabs were previously just white. Now the difference in lightness is much more subtle.

image.png.d63432915a3e317b107a0b74574a3773.png

Fieldsets

Besides that, I also decided to add groups of elements (For those who know, think HTML <fieldset>). I noticed that many Windows 95 windows used this kind of separation.

Résultats de recherche d'images pour « windows 95 »

So I had to tinker with the same kind of element in Unity. See the result:

image.png.3435fff1f1f6208161da35d500c31445.png

I put fieldset one can everywhere through the various GUI of the game. With that, I really have the impression that it is very 90s.

Read-only Grooved Fields

Finally, I also added read-only graphical elements. This once again reinforces the Windows 95 theme.

image.thumb.png.03a624b52f6c2d5ca6a14383852fe282.png

I also continued refactoring the colour management code of the GUI. In short, I think the GUI needed it!

New Headwear

secondly, following the brainstorming session last week, I managed to add a new piece of equipment: the party glasses.

Party Glasses

image.png.48e1bc373827f454c8a2ba5ef7018d04.png

Focus: Future Funk

Whoah! What a beautiful pair of funky glasses! With those, you can surely party all night long!

Stats

  • DEF -2
  • AGL +1

Description

This is a pair of festive glasses. These use plastic shutters to filter some of the light out. It's really 80s looking too!

With these glasses, the screen gets dimer by 25%. Also, with the right focus, a bonus of agility (+3) is acquired.

Minor Updates

  • Fixed a bug with the analog blur not showing up anymore
  • Changed the appearance of the ice. 
    • now it much more ice-like.
      image.thumb.png.a579ace7bfa322d7c724207998f12537.png
  • Fixed a bug that broke billboarding elements
  • Fixed a bug where some mall windows wouldn't show up
  • Fixed some wrongly coloured textures
  • Added a new window groove texture.
    • This replaces the typical button groove on some elements
  • Added multiple new capacities related to the type of attacks
  • Fixed a bug where the frosted frame that appears when the player gets the frozen status was no longer displayed.
  • Refactor the frosted frame of the frozen status so that it uses instead a tri-colour map. 
    • This effectively means that it now follows the level's colour pallette
      image.thumb.png.1fa9e29ec54bb2b33b10c9ccf0405ea3.png
  • Added several colour features that limit tint changes.
    • For example, instead of getting a full black while darkening we get a brighter black, which is technically grey.
      • This is especially useful with hard-light blending.
  • Changed weapons viewport positions.
    • Now they're less in the way
      image.thumb.png.9be6bebdc1f5ef58f1b4e6da3f502127.png

Next Week

So what is planned next week is quite simple. I want to dive right into enemies. It's been neglected far enough and I think it's time to fix that. 

Everything else comes second. It's that straight forward. 

So that's about it!




0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Advertisement
  • Advertisement
  • Blog Entries

  • Similar Content

    • By JeremyAlessi
      In episode 12, Jeremy chats with Nathan Jester and Derek Hampton at Brown Chicken Brown Cow in downtown Hampton.  Nathan and Derek are local indie developers and long-time PixelFest participants. Nathan recently built a shoe-box arcade controller amongst a variety of gaming projects. Meanwhile, Derek talks Bouncy Bear and personal skill development.
       
       


      View full story
    • By JeremyAlessi
      In episode 12, Jeremy chats with Nathan Jester and Derek Hampton at Brown Chicken Brown Cow in downtown Hampton.  Nathan and Derek are local indie developers and long-time PixelFest participants. Nathan recently built a shoe-box arcade controller amongst a variety of gaming projects. Meanwhile, Derek talks Bouncy Bear and personal skill development.
       
       

    • By Ruben Torres
      Last week, I wrote a post to show you how your unity scene hierarchy is reducing the performance of your game. That post arose awareness across many of you developers. And so, many of you asked great questions that I'll answer in today's entry.
      [The original post can be found here]

      Yes... I confess.
      The examples I often show you in my blog posts are not real-life projects. This is one of the points you have been commenting on.
      Ruben, this is an artificial scenario.
      Ruben, this doesn't happen in games.
      You see, I understand. It's easy to doubt the information I provide you when the only cases you see are extreme. I'd even rub some salt in the wound on the Reddit threads if the author wasn't me (see how I got owned).
      But here's the thing: all the information I give you is based on the pain and gains of real-life projects I worked on. I do my research before I write here too.
      Doing research is great. But that takes time. A lot.
      So I won't set up a new game for every weekly post that I publish. What I do instead is to create a small project to make a point...
      ...A very real point that I experienced in production games.
      You're never going to come across the exact dummy project in your games. But you're likely to suffer from the issues these points reveal.
      And that's what matters.
      So I took some of the feedback you provided for today's post. I'll elaborate on some of the problematic hierarchy patterns you'll commonly see in production games. We will address unity scene hierarchy bottlenecks based on the tools I gave you in the last article:
      The FAP Hierarchy Tool The DetachGameObject simple performance boostingg component Quick Navigation (opens in a new tab)
      The golden rules for an efficient scene hierarchy
          The Gamedev Guru's Golden Rules of a Clean Unity Scene Hierarchy
      Flattening a unity scene hierarchy: an artificial case-study
          The hierarchy structure
          Profiling the unoptimized scene
          Flattening our scene hierarchy
      So what?
      The golden rules for an efficient scene hierarchy
      In the previous post we established a guideline for diagnosing and optimizing unity scene hierarchies.
      Let's quickly recap The Gamedev Guru's golden rules for an efficient hierarchy:

      These apply especially to hierarchy trees that have dynamic objects. And by dynamic I mean, game objects whose transforms are altered. It can be a position, a rotation, a scale or any of the attributes you find in a RectTransform.
      If an entire tree is static, i.e. no periodical transform changes, then don't worry about that tree.
      You see, propagating these transform changes takes time. And it takes more time when you have more game objects in the same tree.
      But it's not the total CPU time that concerns me the most. The issue that I see is that it is pretty hard for Unity to do these transform operations in parallel when they happen to be in the same hierarchy tree.
      So changes in complex trees take a higher CPU time for two main reasons:
      The absolute CPU time required to do the math increases These calculations cannot be spread across different threads Flattening a unity scene hierarchy: an artificial case-study
      I'm a pragmatic and practical professional developer. So let's see all this theory in action.
      The hierarchy structure
      What I have here for you is a scene full of props, particle systems and characters. This is how the unity scene hierarchy looks like:

      Unity Scene Hierarchy: Original Structure
      That's it. No magic. 4-5 levels of depth, plus all the bones required for the characters. Nothing too crazy apart from the 300 simple characters, which probably accounts for all the missing pieces that a real game has.
      Have a look at World. It's a single root game object containing way too many children. This fact violates the first golden rule of an efficient unity scene hierarchy.
      Is that bad? I don't know. The way to find out is by measuring its relative cost.
      I'm using free assets I found in the asset store. That means, I can't upload this project to GitHub or I'll risk ending up in jail. Yeah, thanks for that restrictive license, Unity.
      Profiling the unoptimized scene
      And so I start the scene. Not much happening, just a slight amount of movement. I cannot say this is the funniest game I ever played.

      Sample project "gameplay"
      Well, I'm not an artist or designer. I'm excused for the looks but not for the performance. Point which brings me to using the profiler now.
      I captured a 300-frame profile and here's what I got:

      Unity Scene Hierarchy: Pre-Optimization
      Was that useful?
      Nah, don't even bother to look at the image.
      We don't know whether that's good or bad, because we don't have a reference point.
      But we can compare... We can compare against an equivalent, flattened hierarchy.
      Let's try that out.
      Flattening our scene hierarchy
      Analyzing the previous hierarchy, we can notice something of interest.
      Most of the introduced game objects are there for organization purposes in this setup. That means, some added hierarchy levels are useful for developers to structure content around them. We incorporate these objects to make development easier.
      Game objects such as World, City, Props don't serve any other purpose than organizing. Our characters, particles, UI and props do not really depend on those to accomplish their goals.
      I see a potential gain here.
      But on the other side, we don't want to break the only organizational tool we have. I don't want to deal with a flat hierarchy during development. That sucks.
      We want to keep things structured on the editor and yet we want our game to be performant on run-time.
      Ehmm... Is this possible?
      You bet it is. That we can do by making use of the script you downloaded in the first part of the blog series: DetachGameObject. This script will let you maintain the original hierarchy when you develop your game but will unparent the gameobject of your choice to squeeze all its performance juice on run-time.
      So I'll add right now our DetachGameObject component to the Character prefab, to all particle systems and to the dynamic canvas we have in place. I'll ask our component to unparent the game object after a delay of 15 seconds so I can take two profiles: one before detaching and another after it.
      Below you find the DetachGameObject asset applied to an example particle effect.

      DetachGameObject Performance Booster
      Now that I have set up all DetachGameObject components, there's only one thing remaining. That's right, press the play button!
      So I run the game and after 15 seconds...

      Scene Hierarchy: Flatter Optimized Version
      Boom.
      All my characters, particles and UI have been detached. Now the hierarchy is much flatter.
      So I wonder...
      How do both profiles compare? Let's use the neat profile analyzer to get some fresh numbers.
      *drums*

      Profile Comparison: Deeper vs. Boosted Flatter CPU Performance
      I'll translate for you what this chart means...
      This comparison says that there're significant differences between the deeper and flatter hierarchies.
      The flatter hierarchy improves performance significantly over the deeper one.
      Yes, you might not have 300 characters, but you will surely have many over 100 times more complexity in real gameplay elements, scripts, networking and such.
      So what?
      The conclusion is simple: there's a performance penalty you're paying if you don't have a flat hierarchy. Can you afford it? That's a question only you can answer. And you better answer that with data and metrics. My metrics in my previous games always reach the same conclusion: I don't want to pay that expensive bill. I let instead DetachGameObject pay it for me.
      That's my advice to you. Measure your game through the profiler and FAP Hierarchy Tool. Both tools will immensely help you finding scene hierarchy bottlenecks in your Unity game.
      Always remember...
      Flattening your hierarchy will improve your Unity CPU performance.
      What were your scores before and after flattening your hierarchy? Share below.
    • By zwolya
      Trade your way around the Bakersville Baking Convention in your quest to claim THE GOLDEN MUFFIN!
       
      CLICK on the different BOOTHS to see the muffins they have available, and what they are willing to TRADE them for. Make your INVENTORY match Chef Jacques’ as quickly as possible to claim THE GOLDEN MUFFIN!
       
      Read more and play for free at https://www.zwolya.com/the-golden-muffin
       
       

    • By zwolya
      Trade your way around the Bakersville Baking Convention in your quest to claim THE GOLDEN MUFFIN!
       
      CLICK on the different BOOTHS to see the muffins they have available, and what they are willing to TRADE them for. Make your INVENTORY match Chef Jacques’ as quickly as possible to claim THE GOLDEN MUFFIN!
       
      Read more and play for free at https://www.zwolya.com/the-golden-muffin

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!