Wednesday, 28 December 2016

Adam Courtney- Development Developers!

More progress on the Project!

New Features/Developments:
  • UDP sends parameters into Max!
  • Harpoons fire at player (much coding and understanding of cross referencing scripts)
  • Harpoons come out of gun/cannon/whatever is needed
  • Gun swivels to face player, and fires if the player is in the line of sight.
  • Gun has a limit on its rotation (it won't shoot through the boat or do crazy 180 turns to face player)
  • Game loops back to the start on a win or loss.

High priority:
  • Fix bug where the time bar starts speeding up later in the game
  • Add in a death sequence
  • Check accuracy of harpooning- may need to code them returning to the ship
  • Any link to the big main boat?
  • Fix bug where harpoons don't always fire constantly
  • Improve the mouse input, so it's more responsive (Leap Motion controls the mouse)
Medium priority:
  • Max Parameters (this is a smaller job, and I don't know everything that needs to be sent yet)
  • Add a death sequence where the whale pulls the offending boat off screen?
  • Change the types of boat over time
Lower Priority
  • Make the bubbles prettier, and ensure it gives the impression of the whale moving.


Commentary:

UDP is implemented! I can send ASCII codes like you find from the key object in Max, and they are received. At the moment I've got it set to just change a Umenu to report the game's state (welcome screen, playing, and end), and will look to add a lot more to this. I'm chuffed that it's working.

The game feels much more like a game, with the harpoons now firing directly at the player, and the guns on the boats only rotating on a fixed axis. This involved learning a lot about C#, and I'm really grateful that the Unity Forums, and Stack Exchange were such great resources to ask questions, and see solutions to issues I had. I also bought a book from the Sams Teach Yourself series*, and that's been great for learning good practice, as well as a few shortcuts to good outcomes.

One was to have a scrolling texture by using offsets (as you might with Bpatchers I guess), and that ensures the background loops seamlessly. Initially, my solution was to move the background as an object, which meant you had to loop the movement with coordinates and stuff.

The harpoons now also stick into the player model- so that they don't just disappear, or worse go through it.

The game loops fully with win and lose conditions. It reloads the scene from scratch, meaning that it should be stable when left for long periods.

Ash is making mighty fine progress on the whale, and it's being animated by him and Dan. I'm really excited to see it in the game! Same goes for boats and harpoons :)

Nathan's working on spot sounds soon, and the ambient soundtrack to be playing in the museum space is sounding most excellent.

Currently, I feel like the project is coming together very well, and I am optimistic that it will be finished in time.





*Sams Teach Yourself Unity ® Game Development in 24 Hours, Second Edition

Sunday, 18 December 2016

Adam Courtney- Major progress with unity!

I've sorted out the main game mechanics (boats go across, harpoons appear,  the whale hits one the health goes down, breath is implemented, so if the player  doesn't surface for air the health drops.

Currently I'm working towards resetting the game, harpoon aiming scripts, and adding in the mothership concept (big boat dropping long boats), and then adding in the models that Ash is working on. Nathan's background art is looking great, and is added into the game now as well.

udp is behind schedule, but I've done a tonne of research into it, and the game being further ahead than anticipated might mean I've got a solid chunk of time to implement it. I'll upload a video in the near future.

Thursday, 8 December 2016

Project Update (Audio) - Nathan Giles

I've done the first version of the ambient soundtrack for our installation. It needs some appropriate mastering and possibly re-mixing depending on how it sounds in a larger space but the compositional work on it is complete.

You can listen to it here - https://soundcloud.com/slash_three/sea-atmos

Also, I have begun working on some of the spot sounds for the game and they will hopefully be up on soundcloud by Tuesday next week (or at a couple of them will be for demo purposes.

Adam Courtney- Project Update (Leap Motion working, planning and charts)

We have spent this week working out how to best get this project going at full speed. We have planned out something for each of us to do in a rather lovely Gantt chart, and ensured that they work logically (no animation can happen before 3D rendering has been done for example).

To ensure that the Max programming isn't held back waiting for UDP, I've suggested we prototype it using parameters which will be connected to the game. In presentation mode, we will have different buttons and sliders connected to sends, so that we can show what happens when an event happens. This is just a fall-back in case UDP hasn't got to the stage I'm hoping it will before Wednesday's meeting.

This weekend has been set aside to try and get a working game going in Unity- it won't necessarily be flashy, but at least the basic interactivity.

So far I've looked into and implemented:
- Boundaries (to stop the whale vanishing offscreen when hands are out of the boundaries).
- Scrolling backgrounds
- Attaching the whale or any object to the cursor, but retaining physics so that the whale has a sense of weight to it.
- Health systems (if hit, lose a heart)
-Ash had the great idea to show a cursor to reflect where the player's hand actually is, so that they can see where the whale is headed. (The whale moving slower than the hand is more realistic feeling, but could be confusing, so having a cursor like this prevents people not knowing what is going on).
- I've looked into how spawning objects work (harpoons and boats would be what we need).
- I still need to look into the best way to implement a "coming up for air" dynamic into the game. It could be that there's a timer, and you start losing health if it exceeds a set time. The timer would then be set to zero if you go to the top of the screen.



https://unity3d.com/learn/tutorials/projects/space-shooter-tutorial - this tutorial is useful, and has a lot of the principles I need.

Also, Ash and I tried out gamewave, a Leap Motion app which lets you control a computer with the device. From this, we've set up a custom file which only controls the mouse. This makes my life much easier, as I can just use mouse input for the controls instead of working on the leap motion from scratch. It also means that the game can be tested with a mouse.

Extra gestures can also be mapped in this way, so left click could be mapped to making a fist with your hand. An idea I've just had this second is a quick boost to evade things with a quick burst of speed. I'd need to run this past everyone, and make sure it has some kind of factual basis (I'm guessing whales go faster if they need to, but that's all I currently have). It may not go anywhere but the potential is there.