Saturday, 25 March 2017

Development Week 2 (20/03/17 - 26/03/17)

As emphasised by our sprint meeting on Monday, this week has created some uncertainty regarding development with my track design when I sent my blueprint scripts to the programmers for testing. As the way the programmers have set-up the physics of the anti-gravity movement, it takes the rotation of each individual track piece below it into account. However, due to the fact I've spent my time working on this spline system which accounts all of the individual track pieces inside it as one main object, the programmed code just takes the rotation value of the entire spline and doesn't adjust accordingly.

This created a bit of a pandemonium for us, and we settled that a good compromise would be for me to create the anti-gravity sections of the track in 3ds Max and import different sections of it into Unreal 4, and use my custom spline system for sections of the track that are curved and don't include any anti-gravity. This also works out well as since my spline system doesn't support anti-gravity anyway as mentioned in my previous sprint entry, creating parts of the track by-hand in 3ds Max will give me the extra level of detail which Unreal 4 doesn't support. It does add more pressure onto the modellers however, as they'll need to create more track pieces than just two variants of straight roads, so we will have to see how this agile development impacts our time management and sprint plan in these coming weeks.

We also set-up a group GitHub account this week to keep track of all the relevant changes made to the UE4 project file both programming and level design-wise, following professional working practises to create and visually show different versions and revisions of our game. I also will continue doing my level design work with a merged version of the most recent programming file, instead of the default UE4 racing template, from now on. In order to keep consistency the game designer and programmers work in tandem together to fully understand the scale and gameplay mechanics of the project, following professional industry working practises. Plus I can now add to the most recent fork of the project, updating the UE4 map file and adding any additional assets from the modellers on top of that.

This week coming to an agreement with the programmers I decided to complete my second sprint from the project backlog by drafting out the size, shape and scale of my track in UE4... But on a flat plane instead, without any bumps, ridges or anti-gravity segments. This will allow us all to gage just how big the city's environment area needs to be around the track, and also so we can test the programmer's current code to get a sense of speed and how fast the racing should be in Zero Friction,  without having to use more estimated guesses with an unfinished, or anti-gravity track, that doesn't completely function at this stage.





I updated the group's asset list this week too in accordance to suggestions from Dan in our latest individual supervisor meeting, in which he recommended I go into more specific details on each model listing certain specifications when required, following professional working practises, such as poly budget, texture size, additional description, etc). Likewise I explained my vision to the concept artists in more detail for them to bring my game design ideas to life, in order for me to visualise how my currently flat track will look with the applied anti-gravity: such as one section having a vertical circle going around a cluster of tall buildings, and another part of the track being set on a tall highway just above the road of the city.

While discussing these plans for how the track will flow with the concept artists, I decided to perform some more research into pre-existing racing games to see how they do their track design. And with this I feel like I want to take a leaf out of Mario Kart 8's book, where every single track is instantly recognisable and never feels too samey, which each course having a lot of variety for the player to see and do. For example, one of the courses named 'Mount Wario' seems like a regular snowy mountain level at first, but there's so much variety in that one concept. From tasking the player to jump out of a helicopter, drive through an icey passage, go in a damp cave, pass over an industrialised dam, traverse through a snowy wood and finish with a huge olympics-themed ski jump. These are so many different themes and ideas packed into a single level where really all you do is drive from the start to the finish line, and I want to have a similar feeling of depth here in my track design for Zero Friction.


http://pre01.deviantart.net/4ae8/th/pre/f/2016/105/8/3/mario_kart_8_racetracks___mount_wario_by_hawtlinkgasm64-d9z270u.jpg
(ObsessedGamerGal86, 2014)


Lastly since we as a group decided to pitch-in with some more character ideas for Zero Friction, I decided to draft some of my own characters on paper! Some got approved (like Toastie Ghostie and Slick the Snake, shown below), which one of the concept artists took further to recreate and redraw to fit within the visual style of the game, as everything being thematically correct is an important element of game design. 


Sunday, 19 March 2017

Development Week 1 (13/03/17 - 19/03/17)

I began this first development week after the initial planning stages by drafting out three track designs using Adobe Illustrator (shown below), and bringing them to my group members to vote on which would be best for the game's starting track. We all decided on the first one in the end, due to the simplicity and how it also demonstrates all of the game's main mechanics well in one level: like anti-gravity sections, jumps, shortcuts and a corkscrew turning section. Afterwards I recreated a more polished, annotated version properly demonstrating the track's features (also shown below), and passed it onto the main concept artist to draw the track's map layout in more detail.

  
Draft 1

Draft 2

Draft 3

The more finalised, annotated version of draft 1

I started designing the track piece-by-piece in UE4 using a placeholder track piece from the Advanced Vehicle UE4 Starter Kit, which was a very long and tedious process. However thanks to some helpful advice from Dan, he recommended a good tutorial series using splines to procedural generate track pieces (modelled by Ty) instead following along said spline! Which means I can make the track flow and curve with ease as naturally as I want, choosing how spaced-out each track part is, which in a fast-paced and anti-gavity racing game like ours, is critical when it comes to being able to design long and windy tracks as head level-designer.


Optimisation and professional practises, using add instanced static mesh is much more efficient than adding a static mesh for each point on a spline when the project is compiling.

I started designing the track piece-by-piece in UE4, but thanks to some helpful advice from Dan, he recommended a good tutorial series by (DokipenTech) using splines too procedurally generate track pieces instead! Which both saved a lot of time, and also allowed me to be more flexible and 'wavy' with my track design, featuring many turns and curves without needing dedicated track pieces created for each one. Likewise, I've been following professional working practices throughout development, creating regular backups between working sessions on both my USB hard-drive and OneDrive clod storage.

An issue I ran into however was poor management on the modelling side of things, as the 3d modeller behind the track pieces was two days late in sending me the file, and as I needed it to begin the initial stage blockout, I was left with a hiatus where I had to work on other things in that time (like this development blog!) Once sent to me, the file was not in the .fbx format, but .mb (native to Maya) which led to a brief debate on professional working practises and time management. This is because me installing a whole suite of software (Autodesk Maya), and then exporting the model myself to import into UE4 wastes a lot of potential development time that be spent directly importing the model into the engine in seconds. Fortunately this brief misstep was solved, and it will be mitigated in the future by the modellers sending me the appropriate file formats for the job I will be working on (in this case, .fbx files).

However, I was able to finally import the textured track-piece into the engine, allowing me to now make fully curved and dynamic tracks as shown below! However, an issue we found upon testing was that these track pieces can't be rotated vertically to create anti-gravity sections, which is a concern I will bring-up in the next group meeting to see if there are any workarounds to this and if the programmers can lend a hand in troubleshooting.


Tuesday, 14 March 2017

Bibliography

A GUPTA. (2016). Export fbx from UE4 - UE4 AnswerHub. [online] UE4 AnswerHub. Available at: https://answers.unrealengine.com/questions/515754/export-fbx-from-ue4.html [Accessed 8 Apr. 2017].

DokipenTech. "Unreal Engine 4 Road Tool In Blueprints With Spline And Splinemesh - Part 1 Spline Components". YouTube. N.p., 2014. Web. 20 Mar. 2017.

Erkan. (2015). 10 Most Futuristic Buildings in the World. [online] The Most 10. Available at: http://www.themost10.com/futuristic-buildings-in-the-world/ [Accessed 26 Apr. 2017].

Filipowich, M. (2017). Unreal Engine 4 Vehicle Spline Path FollowTutorial. [online] YouTube. Available at: https://www.youtube.com/watch?v=FVyUVJra3KI [Accessed 3 Apr. 2017].

ObsessedGamerGal86. (2014). Mario Kart 8 Racetracks - Mount Wario. [online] Deviant Art. Available at: http://obsessedgamergal86.deviantart.com/art/Mario-Kart-8-Racetracks-Mount-Wario-603084558 [Accessed 24 Mar. 2017].

The Unrealist. (2017). Recreated: Winston's Shield in Unreal Engine 4 (Repost). [online] YouTube. Available at: https://www.youtube.com/watch?v=vsae7C1TgZc [Accessed 14 May 2017].


Unreal Engine. (2014). Using Splines & Spline Components | Live Training | Unreal Engine. [online] YouTube. Available at: https://www.youtube.com/watch?v=wR0fH6O9jD8 [Accessed 2 Apr. 2017].