Classic game production tutorial
peng
1. The main process of game production ----------------------------------------- ------------------------------------
Any one in the computer game development team (this role usually has planned), as long as there is a new idea or thought, it is born in a new game. After this creative is fully discussed, add the accurate judgment of factors such as the feasibility of its operational process and the feasibility of market sales, a complete planning plan can be produced. After a sufficient discussion, planners must write the focus of the discussion, which is to make a complete planning plan, and after the decision makers agree to be recognized, it will be able to take a step. This planning plan is like a movie's script, which must completely cover the story, process, content, method, game screen, role style, scene planning, artificial intelligence, hardware equipment, market assessment, etc. Detailed description and implementation plan for the entire game process should be recorded. When entering the creation process, planning must also keep in touch with the art designers and programmakers at any time to prevent the play program to be out of control. Planning should be able to communicate with each group in time, and control the entire game.
2. Game design basics -------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------
To design a game, you must first determine several important policy, the first is that the game you want to design is one type, the second is the background, the third is the mode, the fourth is the program technology, the fifth is The expression method, the sixth is the market positioning, the seventh is the research and development time. After mastering the above seven guidelines, you can do detailed planning content and distribution resources, what is the seven policy? The author will explain it in an example. ! First, Type: The so-called type refers to a game of games in this game. Through this way, the player has achieved the purpose of entertainment, this game method has a special term to do not name, Zi, this:
(1) RGP role plays: This type of game is trailed through story plot to enable players to dissolve into the protagonist, which is more than half of the combat upgrade system and character dialogue to complete design. The plot route below, the most representative works with the "Space Warrior" and the "Sky Sword" of Daxie Information design designed by Japan, and of course, there are many ways, such as "magical legend", etc. It is also a leader in this. In the type of RGP, several similar patums have been branched in recent years. For example, "Diablo" Dirblo "is positioned as" action rpg ", and" " Magical Legend "
(2) SLG strategy: Talk about strategic games, everyone is the most unfounded should be the "three series" of Japan, "three series", Koei's three-generation style, East Asia, from generation to the sixth generation of the players, for the players Le Road, and the so-called strategic game is the ultimate goal of the game through the operations → war → expand the territory. Generally, the dynamic ingredients are small, the most important game, but from Westwood's new type Strategy Game "Dune Fort" after the introduction, the strategic game also has a major profile, one is the Three Kingdoms series known as Koei, and the WESTWOOD represents the WESTWOOD represented by WESTWOOD represented by the Warcraft represented by the WESTWOOD. It is called instant strategic game, and the round system is different. The instant system has more opportunities to interact with the player and computer. It is not spent on the brain. The way to build → production → attack → annihilate, there is a sentence in the industry The play is said to: "Play the round gameplay is like a big general (head of state), and play the challenge to win thousands of miles, while playing instant games is like a sergeant long (troops commander), can only play Killing kills, thus you can learn about the difference between these two types. (3) ACT action: The so-called action game is actually completely rely on players to do custom conditions, more famous like doom, ancient tombs, quake II, etc., in action games, a considerable type, such as fast Cyclone, III, etc. is positioned as a fighting state, the main game method is that the two people have been hitting each other until the winning and doing, while doom, the ancient tomb is positioned as a 3D action adventure game, the main purpose In order to kill the enemy, then like Abby escape, the dark heart is positioned as a horizontal reel game, the game method is to take a series of levels with a series of attacks, and the performance mode is more ways to do. Then the Dragon Knight, the big crazy shot was set as a moving shooting game, the game mode is to break through the fire network and then annihilated the devil, these branch types have a common feature, but this is also a moving game. Attractive important reason.
(4) PZL puzzle: This type of game is a big shaft of the game with interest-based thinking, content can be included, and thinking model can also focus on physical and logic direction, representative is Daewoo information "Taiwan Ten Six mahjong "," big rich "," warehouse ", etc. I like the characteristics, making the development of puzzle types more market, and the cost is also low.
(5) Adv Adventure: Adventures' connotation is more unsailed to understand the ingredients of the mystery. Yes! This type of game makes the player's screwdriver to find the hidden mystery behind the game, to successfully complete the game, representative Elonging Guurig, Alien Siece, Star, etc., this type of game age layer is higher, and it is not suitable for domestic manufacturers to develop. When you think about a new gaming plan, you should pre-want to prepare the you'll, and then carry out the next plan, in general, the domestic market acceptance is the highest, the RPG role play type, which is why domestic manufacturers This will vigorously develop the RPG type game.
Second, the Times Background: It is a very important approach to game art because it means that the background of a Times background is convenient or not, and the art staff will be based on the formation of conformity; More than half of the Chinese ancient times background, basically a few kinds of times, for example, Westwood's red warning architecture is around the future of 2000 in 2000, and the Warcraft is set in the unreal European in the ancient century. At the end of the Han Dynasty, Xinghai hegemony architecture is in the outer space world, Xuanyuan sword is set in the Spring and Autumn Warring States Period. The Times Background is definitely the planner has decided in the first phase of the entire game, so the art can rest assured to collect information. Third, mode: When it is decided to make a good type and the era background, it will start to think about the model to be present in the game. If your background is booked in ancient China, the type is set as an immediate strategy, then you will think The way the game content is made, it may be the factor of your game, what is the factor? It can be food, minerals and wood, or a volcanic energy, oil, solar or natural gas, with your story. To develop projects, you design in the operation mode you can take into account topographic factors, climate and resource factors, and will use a lot of tactics and attack methods, because so so the same type of game is There are many, but there are all-in-one game routes, which also gathered the supporters. This is an importance of the model setting. Remember that the model cannot be plagiarized, because so, when After the game you designed, the players who have the eyes will abandon your products with the excessive plagiarism, which is not allowed to survive too long in this intense competitive domestic market.
Fourth, program technology: No matter how good you think about a game, the architecture design is much larger, if the programmed personnel itself cannot cooperate, it is actually in the air, so before designing a game, it is necessary to give a program before designing a game. The opinion of the person, not only the program will be WINDOWS98 and WI-NDOWS NT related technologies, but a complete systematic analysis and system plan can be avoided, so it can avoid unpredictable errors in the program, and In a game design, there are two programs in operation, a responsible internal program (the game core engine), an external program (interface), which can play a complete force.
5. In this year, in this link, planners, program staff, art staff should do perfect communication and discussions, usually we know that most of the computer games are 256-color systems, in these games for color dishes Control is quite stringent, in order to achieve the best visual effects, artists usually require the resources of the multi-red disc, and the program personnel will consider whether the situation and memory configuration can be fully fully fully charged. After the problem is determined, the planner will propose a proposal to show the effect of the explosion effect, which is expanded from the inside and out of the disappeared flame intense or tolerate a large amount of smoke combustion type. Definitions are given according to the content of the story, and the physical logic gives the art staff a suggestion, and then draws them before the art staff. There is also an example of "C & C Red Alert" and "AGO Empir Century Imperial" coast, the coast performance in the "Ago Empir Century" is stationary, and the sea will not flow, and only the fish jumped in the sea. And "C & C" Red Alert "coast expressions will flow, but there are no specifications in the sea, these two expressions have their own benefits and considerations, but they are still preferred by the author." C & C Red alert ". The performance of the game content is usually accompanied by different evaluation and supporters with different types of games, not just the performance of the art effect, and the gameplay of the planners and the program of the program. The performance has a close relationship. Sixth, market positioning: No matter how you design the game ideas, if you don't want to clear your market, then the game software that makes the completed game may face sales. Good afar, so you have to know the ethnic group you position before designing the game, from the following table, you can make a market positioning: the degree of age education is suitable
7 ~ 12-year-old country actions, puzzle more interesting, teaching 13 ~ 18-year-old, high school movement, puzzle, more thinking nature, graphic beautifully playing with role, strategy, more reflection is less than 19 years old Knowledge level puzzle, action is more violent and adventure, fun nature, simple operation of 19 ~ 30 years old, university's role plays, strategy is rich in multi-think of thinking, we can shoot week, adventure, simulation, things, puzzles and creative sports
Seven, R & D Time: This is the last project in the initial plan, you must arrange a complete Schedule for the art staff and program staff to develop the law time from this schedule, from this Schedule. From the perspective, in order not to make good ideas to be promoted first by other game companies, it is also necessary to avoid launching models, and a game has been in research and development, up to 18 months, in the perspective of cost control. It is more comparable to profitable standards. Suppose you plan this game for a year, then you have to distinguish between art production time (first line) and program production (second line), and consider the time of launch of Demo version and games, Appropriate timing to play a visibility of the game and put a business opportunity for the game sales.
Making Process A game makes production If you can't fully control the entire job program, you have the danger of Delay. Everyone knows how much the game software DELAY is in sales, so how to avoid DE-LAY is a design It should be avoided, and the most important thing to avoid DELAY in the game development work is the strict control operation process and plan. So what is the case of the game production process? First, the planners will set out planning outlines and collect availability resources in the previous month, and the procedures and artists are confirmed to be implemented, we will instant The strategic game description, in the production of installment, the map editor is written, and the logical setting of the map editor should be planned by the planner prior planning, and the staff will be written according to the planning of the plan. In this same period, the artists started to work together. Generally, a game work group will have four artists, they are responsible for the shape, character movement, interfacia, and map, but this crude, domestic game company More commonly used in such a combination, in foreign artists are divided into shape, fierce movements, interfaces, maps, pieces, films, post-mirrors, scenes, etc., each part may have two people Homework, and there is a qualified quality control over the implementation style and standard, which is uniformly communicated with the post-style personnel to communicate with the program personnel and cooperate with the diagram, so after the production of artists have successful relationships. The whole game quality is high. Since the program is designed to design the map editor to do test, the map design staff must first draw the status required by the program personnel, and the program personnel can enter a large number of production. Since most of the design of the map editor is directly responsible for the production of the game engine, the initial planners began to start the logical judgment of artificial wisdom AI, in order to write a map editor after the program staff can make human wisdom ai Written, and at the same time, the program personnel who should write the interface are also closely cooperated with the art staff responsible for the interface design, and start to make each intervene, because the interface is not only in the game, but also controls the entire game of the game, at the same time It is also an appearance of a game, and an interface with excellent creativity is very popular. When testing a map editor, the program also needs to use the moving object (person) to test the obstacle judgment and the shortest path search method on the map, so the art staff of the design person action should first make a group of people. After the supply of supplies, the procedures are produced by the map editor, and the artists designed by the characters will be made to the program. 3. Game Design Ten Princess ----------------------------------------- ------------------------------------
Travis S. Casey
1. Writing your favorite game is not a cloud. As long as you are love with your friends. The same reason, don't write a game theme just because it is currently popular. Write your favorite theme so that you can inspire your enthusiasm.
2. Experience is the best teacher learning game programming is to read a large number of game programs. Play and analyze these games, then design your own game or extend the game. My most important experience is role-playing games, and many of my gameplay are also from them, but their ideas apply to all types of games. I have read a lot of RPG games, and there are about more than 70 rough calculations. I have played most of them, more than forty. Not only playing and proficient in these games, I also analyze them. What makes these games or bad? How do I modify it? Which part is excellent? Which parts are not satisfactory? why? After playing and analyzing other games, I use these knowledge for my own game. For example, in the "Super Hero" game, "Fighters" and "Hero" have achieved better results in using the "exponential translation algorithm". If I want to design a "super hero" game, I know "Index Change Algorithm" is very preferable. Such an analysis can give you a lot of validated ideas for your work. 3. Test, test, test your game, play as many times as much as possible. It is best when you are not present, let others play, tell them again. (Let others play games when you are not there, "blind test"), there is also, push your rules. Consider the hypothesis, solve the probability complexity. For example, if you are designing an RPG, try to find a average people with a bows from one meter, five meters, ten meters, fifty meters, and a hundred-meter-size target. For World War II games, check your monitor and solve a small infantry to destroy a tank. Repeatedly calculated under different conditions, such as: different terrain, night, etc. This will help you find a place in mathematics or have built a bad assumption.
4. Learn background knowledge If you want to make a medieval magical game, you will read the medieval literature and history. Read the book and the existing medieval legend of the magic. The same is true for other types of games. If you want to be a game of Vietnamese fight, you should read the righteous history and wild history of war, especially the analysis of strategy, tactics. All background knowledge can be used in several ways: First, help you create realistic roles. In addition, it can reduce the possibility of major errors in terms and background knowledge. Of course, the information should be itself interesting. If you are not interested in the you want, why should I write this game?
5. Regular education chooses a class of probability and statistics. Try to read some mathematical theories in the game. You may feel that it is not used, but it can help the perspective algorithm. Consider your English (or other languages you published in the game) When the game is well written, it is easier to learn, at least a large number of grammatical errors. If you want to make a computer game, you may wish to learn a few doors when you have any programming classes. You may not learn what the program is specific, but a good course can teach you how to organize procedures to make it easier to maintain and discover errors. Building a "reference library", it is a series of games related to your game engineering, book information. When you have a sudden inspiration in the morning and the library has been closed, it will be very useful.
6. Take some time a game is like a child, when it is born, its parents always think it is perfect. Summary from your game to get some new views, avoid being exhausted. Repeat this process again.
7. Keep a record to determine if you have a copy of the game. If you are entered on your computer, you have kept a hard drive and a soft disk copy, and then print a clear nearest version (such as printing a month, if you do it, print a week). You will not feel too much, because your good friends will come to you or want to have copy. And these copies can reduce loss opportunities you caused by hard drives or loss of notebooks. The same truth, the copy of the old version is good. If you find new ways when you have a good time in the game test, you have throw away the old version, what should I do? At least a copy of the last version before, put together with your current version. 8. Other precautions excellent planning and writing are good, but beautiful visualization illustrates the beneficial to your sales. If you want to move your own move, learn some desktop publishing, or find some ready-made illustrations (such as: editing art or government publication) or find someone to help you some illustrations. Find a person engaged in printing industry and explored him some cheap methods as possible. Low prices can help sales, low cost is conducive to your income.
9. Remember this is just a game not to ignore your real life because of making a game. If someone doesn't like your game, don't mind. Don't worry about stealing your creativity. Remember the first martial arts, you will have fun from your own.
10. There is no tenth :-)
In addition, there are some additional advice from Tom ("Prism Game"), thank Tom! : 1. Constant innovation is very good. If everything in your game is very met, it seems to be stolen. If all things are not unfair, people feel unfamiliar. Common, a single unique idea is good, but you will make your game look like a "variant", and two familiar creative creation will make the play with freshness while easy to get started. So don't try to completely come from new inventions, but should be clearly clear, concise, and simply use the innovation and interest in expanding key concepts. 2. Fixed and carved your game ideas. Test is not only to clear the mistakes in the game and rules, but also like a seminar, and the game designer can find what is really necessary to express. If you leave the test to the end, this discovery will have no benefit to you. If you perform early testing and often try to find this game truly, you can improve this game. "Alpha" test is asking: "Do you really have this game?" "I got it?" "Beta" test seems to ask: "Do you use the best way to achieve this effect?", "" Is it the refinement of the game? Or can it be simplified or deleted? "" Whether all major game systems work together, give me the game experience I expected? "" Gamma "test is asking" how to improve games Breaking balance and introduction? "Many designers stayed after alpha (producing an attractive but a defective game) or from Alpha to Gamma, skipped Beta (producing a good but not enough than the perfect game ). It is usually necessary to rely on your intimate friend / gaming group and early criticism analysis, helping you find what it can improve a pretty good game.
Some other recommendations:
During my production game, there is no clear and obvious test "stage". I tend to do every stage. I modify some systems, abandonment or replace some, improve other balance of balance and introduction, almost do at the same time. These parts come from the main game type of the main game of the game - Cosmic RPG, you must do a part in a time. The key is to seek to meet your best work. Try with different ways until you find the way your right, then use it to get it.
4. The plot of the game -------------------------------------------- ---------------------------------- The important game story is self-evident, especially RPG games, I believe that the majority of players can't be familiar with "Xianjian Qi Chuan", this game wins with plot (his music is quite good), the major media is also the story of the story, this is not I have said more. I have also seen many articles important to mention the plot. These articles are quite good, quite valuable, but basically tell the main points and precautions. And I will analyze from another aspect. The plot of the game. The story of the game is the soul of the game (of course, in addition to a few games, such as sports, racing, etc.), the game makes players into the settings of the players through a variety of ways to touch players. But if the plot of the game is not attractive, then no matter how good the game's performance is, it can't achieve the purpose, but what kind of plot is attractive. In fact, China has a lot of cultural differences from foreign players, this can be seen from all over the world. The game produced, and the game of Europe and the United States attaches great importance to the solidity of the characters and scenes. It looks like a movie, and the Oriental game generally pursues comic-style effect. But which two style is suitable for us? The answer is suitable. Don't forget that our players are basically the youth generation, the acceptance of new things is quite fast, and our players who have the game of Europe and the United States are very fast, from which possible game production is Quite excellent, take my own example, I got a "Biochemical Crisis 2" game, the animation started with the game can be said to be a hurt, and it is very good to put the theme. And the second style The representative work is "Xianjian". The content to be expressed by the game must be able to be accepted by the player, but also have innovation, such a plot is to say. Now we have a good observation point, that is, the film, foreign production is well-produced How big is the impression on us after being squeezed into China, and the work of Chinese traditional themes will also leave our unforgettable impression. We have to admit that we have a difference in technology we have compared to foreign game production companies. This makes many good themes, we don't dare to use, because it is not very good in existing technologies, if it is barely, it may also play against it (this is an example). Here I just get one The role of the beginning, what kind of plot is suitable for everyone, it is not a clear, I hope that the game enthusiasts can actively discuss this problem, this is also an important thing to solve in our Chinese game industry.
5. Role playback upgrade system research --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
In a general role playing game, the growth of characters is a very important thing. Whether it is a role-playing game or a popular strategic role play game (referred to as RSLG), these upgrade systems are an important part of the game. . However, in the general role playing game, the upgrade and growth of the characters have many ways. In this article, the author will introduce a variety of role-playing methods commonly used in the game and analyze the advantages and disadvantages of various practices.
In a general role playing game, the most common upgrade method is a chaotic growth method. In this mode, when a role is upgraded, the program uses messy numbers to determine the index of the upgrade, that is, all upgraded values are not in control, but according to a mess, it is determined to improve. Numerical value. How is this way to deal with this upgrade?
When the character reaches the standard of the upgrade, it will enter the subsection of the upgrade. In this sub-medium process, the role is calculated to calculate the upgrade index obtained by the designer, and then this value is calculated. Add it to the need to increase.
In the case where this chaotic decision is upgraded, the upgrade value of the player can obtain is completely in the range of designer, whether the upper limit of the upgrade or the lower limit is within this range, absolutely There is an unexpected situation, even if the designer improves the upper limit and lower limit, it will not change these. Although this method allows the designer to easily order the upgrade of the upper and lower limits, but can not control the unfavorable factors of the upgrade, that is, the ingredients of the mess are too high. If there is a character because the luck is not good, only the lower limit is upgraded, then it may be weaker than a maximum of the upper limit upgrade value than one time. For example, when the range of chaos is one to five, if the character, the role and the role B is obtained, the upper and lower upgrades are obtained, and the following conditions will occur: ┏ ┳ ┳ ┓ ┓ ┣ ┣ ╋ ╋ ┫ LV1 10 10 LV2 15 11 LV3 20 12 LV4 25 13 LV5 30 14 LV6 35 15 ┗ ┻ ┻ ┛
Everyone looks at the above table, is it possible to see the value of the role in the second level is the same as the value of the top 6th level. Due to this unfair situation, it will often make the player's efforts to have some luck in the ingredients; if it is not good, it may not be able to play the effect.
Since there is such a shortcoming in a messy upgrade, there are two different improvement methods, first of all, the percentage of upgrading. In this way, the role is carried out when the role is upgraded, but it has been adjusted in the proportion of each number. For example, the same upgrade is still from one to five, but the proportion of each number is adjusted as follows:
┏ ┳ ┓ ┓ ┓┓ 比 比 ┣ ╋ 1 10% 2 20% 3 40% 4 20% 5 10% ┗ ┻ ┛
As can be seen from the above table, in which the proportion of each number has made some adjustments. In the original mess, the proportion of each number is the same, in the above example, each number has two percent, so the value of the upper and lower limit is relatively easy, misfortune The situation is much more; but after such an adjustment, the chances of the value of the upper and lower limits have decreased a lot, and the unfortunate situation will be reduced.
Although such a method can reduce unfortunate opportunities, it is still unable to overcome all conditions because it is still possible to happen, so that the player caught in a poor attribute. Therefore, another improved manner ~ The correction value upgrade method will appear.
In fact, the correction value upgrade method and the original chaotic processing method are exactly the same, but it will be calculated once when it is upgraded to a degree, and takes a correction value, so that the player does not It is better to achieve the upgrade of the upgrade.
In this practice, the upper and chaotic numbers are identical, and the only difference is the second half. And the role of this subscriber is to get a certain correction value when the player who is more lucky when upgrading. We will do an example from one to five, let the player get a certain correction value when the player will get a certain correction value. Therefore, if a role is only a little upgrade value in five upgrades, then its value is:
10 1 1 1 1 1 = 15
However, in our upgrade table, the medium value is three, so when the role is five, the following values should be obtained:
10 3 3 3 3 3 = 25
So, this role is because the top five upgrades are not good, so we have obtained ten-point upgrade index, so we will make this lack of value to make a correction value to calculate from the correction value. It can be obtained in the formula:
25 - 15 = 10
Just add this value to the properties of the role, let the character do not adversely disadvantageously because the luck is too bad. If the role gets a relatively high value in the upgrade, the correction value is negative, and it means that there is no need to have a correction value.
This practice is completely not allowed to make the player is not good because of the upgrade, so it can only be considered a correction part of the numerical approach, although it cannot completely solve the problem of changing numbers, but can reduce the unfavorable factors, so In some games, this is indeed used.
In addition to chaotic numbers, there is another way of upgrading in the table. In this upgrade method, the upgrade value of each role is that the designer has been booked, and there will be no changes at all. It is the advantage that the designer can completely control all the upgrades, but the table relative to the table needs to occupy more program space.
For example, if a game is using this upgrade, then there is a upgrade table in this memory. If there are seven properties in the game, it will get an upgrade, and the level has a total of 100 changes, then basically there is a seven hundred different numerical tables in the program. If a value is used for two bits (Byte), then the memory is required to use 1K. If there are four characters in the game, they are all different, and then the memory of the memory is nearly 5K. This may feel that there is not much, but when this information is increasing, the consumption of memory is more and more, making the space of the program are getting smaller and smaller.
Because of the case of the table, the upgrade is compared to monotonous, and most of the games are not willing to adopt this approach, plus this type of practice is also relatively high, so if it is not necessary. Most of them will not use this practice.
In addition to these practices, there is another way of an index type upgrade. This method is actually the improvement of the table-type, because it simplifies the upgraded table into a number of parameters, and calculates the upgrade value in accordance with this number when upgrading. Now I will give an example to demonstrate. There is currently a role attribute and the upgrade index as follows:
O Life: 10 Life Index: 10o Mana: 10 Mana Index: 10o Force: 3 Power Index: 2O Wisdom: 2 Wisdom Index: 2O Reaction: 2 Reaction Index: 2O Physical Energy: 4 Physical Index: 2O Life: 1 Air Air Index: 3
Then when he gets an upgrade, the program will calculate the value of the attribute values of the next level according to this upgrade index. So after the level is raised, the value of the attributes is the following numbers:
O life: 20o mana: 20o power: 5o wisdom: 4o reaction: 4O physical strength: 6o luck: 4
With this practice, there is no need for complex upgrade attributes in the program, just a few simple numbers can be, if it can change the relationship between the numbers, and make the upgrade Time changes. For example, the increase in life is related to physical fitness, or the increase in mana and wisdom, then there will be more changes in calculation, so that the performance of the entire upgrade will not be too simple.
There are not many changes in these practices, and there is no way to show a person's growth. Just as we sometimes describe a person "unconads" or say that he does not show this "Hours". Therefore, there is a way of upgrading the growth curve. In this upgrade, we must first set a few different upgrades. Like:
A. Balanced growth B. The large device is late C. hours.
To achieve this effect, we need to divide the upgraded total level number into several phases. We use a game that can be rising to a hundred levels into a block, and you can order how much value for each of these three growth conditions.
In fact, this curved upgrade method is similar to the processing and exponential practices, but only the indexed method, one person will only have a value, which is not changed. However, in a curved practice, there will be different upgrade indexes at different stages to create different growth. In the role of "universal late", the role of this category is slower, but when the character grows to a stage, the growth rate will speed up, so we may only be in the first two stages. Give them a little upgrade index, then give them a higher upgrade index, so that this role will rise faster in the later stage.
Conversely, if it is designed to design a "hour" role, then we can give him a higher upgrade index at the beginning, but it will give it a lower index in the later period, so that you can show this Case.
In fact, "Bright and Dark and Dark War" in the player have used this kind of practice that each role in the game has its own different characteristics. Especially the role that is late in the late latter, once the speed of the player is too slow, it will be abandoned, but later, after the characteristics of this role, then go back to training, it is this curved upgrade Features. This method makes the role in addition to the simple digital properties, which will add some hidden features to make the game more taste.
If you have a personal preferences, I am more appreciation of the curve upgrade, because this way can hide the characteristics of the role, nor will it make the player feel the dead board because of the change of the number. This kind of practice can be said to be two kinds of characteristics compared to a mess, it is a good upgrade. Only in the current domestic game rarely use this method, mostly use a mess-based practice, and it is a bit unfortunately for the players who play games in China. Because everyone does not have a way to experience this method.
6. Intelligent system processing in the game ----------------------------------------------------------------------------------------------------------------- -------------------------------------
The most common form in the game is the most common form in the game is the opponent for creating computer control. Because most games are single games, it is necessary to design the player must defeat the opponent in the game. To achieve this, you can use a simple AI algorithm similar to a * search to help your opponent through the maze to the player. You can also use a simple algorithm to predict the player's reaction. However, remember that there is no need to create the most powerful opponents in the world. Your opponent can provide a sufficient challenge to the player. Also, pay attention to the content of the game. For example: a strategy in a lunch-style RPG game is the main position; and in pure RPG is more important in the pure rpg. Don't let the players fall into the failed mud because the computer opponents are too strong. Non-intelligent opponents in the game typically, the AI technology is tightly associated with computer opponents in game development. This is because the early most similar game games are one-on-one. However, any good adventure game or RPG game developer knows that AI can also be used for non-opponent roles. For example: If you are building an RPG game and you want your world to live, this is to say that people in the city will act in intelligence, then you can use some algorithm to determine some time in one day, The role should be there. You can use AI algorithms such as A * to assist you from moving an object from one place to another and bypass obstacles.
The AI in the intelligent system game in the game is essentially most imperative, but they basically rely on some AI elements. You can combine all the objects with decision-making functions into a whole game. For example: In a war game, your part can make a respective AI decision based on the specific environment of each other. Using this method, you have to focus on how to establish contact between individual decision-making individuals, and how these contacts can make the game a whole. Is there a high-level decision-making sounding, or the equality between individual decision-making individuals? For a war game, you have ten tanks, and their thinking mode is basically the same. Therefore, they have decided to attack a tank with the lowest HP value in the enemy camp. But at this time, one of them said: "This enemy belongs!" Then the remaining nine tanks should adjust the next attack target according to this information. When you build a smart individual, consider how it should act in an overall environment of a smart system.
7. Artificial intelligence production in computer games --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Computer games have greatly improved hardware execution efficiency and display resolution, and many computer games that have many impossible or very difficult or very difficult-to-realization have been successfully completed. Although the presentation of computer games is diversified, but the theme of our discussion today, artificial intelligence has almost unpryunated relationships. In the role playing game, the programmer and the planner need to accurately create a so-called "monster" in the computer, so that the half-orc people are seriously injured and know how to escape, the Master knows how to show the attack . It is currently possible to immediately think of two games with artificial intelligence. There are two types: First, the so-called war / strategy simulation game, two is a chess game. The specific gravity of artificial intelligence is different, and there are different in different game types. Some computer games are not marigned with high artificial intelligence. Otherwise no one is buying; some is almost embarrassing to make players can't feel any artificial intelligence.
Guided thinking
The way Ai is most likely, and it is also the main direction of early game Ai development is the rules orientation or called hypothesis orientation. In some simple computer games, programmers can do not difficult to convert rules in the game with settings into a rule, and then write them into computer programs. Let us play a role playing game as an example. Most of the plans to set the so-called computer monsters, the settings are usually the following:
Life attack power defensive force attribute
The last "attribute" is one of the items I like to increase during setting. Through this attribute setting, I can set the monster into "fear of death", or set the soldiers to "deceiving". With the information we have mastered, the outline in the battle system is born: rules
IF (Health <10) // Dramost death? {if (attribute == Greedy death) Result = Attempt to escape if IF (any item or spell with health) results = use or display related items or spells }
Rules IF (Against Against France && has sufficient mana) {Results = Show attacks}
The most basic AI is established by the above series of "if-" rules set. Saying such a method can only establish basic AI is actually not correct. As long as there is sufficient and accurate rules, this way still has a certain level of performance. The biggest advantage of rules orientation is easy to learn. Without the premise of the theoretical concept of the Olympics, there is still a large number of uses. Therefore, many old players often don't touch the enemy's attack strategy, mobile methods, and so on.
Inference thinking
I believe that friends who have come into contact with computer language or self-study have heard a famous procedure, which is a well-known program. Using a well-word game as a introductory textbook that discusses AI, I personally feel the most appropriate example. Maybe someone still doesn't know how to play in the well. As long as any party, first, first, first, first, first, first line. We can also derive the field here in the previously talked.
No one of our lines of us, there is still an empty // I am about to become a line, the result = the space IF Any one line has an enemy two sons && Die still empty / / prevents the enemy from making a first line = This space If any one of the IF has been there I have a child, and the other two grids are still empty // is made into two sons = this space
Once I was on a computer book, I also saw some examples introduced in a well-known game. Different, I can't see any rule-oriented shadow. But after careful analysis of the program code, I got a great inspiration. It turns out that AI can be made without so many rules. It is used by the method in the computer AI course: the great ministerial method. I only explain the concept of this law here. Continue to take a well-known game as an example, the computer will take a certain place, followed by a hypothetical manner, of course, must assume that the other party is the best position, otherwise everything is meaningless. In the process of assumed the other party, naturally need to suppress our next step in response, so that it is until the full bureau game.
Under the bottom of the program fragment: Bestmove (int LAsttie; int Lastmove; int subv; / * firstmove; int subv; / * first, check for a TIE * / IF (ISTIE ()) {* v = 0; RETURN (0);}; / * if not a TIE, TRY Each Potential Move * / for (* v = -1, lasttie = Lastmove = -1, i = 0; i <9; i ) {/ * If this isn't a possible, skip it * / if (Board [i]! = 0) Continue; / * make the move. * / Lastmove = i; Board [i] = p; / * DID IT WIN? * / If (Haswon (P)) * v = 1; Else {/ * if not, Find Out How Good The Other Side Can Do * / Bestmove (-P, & SUBV); / * fy can only lose, this is STILL A WIN. * / IF (SUBV == - 1) * v = 1; / * OR, IF IT's A TIE, Remember It. * / else IF (SUBV == 0) { * v = 0; LastTie = I;};}; / * Take back the move. * / board [i] = 0; / * f We found a win, return IMMEDITELY (CAN't do any better tha Tat) * / If (* v == 1) RETURN (i); / * if We Didn't Find ANY WINS, RETURN A TIE MOVE. * / IF (* v == 0) Return (Lasttie); / * if there 't Even any Ties, Return a loosing move. * / else return (lastmove);
Some of the foreign forums have held 256 bytes of game design competitions. There are a lot of works, one of which is just a well-known game. The author used more than two hundred lines in the district, and the same work is exactly the same as the above program, and the visible skills are indeed. In addition, I also hope that similar activities can be launched in China. By the way, in such a chance limit, there is almost no other choice in addition to assembly language. .386c code segment cs: code, DS: CODEG 100H TICTAC Proc Far Start: Push CS Pop DS MOV AX, 0B800H; Clear Screen MOV ES, AX; XOR DI, DI; MOV CX, 7D0H; MOV AX , 0F20H; REP Stosw; XOR CX, CX; MOV DL, 5 LOC_1: Call Printboard Loc_2: MOV AH, 8; Waiting button INT 21h Movzx BX, Al
SUB BL, 31H; If it is not 1..9 JC LOC_2; then re-enter CMP BL, 8 JA LOC_2 CMP DATA_1 [BX], Al JNE LOC_2 MOV BYTE PTR DATA_1 [BX], 'X' DEC DL JZ SHORT LOC_3 MOV Al , 'o' Call Bestmove Mov [Si], Al Call Iswin; Judgment Whether it has obtained victory JNC LOC_1 LOC_3: Call Printboard MOV AX, 4C00H INT 21H DATA_1 DB '12' DATA_2 DB '3456789' DATA_3 DB 0 TICTAC ENDP Printboard Proc Near MOV SI, Offset Data_1 MOV DI, 548H MOV CL, 3 LOCLOOP_4: Movsb Add Di, 5 Movsb Add Di, 5 Movsb Add Di, 133h Loop Locloop_4 Retn Printboard Endp Iswin Proc Near MOV BX, 1 MOV BP, 3 Call Sub_3;
Check if the transverse is completed in Inc BX Inc BX DEC BP DEC BP CALL SUB_3; check whether the vertical direction completes Call Sub_4;
Check the oblique handle CLC Retn Iswin Endp Loc_5: STC RETN SUB_3 Proc Near MOV AH, 3 MOV SI, OFFSET DATA_1 LOC_6: MOV DI, SI CALL SUB_5 Add Si, BP Dec AH JNZ LOC_6 RETN SUB_3 ENDP SUB_4 Proc Near MOV DI, Offset Data_1 Inc BX Call Sub_5 MOV DI, Offset Data_2 Dec BX Dec BX Call Sub_5 Retn SUB_4 ENDP SUB_5 Proc Near Mov Cl, 3 Locloop_7: CMP [DI], Al Jne Short Loc_Ret_8 Add Di, BX Loop Locloop_7 Add SP, 4 JMP Short Loc_5 Loc_Ret_8:
RETN SUB_5 ENDP BESTMOVE PROC NEAR MOV BX, 31FEH MOV CL, 9 MOV DI, OFFSET DATA_1 LOCLOOP_9: CMP [Di], BH; #EMPTY? JNE Short Loc_12; #no, skip mov [di], al pusha call iswin; # CY: WIN POPA; JNC Short Loc_10; MOV BL, 1 MOV SI, DI MOV [DI], BH RETN LOC_10: Pusha XOR Al, 17h; Good! Toggle 'O' / 'X'
Call Bestmove Mov Data_3, BL POPA MOV AH, DATA_3 NEG AH CMP AH, BL JLE SHORT LOC_11 MOV BL, AH MOV SI, DI LOC_11: MOV [DI], BH LOC_12: Inc BH INC DI LOOP LOCLOOP_9 CMP BL, 0FEH JNE SHORT LOC_RET_13 XOR BL, BL LOC_RET_13: RETN BESTMOVE ENDP CODE Endsend Start
7. Game Engine Xiaoyie ---------------------------------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------
I want to write a little game design, I exchange, one is the problem of experience, II is the company is in a nervous game production period, I really can't take it, I haven't moved, I suddenly first fever, I wrote a section, I prepared There are some articles on game creative, planning, production, process management, and production tools for your reference.
Our game design experience is mainly adventure games and role playing games, but we should try to adapt to the rest of the subject when designing game tools, but it is possible not to test. In addition, the company is looking for ambiguous comrades. I wrote a little article to make friends, many things are just our experience, not necessarily good. Reference
Game design tools include two block editing tools and game engine; editing tools: Editing the game data, generating data files required for game engines, including the following function blocks: image editing, scene editing, item editing, animation editing, characters Edit, event editing, etc., specifically introduced in the later articles.
Praise from the game engine. Language: VC5.0 operating system: WIN95 image engine: Direct X 5.0 support game style: Various types and perspectives and multi-level adventure games and role play games
The entire game engine includes the following function blocks:
Resource Management: Image Library CIMGLIB, Sound Library CsoundLib, defined by editing the resource files formed by editing tools, each resource includes defined management and some operational interfaces. Image library maps are included in a variety of formats (BMP, GIF.AVI, FLC, etc. ) And the memory format definition in his formation, sub-map definition (each picture includes many small graphs, you need to define its small map position, you can automatically generate), special definitions, such as walking, physical properties, center positioning Point, trigger zone, can expand various nature definitions according to your own requirements. Images best allow image combination definition. The sound library includes the definition and reproduction of WAV and MID. The resource is defined by imglib.dat and sogimg.dat, the debug version Please don't pack resources, but point to normal file names, packaged in the release, such modification and different staff coordination is easy, otherwise it is best to have its own resource manager. We use text in debug version Description Format. Many data can be manually prepared without special editing tools. Resource management objects also include memory management, such as setting time valve release long-term resources. Sound management: csound, including Creat (), Sound (Char * filename. ..), setpos (), etc., DirectSound has some functions, we have to do to simplify, reduce the external interface. Window system: Take over the standard window system, a perfect game engine preferably has a self-interface system, As for simple or complex, according to their situation, a three-dimensional interface system with basic functions can be dealt, and the reason for the window system is that the general image engine does not support standard windows. Second, it can facilitate porting to another operating system. In our game engine, the game is just a special control (CWINGMCTR) of the window system, so special requirements such as multi-window games can be realized. Cwingmctr is a special control that controls the game through him. Include control and display.
Image Engine: The management of the image engine used, we use DirectX, including Creat (), CreatSurface (), OuttosCR (), Bilt (), etc., he is not the focus of the game, we try to package image engine detail stand up.
Image Management: This is the center of processing images. Generally, the game display likes to design a certain image engine, I think it is best to design your own object to encapsulate the image engine of others, which will not be restricted by an engine. Transplant is also relatively easy, whose Direct X is used, but the external interface is a CPICPAGE interface, not only including Direct X's Surface, including standard bitmaps, AVI interfaces, GIF animation interfaces, and customizes In the format, he combines various types of images, using unified operations, such as DrawText, Bilt, Line, etc. Standard graphic image operation, and an extended Alpha channel, transparency, etc. In order to reduce memory requirements, especially 16m high Color, don't use all images to use the surface of Direct X, for some images, such as background, you can use standard 256 color bitmap, or even a GIF surface, you need to extract, we also use a monochrome bit The picture is used from the background, such as a huge tree in a scene, as long as it is not an animation, we can use the form of monochrome map from the background as another layer so that we can greatly reduce the image. Memory demand. Therefore, all hand-painted (or 3D scenes) is used, not a scene of a small picture collage. It can save 60% of memory requirements through various means. CpicPage can override the content through Timetrace () and multi-threads, such as Avi changes.
Game control: This part includes display and control, composed of cgame-> cgamepage-> cgmobj object, CGAME is a total control object, including many CGAMEPAGE game pages, cgamepage is a game piece with continuous scene, a bit similar to the game CGAMEPAGE consists of a series of cgmobj, cgmobj is the basic object of the game, which inherits specials from maps, objects, items, characters, weapons, animations, triggers, multimedia buttons.
Game object, this is a part of the incoming and overwrite according to the game requirements, the external interface is: sendDraw (), Draw (), Timetrace (), Acceptmsg (), SendNetmsg (), AcceptNetmsg (), etc., he is through Cwingmctr To call, each object has many control parameters, allowed communication between objects, and the control of their own death development, try to reduce the direct interface with the outside world, and communicate through the message.
Objects are divided into two categories: view objects and activity objects, and view objects define elements that make up the scene, including two layers of background and foreground, which can be constructed by the entire picture or a picture collage that is commonly used by RPG. It is characterized by only As the background or prospect, the activity is active between them. Do not change after the general definition, nor does it control, because the image interface is multi-format, so we can easily use the AVI or GIF animation as a background to increase the scene. Effects and authenticity. The scenery also includes walking nature definitions, we use 8x8 as a unit, each unit defines a nature, such as flat, grass, obstacles, etc. Activity object is active between background and prospects They have mutual positional relationships, and the front-rear relationship will continue to change as the location change, so he is dynamic in the CGAMEPAGE order. The relationship between the object is generally defined by the Y-axis, since the angle and complex are supported. The terrain structure is not enough, and we introduce the concept of the ground baseline. By determining the front and rear relationships by determining the front and rear relationship over the ground baseline, the ground-based line is described in the image definition. Active object has complex parameters, Accepting external messages, you can have your own reactions. We use a description language in the engine to describe their reactions, such as hitting the mouse, the characters have changed, vocal, dialogue, etc. It will be introduced as a special chapter. The game display process is like this, and the game control of the window in each refresh period calls the game page cgamepage-> senddraw (); the game page will display the object to be sent before and after Window, also indicate whether this object changes, the area of the window analysis is rewritten, call the DRAW () interface of each object to refresh the activity of the activity, not to increase the speed, not to display all the area, but only rewrite the activity area, therefore We have designed a CCLIP object to manage refresh definitions, which is the unit that is divided into 16 * 16, and finally calculates the optimized multiple shear areas. The entire window system and each game control have yourself CClip object. Another increase speed is that the game control has a display page twice as large than the display window. This scenario is rolled, as long as the display position can be changed, do not refresh all the area. The process of game control is like this : Acceptmsg () to accept a variety of message call scripts to change their own parameters and status and affect other objects, and when each time clock came, call each object's TimeTrace () to change the state, such as animation change, movement track change, Observe the surrounding objects to respond.
System Control Module: Reaction on the parameters of the system. Different subjects are different, such as instant strategies, etc. As long as this part and expand the game object, the engine can support different themes. As for artificial intelligence, smart walking, just object The method is relatively simple, just take time. The game control section is more complicated, and each game object has many details, do not do specific description in this article. The last one is a network module: we are Developed the first graphical MUD game in China, the network is its core part, introduces a lot of content, special articles. We are not Directplay, use WinsOct, consider Unix as a server. Network The difficulty to solve is safety, synchronization and data compression, here you want to use many techniques.
The game is defined by data files:
Data file format: Data file includes resource definition files and game definitions, interface definition files, file data format We use text form, similar to web text, such benefits One is that the version upgrade is easy to handle, the second is to reduce the previous period For the functional requirements of editing tools, because we can use the text editor to handle most of the data, then design a powerful tool comparison reality, of course, finally provide to the user is the processed data file. There is a conversion between him. Module. The running process description of the game (not a real process, press DOS format description): CreatGameWindow (); // Initialize the Window window createdraw (hwnd); // Initialize the image engine CreatSound (); // Initialization sound engine CreatAvi () // Initialize the AVI engine CreatNet (); // Initialize network engine loadGameData (); // read game definition data, including resource definition files and game definitions, interface definition while (1) {Wintracemsg (); // Handling system message For example, a mouse, keyboard, etc. GametiMetArce (); // Time to process the time of the game page of the activity WinPaint (); // Refresh game display Outtoscr ();}
We introduced the single-threaded structure, many parts can be used to speed up the game speed, but the structure is the same, there is not much introduction. The system analysis of the game engine is the key to the success of game design technology, it is the easiest way to walk Part of the detachment, I hope that our article will give you a little inspiration. Since today's game tends to multi-type synthesis, you must not stick to a single subject when designing the engine. We ask him to support the game when planning the engine. And even support multimedia design, this engine can support various style 2D games as long as the game object is expanded or rewritten. In the future, we have to do it is a development platform that can interactively design a variety of games. Of course not << Game Factory >> Toy. Write here today, this is only a matter of probably introducing the engine structure, and every point has a detailed description, welcome comrades. We try to answer your friends, welcome to join us. Team.
8. Script language _------------------------------------------ -----------------------------------
Today, I want to first use the technology used by a game to import the category of practical design. Have you heard the "zzt" shared game.
If not, don't care too much, this is the text mode role playing tour of 91 years. We don't talk about the game itself, and put the focus in the development system of the game. Although the ZZ T is old, the "object-oriented" design concept is not ambiguous.
Why do you need an extra design of a game exclusive program development system? Is it difficult to use existing programming language? First, in today's common program language, most of them are general languages. Of course, there are many special languages, strictly say that there is no special language for the game design. (However, in the era of eight computer, there is already a software named "Game Maker", which allows the use of built-in language to develop games) for C language and assembly language, which is currently used in the current game, programmers The engine system of the game must be produced from nothing.
If there is a set of game development systems, making games (especially sequel) will greatly reduce the time and effort spent on programming games. Let's take a look at several practical examples: Origin's Genesis series (character stroke management, all intercludes have a exclusive system). As long as the game development system is planned, once the production is completed, the game program made in the future will definitely have a big benefit.
I don't want to discuss the difference between the editor, the compiler, and the detailed principle of the design. Although these are close relationships with design a set of game development systems, these are the categories of "System Program" courses, we only need to know. There are many benefits to arrange procedures with game information. You will not be able to re-issue the cumbersome process of "modifying code, compile, connection", etc. because only need to modify the game information. Let us see a ZZT game, a "control" program of a shop owner
@Vendor #end: Touch "Event" trigger (contact this "object") "Hello, You Must Be new to town! / If you want to be successful message Shows Around Here, You'll NEED TO Buy Some Supplies!" / ! ba; ammunition, 3 shots ......... 1 gem /!bt;torch....................... GEM option control ! bx; advice ...................... Free / # end: b Select the first item: Buy ammunition #take gems 1 ca #give ammo 3 "Here's Your ammo ... happy hunting! "#end: BT Select the second item: Buy the fire #take gems 1 ca #give torches 1" Here's your torch ... "#end: bx Select the third item: propose Advice" IT IS Whispered That Soon if We All call the tune, dam "and a new day will dawse Will Echo with laughter." -Le D zeppelin #end: CA error handles (powerless purchase) "You can't afford it!" #end or more is the ZZT program clip you know the above program, this class has passed a lot of simplified control programs, we call it Scripting language. The scripting language is added to the design of the spoken language, and the simplified grammar is added. (In addition to the built-in command, usually only simply logical judgment and numerical calculations are competent), so use the scripting language to make a game, not that it is not a non-programmed work (except for the revision of the system itself), the programs can also Soon the state quickly. In addition, if you need to transfer the game to other platforms in the future, the game developed by the program and the material of the program is used to use the scripting language. It only needs to modify the system itself. The scripting language parties themselves do not have to be more, the problem occurs. The opportunity and scope are reduced. This time, as an example of ZZT game, it is a conceptual introduction to the design of the scripting language.
9.RPG Game Trunk System ----------------------------------------- ------------------------------------ I want to talk to all the characters playing the most important thing in the game. One part ~ That is the conversation system. If the role playing game of the players is enough, it should be known that there is a single sentence and keyword in the role playing game, and we will take a look at these two different systems today.
How to distinguish between a sentence and keyword system? We can easily get a message from the game players and characters in the game. In the general domestic role playing game, often use is a single sentence conversation system, that is, the player as long as the role is conversible, the other party will tell you all the news, and the player can get All messages, this is a single sentence system (such as Daewoo's Xuanyuan Sword series, Xianjian Qi Xia Chuan, etc.). Even if some games are more drilled, they will ask the play to ask a few times to have a real need message (like the chaos of the news), but it is the extension of this system.
So what about keyword systems? I think the most famous should be a series of Genesis. In the first few generations of the century, the player needs to enter the keywords themselves, and ask the various questions. If the player enters different keywords, there will be no The same answer. But because of this reason, the players who have a bad English are quite hard when they come into contact with those generations (in turn, some players have increased English in English because they play this game), which also makes many The player is not willing to contact the foundation. However, when I was a seven generations of Genesis, because of the micro-mouse, the entire keyword system did a big improvement, and the player could choose the keyword to ask by the picture, so there is no longer looking for it. The status of the keyword is happened.
Then let's take a look at the domestic roles of the keyword system playing games. In the impression of the author, it seems that there is only the kind of scholarships, Daewoo's demon movement, and a master of a master of the world's early launch. In these games, the author feels that the keyword system of the commendable chat is the most successful. As for why the author will think so, it is definitely not because the author has made himself with this game, but from the keyword. According to the structure of the system, this game is really use to the essence of keyword systems.
The so-called keyword system is just like its name, is a conversation system with keywords. Therefore, the player must be able to get a keyword from the mouth of the characters in a game. This keyword plays a role in the mouth of another person. This can say that it is useful to use the keyword. In this game, the player has to get the first tower ~ Golden Tower's eight-character words, you must first get four-character true words from a scholar, then find a wine in the hotel, Use the true words of the first four words to ask her to ask her of the true words of the four words. The cleverness of the keyword system is that if the player does not get the previous keyword, it is impossible to get the next key word in the back of the person. In this game, if the player can't first set out the first four words in the mouth of the scholar, then the four word vessels will be selected in the dialogue menu of the wine, so the player will I can't get four words. That is, the keyword system is a dialog system that has an unaccompanies with the player option.
Then let's take a look at the keyword system of the other two games. First let's take a look at Da Yu's demon. There is also a keyword system in this game, but its keyword system does not play on the dialogue, but when some tasks have not been solved, these keywords will appear in the menu of the conversation, let play You can choose what it needs to obtain the required information. When this task is resolved, this keyword disappears from the option. This kind of practice does not really play the role of "keyword", just use it to mention the same problem with the players. Next, let's take a look at the game, which can be said to be the wrong example of the keyword system. Because in this game, the keyword to provide the player has no effect on other places, but simply The message that can be expressed in a single sentence into a piece of text, so that the player needs to make all the keywords to you can know all messages. Coupled with some keywords, it is not used, so that the conversation system of this game has not exhibited the characteristics of the keyword system.
Now let's explore the two systems in the data structure. First let's take a look at the single sentence structure, remember to discuss the article of the plot structure (No. 52), the author once held an example of a single plot? The structure is a standard structure of a single sentence conversation system. Because in a single sentence conversation system, when the player suffered a role in a game, the role would determine the sentence in the game in the game, decided to say that, if it did not change, it was in the case of the plot Use this sentence repeatedly.
In this system, when the player controls the role and the role in the game, the program will determine what kind of message currently displayed according to several flags relative to this role. If there are several flags at the same time, it will only be based on the priority flag. Under such systems, the structure of the message is quite simple, and the program is also a relative code, and then the use of the judgment can determine the message to display the message. Similarly, the data structure of this system is also simpler.
Let's take a look at the information structure of the keyword system. When the single sentence system is explained earlier, the author once said that it is necessary to judge the message in the flag. In fact, this so-called flag is the indicator of the game in the game. The same in keyword systems also exists, just in addition to them, add a group of keywords, and these keywords are the focus of this conversation system.
In the game, after the player gets a keyword from one of the characters, the flag of this keyword will open, and if there is a menu, if there is a role that is known to this keyword, in the conversation menu This keyword will appear.
In this system, when talking, the program will first judge that the current player has obtained those keywords, and then look at the object of this conversation has responded to those keywords. The next will appear in the menu. These reactive keywords let players choose. After selecting a keyword, the relevant message will appear on the screen, and if there is a key word, because of the words, it will be opened after this sentence, it will also place the flag of this key after the message is displayed. turn on. Let's take a look at the following example:
In this example, there will be one and a one of B. Therefore, in the game, the information is as follows:
A armor [no keyword]: Oh, is you. I believe that you must have to join this secret organization, but if there is no organization, it is impossible to join.
◎ Open the keyword "password" after this message
A piece of [password]: Do you want to know the password? Ok, then I will tell you that our password is ghost.
◎ After this message, the keyword "God is ghost" open
A armor is not right, this sentence is not right, this sentence is not telling me, it must be found to be organized, and then tell him this password, you can join us.
So in this place, we can see that when the player and a certain conversation will get the keyword, the keyword will appear in the menu of the conversation. After the player selects the keyword of the password, you can get further information and "God of Ghosts". After that, you can know the use of this keyword with the ghosts without this keyword. Next, let's take a look at a part of B.
A part of the [inspiration]: Sorry, I don't know what I don't know, please don't bother me.
A B [God ghosts]: You know our password, then you can join our organization. Our mission is to overthrow the current government, I hope that you will do our best for this matter.
◎ Successful joining the tailor
From here we can see that if the player is coming to find a letter when there is no ghost, there is no such keyword, then you can't get any news from the mouth of a certain B. However, when the player got the keyword "God of God" from a "God of God", the option will appear in the menu of the conversation, and after the choice, you can get a response from a certain one, and you can join the tailor organization. This kind of conversation message is also a place that is really capable of actually playing the keyword system.
When you design a keyword system, you have to pay attention, that is, you need to turn some of the keywords that have no effect at a timely time. For the above example, after the player succeeds in the tissue, this part can be said to be over, at which time the "password" and "ghosts are not" two keywords. shut down. However, if these two keywords have a role, it is not so rare to close it.
Some people say that some people will say that this story does not need to use a keyword system, even if the simple single sentence structure can be handled. But please think about it, if the plot here is when the player is talking to a part, a one has said all the news, then isn't it very meaningless? In addition, when the player is played in the game, it is also possible to let the player repeatly ask the same keyword to get the message, which is not careful than the single sentence structure. Is there any humanity?
What is said earlier is the benefits of keyword systems, but why is there rarely using keyword systems? It is all because the data structure that is talking about the keyword system is more complicated. I think about it, I originally ordered the different drama paragraphs as soon as the role in each game is. However, in a keyword system, designers must need to properly allocate keywords to the plot dialogue in all localities, so that the keyword system has truly functioning, so there is more difficulties in designing plots. In addition, there are many domestic companies to push the game to foreign programs. Since Chinese characters are not the text of the pinyin, these keywords will be translated into other countries (like Korean, English, etc.), and the translated word will become a series of words, if When you barely cut a string of text into a moderate length, there will be a problem that you will be in question (this situation is like the problem in the three generations of the magic door is weird), or therefore it is necessary to add text display. Area. Because of these reasons, the domestic companies don't touch such systems as much as possible, so as not to find trouble.
In fact, the keyword system is actually an extensible system, and there is also such a system in the game of the player. Because of its masterpiece of the plot, it is definitely a perfect conversation system than a single sentence strength than a single sentence strength, and its more structured data structure. 10 Key to complete the production: driving force ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------
I have recently heard a statement: every starting 50 games, eventually only one game can be completed. This statement can be explained by several reasons. The maker may be too advanced so that it is not completed; the project is too complex or the producers have disagreement when they work together and cause development to stop. There is more reason to show this possibility: Why 98% of the game cannot be finalized.
However, I firmly believe that the impact of these issues is not more than the progress of the progress. The difference between successful game makers and failed game makers is not because the previous group is more talented, smarter or more experience. Just because the previous set of members can complete their games.
1. Smart, talent and experience, intelligence, talent and experience will help you overcome difficulties in your game production process. Let's take a look, simply hit the key action does not require the mind of the brain, but it needs some knowledge you are using, some concepts of the operating system. Most knowledge can be obtained by reading help files, related books, some sample source code, and you don't need to thoroughly understand how each event is running.
For examples in real life, the recorder has a lot of complex features, you may not use so many features, but you can still use the video recorder well, use the put on the remote board, advance, and back these keys It is enough to operate. Other features You don't need to master how to do it, then you don't need it. The same is true, doing a lot of things don't need to know every aspect. When you enter a new field, you usually read the relevant information to get the information you need. I learned a computer language is: Simply run the sample program and constantly modify it, run it, look at the run results, and finally understand this language.
I don't suggest that you don't need to work hard, just examples, this knowledge is not decisive. If you don't know how your game software and operating system work, you need to understand the operating system itself. To understand your operating environment as much as possible until you feel that you can work freely, you will only encounter a few questions.
2. In all walks of life, the completion of the project is required, and the completion of the participant needs the work of the participants. The longer the project is required, and people will encounter more trouble. The game production process is no exception.
The game production industry has a variety of essence, the public's requirements for game screens, the favorite of a game type, often changes in the game's fun. Therefore, it is necessary to understand the latest developments and mutual communication between the industry during the production. Otherwise, when you start making a game, after a longer development cycle, the game you make may have already lost.
When you are an independent production game, every time you encounter a problem, you may fall into a dilemma, especially when there is no external support. If there is a stage that does not meet the expected goals in the production, you may be discouraged. This is fatal for independent game making.
For different people, the motivation to solve difficulties is different. For some people, it may be necessary to succeed, or have some remuneration, money or other forms. For other people, the motivation is just a desire for the game in the mind. No matter what your motivation is, you need to rely on it, and the troubles encountered in the production process. Ignore trouble or stop development for a while, which is simply the same as canceling the project. So the producer must be accustomed to facing all kinds of problems.
One way to keep the driving force is to constantly try to make new things. Whenever you make a work, you will get a step by step whether you have your self-confidence or work experience. If you have a lot of work but can't see the result in time, this will make you very unsatisfactory and gradually lose the driving force. If you can see your work in time to change your work, this interaction between the producer and the work can make you maintain a high driving force. That's why I strongly recommend that the newcomers made from a small project from a small project. Long-Cycle big projects often take a week or a month to see changes, which often makes novice depression and can eventually can't complete their first game. 3. It is very important to interrupt for a while in the work. If you don't take a break in a while, your attention will gradually spread, and the work efficiency will decline. I have seen research reports on attention, which pointed out that most people continue to be dispersed after 40 minutes of doing something. Obviously, rest for 15 minutes every 40 minutes will waste a lot of time. However, just go to drink some drinks or to see if there is no new email, or do anything else, will help you keep your work for a long time.
After the high-intensity work, it is best to interrupt a long period of time. If you have encountered a particularly difficult question, then it is best to take a break before you start working, and then solve it. A short rest can make you concentrate, but it is best not to interrupt in the process of handling one thing. If this event is processed, then rest after completing a stage, and do a good job of interrupt points to make it easier next time. When you are working, it is important to interrupt for a while to keep your work. Long-term work is more likely to make your game halfway.
Now let's take a break, when should I continue to work. If you are in an environment where a work atmosphere is very strong, and the progress of the production is very fast, then you will do your best to work, put all your enthusiasm, the final completion of the product. . The final completion of the product is like the top of the lighthouse, where, you can recall all your efforts in the production process. To remember, when you leave your work, you must be sure, this interrupt point can easily continue after you come back. This means that if you are a programmer, if your code has some errors in compile, it is best not to leave these mistakes to tomorrow, because this will make you forgotten what causes these errors.
Conclusion When you make a game, you will have a lot of obstacles, you must learn to face them. The driving force is indeed the key to complete your game. To keep in mind that successful game producers must first complete their games.
11 ten minutes to learn COM technology in DirectX --------------------------------------- -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DirectX is set by Microsoft's COM (Component Object Model). Design COM is hoping that it can provide a safer, easy to upgrade, portable software module. The object-oriented pattern of COM is more stringent than the general C . For example, COM can only be accessed through member functions, and does not have public data members (Public Data Members)
COM exceptionally treats objects (Object) and interfaces. And let you access objects directly, CoM does not give objects to objects, so that you are old and have access to objects. In DirectDraw programming, we speak: "Access objects", actually all in the access interface. I'm don't change it.
All COM interfaces are derived from the iUnknown interface. "I" head is the ID of the COM interface. All DirectDraw interfaces are headed by "I", but Ming Ming is slightly in many programming manuals. So when reading the book, you have to have love (i). The IunkNown interface provides three member functions, and the rest of all COM interfaces have inherited these three functions. AddRef () Release () queryinterface ()
AddRef () and Release () support a feature function of COM, named "Lifetime Encapsulation)." Live Packaging "is an agreement that allows objects to be able to be responsible for their own events.
"LifeTime" has a value inside each object to track the pointer, or reference (Reference). This value is 1 when this object is established. The value is then incremented as it is called / called it. Again to decrease. When it comes, it is 0, which is 0.
AddRef () is used to add counter. You may have to call it personally. When you use the DirectDraw API, addRef () is called automatically.
Release () is dry. Impairment. You often use it yourself because the program may abnormally exit the ADDREF's scope. As in error control.
QueryInterface () is used to ask if a COM is available. If available, a pointer for a respective interface is returned.
Ask if the object supports an interface with queryinterface, so what is asked? Of course, you have to know the ID of the interface. We use GUID to represent, guid = Globally Unique Identifier. (Global Single Certificate). GUID is a number of 128bits. The GUID values of the interface in all DirectX can be found in the DirectX's header file.
This is all. How, there is a concept :-) He He He.
12 Windows game design Single task with multi-task processing ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -----------------------------------------
Single task
One of Windows's most outstanding features is to run multiple programs at the same time, but sometimes people feel a headache, especially for game programmers who are accustomed to fully controlling computers and even clock frequencies (of course, we do care Done polite, do not return to the correct system time when you exit. But fortunately, now we can forget these).
---- In the multi-task environment, the tour program needs to pay attention to the three large negative effects:
When the play is lost, it will not be suspended after entering the back desk (can be seen in the Moby Dick Windows "to the" interception "variable.). If it is a real-time trick, the programmer is now hoping it is suspended. However, in the back-in-play play, when the player is doing it, the program can do not want to make any movement of the calculation, but the people 's intelligence (AI) in the back desk is obedient.
Its task occupies the CPU time, and the results are made into the speed at which I can't get a direct control. We will discuss this painful problem in the back. Whenever the traveler returns to the front desk, the program is not allowed to disturb the play window. Windows is not responsible for remembering the contents of the window it covers or hidden; what it can do is to know that a window needs to re-paint its customer area. This has discussions in the article related to Windows (see WM_PAINT), and we don't discuss this here. In fact, Moby Dick Windows does not return its own window; we will talk about it when you talk about DirectDraw.
Multiple tasks in the program
---- Although Moby Dick DOS demonstrates an original form of internal multitasking (or multi-thread) when using an interrupt handler, the program still does not break through DOS's single-subject feature, that is, only one time Thing. Some DOS program are identified to the true multi-thread, but it is necessary to make a non-huge programming. Windows 95 SDK makes this work simple, put the thread into the "kit" of each game developer (if the reader is not familiar with this concept, then briefly explains, a thread is part of the program, it is executed It is independent of the other part and does not need to be synchronized with other parts. Threads are not driven by interrupts; they just continue to execute when Windows gives them CPU time.)
---- In the following circumstances, you can consider the unique thread:
Allow the background AI. Even if the user is busy with moving pieces, the operation of the dialogue, the computer can also consider the next step. Processing this type of thread is non-constant, because it does not need to work with it.
Pre-load data. For example, when the player is working hard to fight the next level, make a thread will be responsible for reading the document and preparing for the tour "World".
Give the time-critical of Time-critical. We will come back to this topic in the back.
Play circus
---- The concept of playing cycle is more similar to each programming. In the first step, you need to get the input: can be a wheel to query it, wait it, or hold it through the interrupted or a message queue when it is "run". In the second step, it is handling the input, and turns it into an action in the play, such as: take the plane to take a step forward. Then, the results are shown. Of course, in this main question, it is necessary to refine the fine engraving and "variation", including the movement of the calculation AI, and transfer the control of the control from a play home to another, check the winner, etc. ---- However, in Windows and DOS, it is not true. Each Windows program has been established on a messcy cycle. Although a play cycle can be established on the news cycle, but there are still differences in this.
Moby Dick DOS
---- Moby Dick DOS shows a simple play cycle, where we do is: (a) whether there is anything to move, (b) move it, (c) display results.
While (! gamedone)
// Call the time program - there is no response if the time is not arriving.
AHABMOVED = Move_ahab ();
// Mobile Moby Dick only when AHAB does not move.
/ / Otherwise they may be shocked, but they can't intercept.
IF (! AHABMOVED) MOVE_MOBY ();
// If there is any move, update the screen,
// and check if there is victory and failure.
IF ((Mobyx! = OldMobyx) || (Mobyy! = OldMoby)
|| (AHABMOVED) {UpdateScreen ();
IF ((mobyx == ahabx) && (mobyy == ahaby)
&& (Painted [mobyx])) {GameDone = 1;
CPrintf ("/ a");
CPrintf ("You win!");
}
IF (TimeSup <= 0) {CPRINTF ("/ a"); CPRINTF ("Time's Up!"); GameDone = "1;"} if (Raw_Key = "=" Make_ESC) {GameDone = "1;" progdone = "1;"}} // End Update} // End the game internal loop (While! Gamedone) Moby Dick Windows cycle from the surface, it seems to be not much different: do {if (PeekMessage (& MSG, NULL, 0, 0, PM_Remove)) {if (msg.Message = "=" wm_quit) Break; // Unique exit of the loop. TranslateMessage (& MSG); Else {IF ((mobyx! = "Oldmobyx) || (mobyy! =" Oldmobyy) "|| (AHABMOVED)) {UpdateScreen (); if ((AHABX =" = "Mobyx) && (AHABY =" = "mobyy) && (Painted [AHABY] [AHABX])) {Control =" MessageBoxEx (hwnd, "" You Caught Moby! Play Again? "," Call Me ishmael ", MB_ICONQUESTION | MB_YESNO, 0); if (Control = "=" iDYES) InitializeGame (); else break;}} // If someone moves} // If the screen is updated} // End cycle while (TRUE); - As mentioned earlier, there is no timeout here, please ignore it, the author does not implement it in the Windows version is to avoid troubled interrupts. There is a little child and not important. We put the energetic set in the message, which is deleted with its unacceptable code, leaving only the most basic part:
DO
{
IF (PEEKMESSAGE (& MSG, NULL, 0, 0, PM_REMOVE))
{
IF (msg.message == wm_quit) Break;
TranslateMessage (& MSG);
DispatchMessage (& MSG);
}
Else dosomething ();
}
While (True)
---- This is a non-normal typical message cycle. The only thing that is a special place is that it uses PeekMessage instead of getMessage.
The ratio of GetMessage and PeekMessage
---- What should I use PeekMessage? The original is very simple, getMessage, etc., like _getch, and peekmessage is not like this (just like _kbhit). Please consider the next cycle: while (GetMessage (& MSG, NULL, 0, 0))
{// I don't enter the inside of the number, until there is a message
TranslateMessage (& MSG);
DispatchMessage (& MSG);
DOSMETHING ()
}
// When getMessage returns NULL, it is retired.
Return msg.wparam;
---- In this case, DOSMETHING will not complete, unless a message - or many messages - is put into the queue and is handled. If DOSMETHING is just a message, if it is, if it is updated, it has a WM_PAINT message, which is good, and the water pump will be opened after the water pump. To make Dosomething, it is not a good method, which makes the code a bit confusing, but it is still not wrong.
---- PEEKMESSAGE, peekmessage is not arguing that there is a message waiting for, just check the message, the message is finished, Yields the floor. In our example, we are actually using PeekMessage to handle messages (through each message it finds and clear it from the queue from the queue). It is more directly connected to the same effect, it is more straightforward:
IF (PEEKMESSAGE (& MSG, NULL, 0, 0, PM_NOREMOVE))
{
IF (! GetMessage (& MSG, NULL, 0, 0) BREAK;
TranslateMessage (& MSG);
DispatchMessage (& MSG);
}
Else dosomething ();
---- In this point, there is a point to say, our pseudo code DOSMETHING is independent of the message; what messages sent in the queue, even if there is no message, it will be executed. In Moby Dick, we put the screen update and winning strips in this, because the check one or more messages is responding after being responding to whether it is necessary to update the screen or whether it reaches the winning strikes.
---- What is that the message circulation is a play cycle? From the angle of the abstract, yes, because it is a large gear, there are some small gears. However, let alone some function calls can be placed here. It can be more than the context. The Windows programming rules must ask anything to respond to a message to be placed in the message response program (that is, put it in the window process). In a real-time trick, most of the number of movements are generated in one or more WM_TIMER message response programs. The back-to-counter play is often a large amount of work in the response function of the message. ---- In fact, the program is often issued in the main job cycle, except for the standard translation and distribution of information, and there is no way. If so, you can use GetMessage with your head, because you don't need to get it.
---- Total knot, there are two key points in real loop:
The Windows Message Loop is not the same. The play cycle is still existed (at least in the past), but it is more divided into the code in the code with the situation in DOS.
If you want to execute anyone who is standing on the clock message and entered the message in the message cycle, please use PeekMessage instead of getMessage.