Final Project Weeks 12 – 13

Capture

These past two weeks have been very busy for Dinosaur Battlegrounds.  We now have a team of 4 developers!  Several things have been added since the last post including a player stats screen created by John (John’s LinkedIn), a localized damage system with attack and defense multipliers created by David (David’s LinkedIn), a foliage swapping system done by Yaniel for touch bending, and more AI work done by myself.

Capture.PNG

For the character screen, John shows all of the player’s current stats.  The dinosaurs have several different stats to work on and it’s quite easy to keep track of them all on the left side of this screen.  On the right side, the screen John listed the experience and health related stats.  At the very top right John made a real time rendering of the player’s dinosaur.  One issue we both looked at together was trying to remove the skybox background from the render without having to make a second dinosaur off in the distance is somewhat of a green room.  While the design of the screen is still in the works with the Game Design Master students, I think it’s great that we have all the functionality in place!

Capture

For David’s localized damage, he added a bunch more colliders to detect where we are getting hit from and made a blocking multiplier which could help a dinosaur resist taking some damage.  He also made an attacking multiplier so that an attacking dinosaur could potentially deal more damage than another dinosaur.  That should make for some interesting tactics!

Capture

While it’s not yet complete with touch bending, Yeni made a system that swaps out landscape instances with BluePrints of that same plats type when the player approaches it.  The BP retains the transform of the instance so that the swap is seamless.  When the player leaves the area of plant, it swaps right back to a foliage instance to save of the computer’s demands.

These are just a couple of things we have added over the past two weeks with more to come!  Since both John and I only have two weeks left of Final Project, it’s crunch time and we all would like to see a bunch more stuff added before graduation!

 

Until next time,

Joshua Stevens

 

Final Project Week 11

Thankfully it’s a common theme for this project, but everything is still running smoothly for Dinosaur Battlegrounds.  This past week I’ve been trying to implement more AI (Pawn hearing) and I even made a tutorial for SGX on Wednesday.  At SGX, we had three UX students from Full Sail who tested ten players on the game.  They had each person fill out a survey before and after the game and had five of them test using keyboard then controller, and had the other five test using controller then keyboard.  While they tested the players, I was able to stand back with a notebook and take notes of others playing the game.

The results of the survey are quite interesting.  For instance, 30% of the players preferred PlayStation, 30% preferred Xbox, and 40% preferred PC as their gaming platform of choice.  It became quite obvious to me that a lot of people aren’t familiar with the standard WASD for PC gaming during or testing, and I think these numbers reflect that.  It made me realize that I should have made separate tutorials for keyboard and controller since the tutorial goes over the controls.  I now also realize that I have to stop focusing mainly on PC but keep the console players in mind all the time when developing.

The next steps I have in the game are to make some functionality that determines whether the player is using a keyboard or controller and detect if the input device has changed mid game.  Then I need to make a second tutorial from controllers that will switch in and out with the first one depending on the input device being used.  I also need to finish pawn hearing at some point.  I’d really like to be heard by the AI when I’m standing this close…

Capture

 

Until next time,

Joshua Stevens

Final Project Week 10

All continues to be well in Dinoland after this past week’s work.  AI has been moved to C++ and I have created a simple Finite State Machine to control it’s logic of currently only guarding a point ( a temporary nest Blue Print I made).Capture

Even though it’s very simple, I’m still quite proud of what I have made this little dino do though my FSM.  The FSM handles every case that could happen when guarding it’s point.  When the player, or any other dino AI walks relatively close to it, the dinosaur will stand up from it’s resting position and roar at the opposing dinosaur every 10 – 20 seconds.  If the opposing dinosaur wanders around this warning area, the AI will spin around keeping an eye on them.  If the AI wanders too far away from it’s Point Of Interest, it will return to it and spin around again to return looking at the opposing dinosaur.  Say the player or opposing AI walks a little closer.  The AI will then start charging at that dinosaur and attack when near.  Again, if the AI wanders too far from it’s POI, it will return to it.  However, if the opposing dinosaur is closer to the AI’s POI than itself, the AI will prioritize attacking the opposing dinosaur rather than returning to it’s POI.  If the opposing dinosaur runs away, the AI will run back to it’s POI and return to it’s resting state.  If the AI no longer detects a threat, such as after it’s killed the opposing dinosaur, it will run back to it’s POI but slow down to a walk as it gets closer, almost as if it is worn out, and return to resting.  Yeah, that’s a lot.  I’m really looking forward to presenting it at SGX this week to see what people think.

Moving forward, my next steps is to try to get audio working correctly in the game.  I think that once we get the background music going and the combat music layered on top of it in game, it will really engage the player with the project.  My audio guys have requested using Wwise for the project of which I am familiarizing myself with now.  I’ve had a little bit of difficulty understanding it and getting Unreal to play nicely with it but that is where I stand today.  Hopefully I can figure it our before SGX this Wednesday.

Until next time,

Joshua Stevens