LEGO Project

Criteria: You will be given 20 Hours to work on the project. It will be broken up into 1 hour segments. Part of your grade will be keeping track of hours and the progress of your work.  Keep screen shots and document your time.   There will be 20 Quests.  Each quest is worth 20 points toward “The Everything is Awesome Boss Fight”. Each day there will be a timer for the boss fight.

Chosen Project: Create a Unity project with a Lego themed start up menu and tutorial screens.

Developer’s log is listed in reverse chronological order. That is, newest entries are first to appear.


5/29/2019 – Hour 12 (11:50 am – 12:50 pm)


5/28/2019 – Hour 11 (11:25 am – 12:25 pm)

  • Finally decided to buckle down and figure out how to change graphical presets with HDRP
    • I managed to get the selection part working, but I can’t actually set the presets
    • Figured out that I need to set Graphics Tiers, not Quality Presets
  • Added materials to the semi truck
    • Had to do it by hand since the FBX model didn’t want to accept the materials
  • Progress so far:


5/24/2019 – Hours 9 & 10 (11:15 am – 1:15 pm)

  • Hour 9:
    • Decided to make the menu look more busy and interesting
      • AKA download some free LEGO models and hope I can make it look good
      • Decided to sketch out how I wanted it to look:

      • Obviously, the above isn’t very good, but it’s a general idea that I can work with
    • The materials were the hardest part
      • Had to reimport the model every single time I changed a mat on the model
    • Managed to finish the sports car and add the truck to the scene
  • Hour 10: 
    • Kept working on the menu since it took forever and I had the extra time to do it today
      • Decided not to add mats on the truck
      • Finished the minifig
      • Literally just played with placement for an hour
  • Progress so far:


5/23/2019 – Hour 8 (12:10 – 1:10 pm)

  • Since I had to work on this from home, I took the opportunity to improve graphical quality
    • Played with bloom and fog mostly
  • Switched out the SFX test sound for a better version of it from Xander’s sound pack
    • Also fixed a bug where the test sound would play on startup
      • I forgot to set it so it only works in the settings menu, which was super easy to fix
  • Started debugging the settings menu
    • Issues: saving resolutions and loading audio
      • Audio issue was that I was setting save values as 1 instead of 1f
      • Resolution issue was an issue with Int32.Parse, so I switched to Int32.TryParse instead
        • Also switched the variables storing that output from int to Int32 and it sometimes works
          • I’ll look into it later. For now, it’s good enough
    • While I was there, I fixed a couple redundancies and made the script slightly prettier
  • Progress so far:


5/22/2019 – Hour 7 (11:25 am – 12:25 pm)

  • Got started on saving settings
    • Again, super easy since I’ve already got this in two projects
    • Added a catch to BackToMain() that resets the settings if changes were made but weren’t applied
      • It doesn’t quite work properly, but it’s getting there
  • Progress so far (it’s out of order but whatevs):


5/21/2019 – Hour 6 (11:13 am – 12:13 pm)

  • Updated audio settings menu
    • Made it so when the user presses the mute button, the music and sfx sliders can’t be touched, and vice versa
    • Fixed a bug where the SFX slider changed the music volume and not the SFX volume
  • Decided to add sound effects to the whole thing
    • Xander, a friend of mine, gave me this pack for me to use so I don’t have to manually convert stuff I find on YouTube
  • Got started on the settings menu
    • For now, just added resolution support since I have that coded in two places and it’s the simplest and least game-breaking thing to add
    • Also added a sound effect for changing options
  • Progress so far:


5/20/2019 – Hour 5 (11:15 am – 12:15 pm)

  • Created images for XBox and PlayStation controls
    • The PlayStation image was harder since there aren’t any images of PlayStation controller binds out there besides for the newer games
  • Decided to add controller detection
  • Begun work making the audio settings functional
    • Borrowed an equation from the settings manager from Cup o’ Joe to get it running properly
  • Progress so far:


5/17/2019 – Hour 4 (11:30 am – 12:30 pm)

  • Added this song as background music
    • Since the school network blocks mp3 downloaders, I had to use my laptop on a mobile hotspot to get it downloaded and into my project
    • Decided it would be best to have LEGO video game music in this as a sort of homage
    • Also changed the lighting to night just to match this piece
      • Had to change some UI colors to make things readable, but it looks much better than it did when it was day lighting
  • Started laying out the tutorial
    • Decided to just have a still image showing the controls of a would-be game
      • (would-be = LEGO Star Wars: The Complete Saga)
    • If I have the time, I want to make it detect what kind of input system is plugged in and display a different tutorial for each controller type
      • I’m gonna make extra images just in case I do happen to have the time to code that
  • Progress so far:


5/16/2019 – Hour 3 (11:15 am – 12:15 pm)

  • Made some neat-o buttons for the game
    • They’re really just pictures of LEGO bricks that I changed the hue of in Photopea
  • Downloaded this font to create a real theme for the “game”
    • It was a pain in the butt to change all of my text to this font, but I did it nonetheless
  • Progress so far:


5/15/2019 – Hour 2 (11:34 am – 12:34 pm)

  • Begun work on the settings menu layout
    • I plan on only including an option to change audio settings, toggle fullscreen, and change resolution today
      • Eventually, I’ll include an option to change the graphics preset, but not today
    • I won’t script it today because I have other plans
  • Found this baseplate model to use as the ground
    • I don’t have the time to model a baseplate so this is my next best thing
    • Converted it from .stl to .obj using this online converter
      • I will only use this site if I’m stuck with a .stl and the .stl file is less than 15mb in size
    • I’m gonna make a giant baseplate out of these pieces
      • Calculated that each piece needs to be 4.94 units apart on the x-axis and 6.542 units apart on the z-axis
      • Material is a dark green similar to that of the traditional green LEGO baseplates
  • Progress so far:


5/14/2019 – Hour 1 (3:45 – 4:45 pm)

  • Started by drawing out the menu layout in Photoshop (it’s really Photopea.com but pretend it’s Photoshop)
    • Did this so I have an idea of what I want to create and how to lay it all out:

Map of menu for LEGO Project – Draft 1

  • Decided to keep this project on my hard drive so I can work on this from home if I need to
    • That and so I can do some other things on a much more powerful system
  • Created a rough outline of the menu in Unity
    • I decided to use the High Definition RP so I can make good-looking stuff with LEGO bricks
      • I don’t know whether or not I want to make bricks or find a 3rd-party model yet. Fortunately, I’m not working on that yet
    • Grabbed a Unity and LEGO logo and made a logo for the project:

    • For now, the buttons just output to console what they’re gonna do
  • I decided to put the canvas in world space rather than screen space so I can make an interactable menu scene
  • Started work on transitions between each menu
    • Even though I hate the animator, it’d be a good learning experience to know how to use it
    • Created booleans that trigger animations when they are set to true
    • Turned off “Has Exit Time” on each transition so they start instantaneously instead of starting once the idle anim is done
  • Project so far: