Adjust and adapt racing games-more ideas

Source: Internet
Author: User
More ideas

The game is now running very well and can be released if you have passed the final test. However, even if you have not completed all of them, you may want to try more ideas or think about future extensions. I found that I often reuse existing engines to test new game ideas. It is easier to use an existing engine that you are already familiar with than to start from scratch.

This section describes some additional ideas I have made during game development and even before development.

More cars

Having more vehicle models is one of my wishes, but since I am not a model designer and I don't know a model designer, I have a lot of time to create some vehicle models for my racing games, I only have a few 3D car models for racing games. It is relatively easy to change the car's appearance by changing the texture of the car. Starter Kit has three different car textures, and there are someCodeCan dynamically change the color of the car, but they all use the same basic ry.

The adapted version speedy racer game shown at the end of this chapter has another car model (a free version downloaded from the Internet), but different types of cars will make the game more interesting, in particular, each car has different parameters such as speed, acceleration, and brakes. For multiplayer games, different cars are more interesting, so that each player can choose their favorite car type.

However, in chapter 1, you can see that many cars in commercial racing games consume a lot of money for development, and it also takes a long time to make these cars outstanding. We hope that the society can find a way to import new models. After a while, there will be enough game adapted versions, from which we can find the car models to make better adapted versions.

Rendering cars is very specific. For example, the model class only uses the proprietary rendercar method to render cars. If you have more than one model, it will be difficult to update this method. It may be better to implement the universal render method.

Online ranking

It may be difficult to call Web Services and obtain the top 10 online rankings from them. You can add the code in the highscore class, and you can reuse most of the existing Code of the rocket Commander.

you must add system. Web. Services references before using network services. This applies only to Windows platforms. All network service code you want to add to the highscore class must be disabled on the Xbox 360 platform.

Highscore [] onlinehighscores = new highscore [10]; thread onlinegethighscorethread = NULL; /// <summary> /// get online highscores /// </Summary> /// <Param name = "onlythishour"> only this hour </param> private void getonlinehighscores (bool onlythishour) {// clear all online highscores and wait for a new update! For (INT num = 0; num <onlinehighscores. length; num ++) {onlinehighscores [num]. name = "-"; onlinehighscores [num]. level = ""; onlinehighscores [num]. points = 0;} // For (Num) // stop any old threads if (onlinegethighscorethread! = NULL) onlinegethighscorethread. Abort (); // ask Web Service for highscore list! Do this asyncronly, // It cocould take a while and we don't want to wait for it to complete. onlinegethighscorethread = new thread (New threadstart (// anoymous delegates, isn' t. NET 2.0 great? ^ Delegate {// See Notes abve try {string ret = new www.xnaracinggame.com. racinggameservice (). gettop10highscores (onlythishour); // now split this up and build the online highscore with it. string [] allhighscores = ret. split (New char [] {','}); For (INT num = 0; num <allhighscores. length & num <onlinehighscores. length; num ++) {string [] onehighscore = allhighscores [num]. split (New char [] {':'}); Onlinehighscores [num] = new highscore (onehighscore [0]. trim (), onehighscore [2], convert. toint32 (onehighscore [1]);} // For (Num)} // try catch {}// ignore any exceptions! }); Onlinegethighscorethread. Start ();} // getonlinehighscores (onlythishour)

To make the code work properly, you need to run a network service at a specified location of the racinggameservice class to write the network service itself. However, it is not difficult to implement a beautiful website to display data to visitors to do a lot of work. Maybe this work will be done later.

More shader and special effects

It is always a good thing to include more shader and special effects in a game, at least from the player's perspective, because the game looks cooler and is more different from the game a few years ago, at that time, many games were using similar rendering technologies, and they looked very similar.

One shader you can easily insert is the parallax ing from the rocket Commander, but to use the parallax ing instead of the standard normal ing, you need to apply the elevation map on the material.

However, adding special effects and special effects systems similar to xNa shooeter games is also good (see Figure 14-19 ). You currently have no special effects for car explosion or hitting something.

Figure 14-19

For more information about the post screen shader example, go back to chapter 1. Racing games will greatly benefit from HDR rendering, especially when you change lighting conditions and drive through tunnels.

The Blur effect of each pixel motion discussed in chapter 8th is also better than the current full screen post screen, but it is obviously much harder.

One of the main things I have been doing in improving the adaptation of racing games is to change the color correction factors and basic coloring code for the postscreenmenu and postscreenglow classes. Without changing all the textures, the entire game can have a completely different performance.

More game modes

More game modes are also interesting. I am not a real racing game expert, but implementing one or more universal game modes may be interesting. You can often find different game modes in commercial racing games:

    • Best score: this is the current model of the game. It can also be extended to more players, and you need to add some AI racing cars as opponents.

    • Competition Mode: for this game mode, you obviously need more than one car and more than one driver. This is the main model of most racing games. This is not possible at the moment, because you do not have a multiplayer model, and there is no code to process other vehicles. Even if you have some AI code, you still need to improve the collision code of the vehicle, because now you will collide with other vehicles on the track.

    • Practice mode: some special racing games allow you to familiarize yourself with the track before entering the competition. You can train skills and test some parts of the track, but this game mode makes sense only when you fail in the competition mode, which is not the main part of the game.

    • Time Track: you must finish the track or certain areas within the specified time limit. This is more difficult for beginners, because the challenge time is much harder than just completing the track and the highest score of the challenge.

    • Obstacle bypass mode or driving mode: You must bypass the road block within the prescribed time limit and try to avoid hitting them. It may also be on the specified side of the road or on the road.

    • Tip mode: this is a more popular game mode, especially in street racing games. Playing tricks means you want to drift your car, slide through the curve, or even skip some parts of the track. You must complete other types of skills in games such as racing tracks. You need to complete the annular track, but the most advanced mode of the track will make it more difficult to complete.

    • Collision mode: some games focus on crashing cars and destroying your cars as quickly as possible. It was interesting at first glance, but I gave up this kind of game before I got to know more.

    • Add weapons to a car, or at least add items with special functions. Many arcade racing games have implemented this idea, and many different game models come from this idea. In multiplayer games, this is a good idea. Everyone fights with each other and items can help you destroy your enemies or push them aside to lead you. The most typical example of this gaming model is Mario racing, wacky wheels, micro machine, etc.

    • Implement your own ideas or mix existing ideas into racing games. You can even remove the racing car and add something totally different. Make full use of your imagination.

Multiplayer Mode

If you play games with some friends on the LAN or on the Internet, the game model you just discussed will become much more interesting. Because Xbox 360 does not support network code, multiplayer mode can only work on PCs.

After the basic code of the network is implemented, the main change is in player. You must allow multiple instances of this class. You also need to process the player list and update the data of each player with the help of multiplayer messages. You can write a book at this point, because multiplayer games have many topics and there are many ways to implement the Code.

For a small example, see Figure 14-20. This figure shows some network types for multiple users. The game class saves the player list. Each player receives messages from other players and Adds all received messages to an internal list. The message class and messagetype enumeration are used to load messages.

Figure 14-20

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.