Monday 30 January 2017

Adam Courtney- Tutorial and cameras

This post is more of a roadmap on what the final few developments to the project will be, with the chance for us to amend it before we commit major changes. It's also a chance for me to reflect on the feedback we received at the Maritime Museum presentation, as things were highlighted that we could add and improve.

Planned Changes

  • Interactive tutorial- this is a feature none of us expected to be able to add, but it is going into the project after all! We were aware that the project was using a pretty niche controller (it's rare to see a Leap Motion out in the wild), but had underestimated how much explanation it might need to a first-time user.
  • The current plan is to introduce the Leap Motion via very brief videos that Ash has recorded, and then introduce parts of the interface such as Breath and Health gradually, with the player interacting with the Leap Motion to confirm they understand the gameplay and controller.
  • The videos are simplistic, with a hand over the Leap Motion on a white background, and synchronised screen captures to demonstrate cause and effect.
  • The "dead" screen area above the water is being utilised before the boats, so that the player can always see the whale and how their interaction affects the movement.
  • We've also added a second camera, which highlights to the player that a boat is approaching in a box on the screen! This is quite a nice visual to illustrate where the boat is coming from, and we are also going to add a warning indicator to show when a harpoon boat is approaching, so the player knows to stay away from the left in order to avoid getting hit by a boat that's not even on the screen yet.

This is our "storyboard" for the tutorial, the pictures illustrate the screen at that time.
  • I've written in pseudo-code what I want to happen, and my task tonight is to get the videos into Unity, and get playback under control. Then I'll be adding in the breath mechanic "test".
  • We have also changed the camera perspective from a pseudo-2D orthographic camera to a perspective camera. This should help give the scene a better sense of depth, and help make it clearer when harpoons are being fired, and whether they hit.
  • As a "quick fix" to some feedback we had about it looking like a harpoon in the background should be hitting the whale, we increased the collision boxes on the whale, to make the harpoons hit at any distance if the whale is sharing the X/Y coordinates of the harpoon. In terms of gameplay, it makes it much harder, as players can't just swim up every time to dodge harpoons, but the visuals have suffered as the harpoons are getting stuck in thin air due to the bigger hit boxes. That can be tweaked though, and hopefully a compromise can be met.
  • I'm hoping to add to the blog a few more screen captures of the project's development over time, as well as a demonstration of the tutorial sequence.

Tuesday 24 January 2017

Adam Courtney- Effish-ient development

Over the past week, the progress on the game has drastically picked up, and as a group we have pulled together something that I think we are quite proud of. The paracetamol shaped placeholder whale is now an animated, breathing, textured creature, the floating boxes are now very detailed, historically accurate boats, and the game is quite fun to play.

Today's presentation at Hull Maritime Museum went okay, I'm really quite happy with what we've put together, and we have some great feedback to continue developing the game to fit into the museum. The main concerns raised were to do with clarity of experience for a new player- whether the current tutorial sequence was enough to introduce the leap motion, and the gameplay elements. It was suggested that the tutorial text could be added to, and the harpoons could be made more visible when playing. I took the decision to be minimal with the text on the screen, so I will try to address this over the next day or so. We've experimented with adding flair effects to the harpoons, and making the lines stand out more, but it may be a balancing act getting the balance between accuracy and clarity in the gameplay.

My contribution has been exclusively within Unity, and Max- Ash, Nathan and Dan have put together the models for all of this content in Blender, which were coloured, and then textured in photoshop. In terms of gameplay, the core game is pretty much the same, but the changes I've implemented have made it far more robust, smoother, and much more streamlined to play. This has led to some tense points where I've had to take chances with re-writing code, learning new techniques such as raycasting, and learning more about textures than I could have guessed was necessary.

New Developments:

  • Raycasting is used to detect players being in range of harpoon guns.
  • Leap motion/mouse now is much more fluid, as the whale moves straight to it rather than it being a physics-based event each frame.
  • Randomised boat models, with boat's name appearing in text.
  • More arcade-based feel, with the year counter replaced with a simpler 60 second timer.
  • All models (Big boats, small boats, guns, harpoons & whale are all added.
  • Harpoons now fire directly at the player (they took a rounded path)
  • The guns point at the player properly, and the harpoons return to the gun properly
  • Tutorial sequence, added 10 seconds to the timer, where the UI explains some gameplay before boats spawn. (game is actually 70 seconds as a result).
  • Added a basic animated hand sprite and leap motion picture to indicate what the player should do to start the game.
  • Fixed a new bug where the boats intermittently wouldn't spawn (a variable in an if statement was the culprit after tracing it with my many print commands).
  • I've changed the layout of the game so that the boats no longer can collide with the player, and the harpoons fire at the player from background to foreground. This was part of the new recast scripting, as it let me use 3D coordinates to fire at.
  • Ash and I added a lot of new cosmetic changes, such as using a Creative Commons font for the text, making the text bigger, adding weather effects and lighting, and re-texturing some of the sky assets to create a new atmosphere for the game.
  •  Unity's sound events are used for instances of the boat as it is more logical than duplicating Max messages.
  • Fixed a bug where harpoons would get stuck in the scene (a misplaced game object in player hierarchy caused this)
  • I took samples from Creative Commons, and added them to Nathan and Dan's sound bank for the max patch.
  • Added in Ash and Dan's animation, and Ash helped me with the C sharp script to control the animations with in game events (death animation, and faster swim when mouse is moving)
  • Changed the background texture so it no longer scrolled, and instead the motion is implied by the sea movement, and the clouds etc.
  • Disable cursor, and then enable it with a hand sprite texture.
  • Added a sea foam effect to the big ships to give a sense of depth and water. (Ash also did this)
High Priority:
  • Improve tutorial section, make it more detailed, (explain player is the whale, how to use leap motion, that the whale needs to come up for air, and needs to dodge the harpoons).
  • Get the balance right between harpoon visibility, historical accuracy, and the game aesthetic.
  • Fix a bug where the breath sound isn't switched off in max after the game ends. Maybe a global reset would be a good idea.
  • Add the Background music
Medium Priority:
  • Add an escape function, so that the max patch can be ended, and the game can be closed without changing window. - Deemed unnecessary, as it's possible to power off the machine and have the startup script.
  • Add a win sequence or something aesthetically pleasing for the player to reinforce victory.
  • Add a splash screen/ intro, so that the game doesn't appear unresponsive during the delayed start.
  • Change the app icon.
  • If possible, open the max patch within unity? - Irrelevant due to Ash's startup script.


    Whale it's all over now

    So after the past few weeks of hectic work, after finishing the boats off and importing them into the game, getting the whale and animating it fully and helping to fix some bugs in the code, by mostly discussing it until Ash and Adam figured out what was actually wrong, its done.

    The game is complete, bar a few glitches and bugs, and all the assets are imported. I made some very last minute minor sounds before going to the musuem to test it. We got some good advice on how to make the game clearer and more accessible, and learnt of some bugs to do with increasing the screen size. However, this is nothing some minor fixes can't sort out, so one last night of work on bug fixing and we're ready to go! Been a long journey but it's over now

    Signing out,

    Dan

    Monday 23 January 2017

    Whale would you look at that!

    All in game models have been created and textured down to the talents of Nathan, Daniel and myself! Before Adam came in to do his bit I took the liberty of adding them into unity and making sure the textures were correct which was a bit trickier than imagined. The biggest issue was the sails as not only have I moved each sail so they are ALL facing the wrong direction (which will be fixed tomorrow, rookie error) but they became a 3d object despite starting its life only having 2 sides. Because of this the textures were inside out meaning some more final edits needed to be made before Unity would accept them.

    In other developments Adam is a wizard and I'm beyond impressed by his knowledge of game design.


    Edit: I wrote this last night at about 10pm, but completely forgot to send it. I've now just turn my laptop on to see this. My bad

    Ash

    Thursday 19 January 2017

    Whale we have a boat now!

    Hello! I must apologise firstly for not posting anything until now. The truth of it is that I have had nothing really concrete to show. When it came to working on the project I never spent a full day working on it, instead doing little bits here and there when it came to modelling. Which means there have actually been a few additions compared to the last meeting but I didn't really realise! Here are a few of them:

    WHALE IS DONE (KIND OF)

    The model is complete and myself and Dan have worked over christmas to finalise all animations. Blender is a little bit tricky to get a hold of and definably required two of us to finish it off to a good standard. We've also managed to import both the model and animations into unity with the help of Adam and his knowledge of unity! At this stage they are functional but once the rest of the assets and code have gone in we'll look at doing some nice quality of life changes. The only thing that needs to be done is the graphics/textures but they are so close to completion.

    THE SHIPS HAVE SET SAIL

    We are adding 4 main ships to our roster. In order to make the process easier for this I created a dummy boat that has all the assets needed, but ready to model against the ships we saw in the museum. In order to distribute our time better me and Dan are also going to share the responsibility of the ships so I can help out Adam and his programming ways. This basically means I will only be doing 2 ships, while dan is doing the other 2, then sharing any other smaller assets that need creating. With the time saved from that I can help Adam out with whatever he needs by pretending I know what I'm doing in Unity and grabbing him a coffee every few hours.

    Here is a quick time-lapse of the boat being edited. There was more at the beginning however my screen capturing software bugged out so this is the middle part of the session. Accompanied by Bloc party to keep spirits high!

    https://www.youtube.com/watch?v=XgNX5vgkgn8

    Ash


    Wednesday 4 January 2017

    Nathan Giles - Delayed Update

    Here's a little list of whats been going on in terms of the Audio and graphics side of things.

    Grahpics 
     - Sky and Sea graphics have been made and put into the patch (as seen in Adam's "Big Big update" and can also be seen below)
     - Working on the designs for the boats at the moment.
     - Still need to do the design for the whale once complete




    Audio
     - "Sea atmos" has been fully mixed and ready to be put into the game
     - Spot sounds have started to be created for certain key points in the game (ship entering screen etc.)
     - Max patch needs to be made for looping the music and for playing the spot sounds where intended in the game

    Aside from these, there also needs to be a general room ambience that was potentially discussed with the other group. This needs to be created aswell.

    Monday 2 January 2017

    Adam Courtney- Big big big update! :)



    New Features/Developments:
    • Harpoon fire rates can be tamed to adjust difficulty
    • Guns no longer rotate beyond desired angles (no shooting through boat)
    • Guns only snap to player when they're in the "hitbox"
    • Player is directly targeted by harpoons
    • Boat types change over the years, and are easy to change
    • Whale now interacts with the boats- you can knock them and stuff like that
    • Harpoons return to the ship
    • Harpoons now have "rope" attached, which breaks if the whale is still alive
    • Time bug fixed, can now time the gameplay by seconds (enabling 2 minutes to be set as an exact thing hopefully)



    High priority:
    • Add in a death sequence - Part way there, details in commentary
    • Improve the mouse input, so it's more responsive (Leap Motion controls the mouse)
    • Improve the harpoon movement (they take a curved line to the player sometimes- unsure why)
    Medium priority:
    • Max Parameters (this is a smaller job, and I don't know everything that needs to be sent yet)
    • Soften the harpoon gun's turning motion
    Lower Priority
    • Make the bubbles prettier, and ensure it gives the impression of the whale moving.


    Commentary:

    This week's adventures have added a tonne to the game, with my main objectives by and large complete!

    The hardest part has been getting the targeting system running, it involved a lot of research, posting on Unity forums, and experimentation to get it right. I learned that there are multiple ways to approach the same task- for instance moving an object rather than addressing its physics, using colliders rather than casting out beams and cross-referencing C# scripts instead of trying to pigeon-hole everything onto the same object.


    The death sequence is coming on okay, at the moment it's just got the rope remaining on the whale, and the player loses their control while the failure message is on the screen. It would be great to have it veer offscreen, but  the other ships complicate that a bit. It could be that it depends on which gun hits the whale, and maybe it surfaces instead of ramming all the boats into each other.

    It would be nice to also have a reward for winning the game, maybe there's a second whale to show repopulation after the hunting ceases, or even just some pretty lights to just reinforce that there was a victory. The sound should go a huge way towards this though, so it should come out well.
    There is a bug/feature where the harpoons seem to be very keen taking a very exaggerated trip up in the air before going to the player's position, but I'll get that hopefully. :)

    As it stands, we have a functional and very difficult game! :)