This week I attempted to implement an AI system for other racers on the track. I tried many variants in order to get these to work.
My first attempt used was simply creating a spline and animating racers along them. However the issue was that they ended up appearing very stiff and rigid. They also didn't react to the player at all. Another drawback being I would have to mack many splines to create variation within the racers paths they were taking.
My next approach was to use a combination of NavMesh agents and waypoints. With a bit of tweaking they could make it around the track however the issue was that when approaching turns they would all be going to fast and therefore fly towards the edge of the track and slide around the outside. This looked very unnatural, clumsy, and often times led to them missing checkpoints and having to double back to pass them.
Frustrated I decided to put the AI to the side for now and moved on to creating my next level. Wanting to give each level a unique identity and also build upon the world of my game I chose for it to take place in the desert. My thinking and lore being that outside of mega cities the rest of earth is a deserted wasteland with little natural life left, having been dried up and killed by pollution or some other disaster. I took lots of inspiration from Cowboy Bebop with these two images fuelling my main creative decisions:
And so with that I hopped into Maya and began creating a simple graybox of the level. While creating the level it reminded me of one of my favourite racing games of all time: Motorstorm Apocolypse. Taking inspiration from a level which had you race through a ship I wanted to incorporate the feeling of using things left behind by humans as a race track also.
Many days and nights were spent on this game as a kid.
I created a beached and torn apart cargo ship that the player will use as a landing ramp. I also think it helps with world building, telling the player that this was once a vast ocean, now dried up and barren. I also want each level to build in both complexity and fun factor within my game. I plan on doing this by bringing a new obstacle to each track. In this one multiple jumps are included allowing the player to learn how to navigate falling back down onto the track.
Making tracks and assets are much faster for me to implement as I enjoy creating them and find it far easier than code. Here's what I made for Level 2:
Cargo Ship:
Canyon Rock:
I only needed this one rock to create my whole canyon! I managed this by making each face very unique in shape. That meant I could just rotate and scale them all randomly allowing for them all to look different when placed side by side.
This was in fact all I had to create from scratch for the level minus the track (however was made the same as the last one just the curve extrude technique). The rest was just floor textures for the environment.
Track Textures:
Here you can see I just built off a variation of the first track, removing some decals, changing colours and adding sand to it. I did this to keep some form of continuity between the tracks.
Desert floor:
I created three variations allowing for a blend between the sand and the canyon, as well as lining out a path to follow when not on the man made track. These are all tileable textures.
Final Outcome:
Lookin' good.
Comentarios