[Reprint] SDL usage, Part 1: Graphic Design

Source: Internet
Author: User

SDL usage, Part 1: Graphic Design
"Pirates ho! "Story development and graphic design

Sam lantinga and Lauren macdonell
Loki Entertainment Software
April 2000

Content:
Story importance
Story Development
Inspiration
Image
References
About the author


Sam lantinga and Lauren macdonell are currently "Pirates ho! "Development stories and graphic design are the original treasure adventure role-playing game they developed for Linux. In this part of the diary, the author tells the story development process and their source of inspiration. They also detail how to design images used in the game.

A good game consists of stories and pictures. We believe that some games need better stories than others. We rely on special development rules and our imagination when creating stories. The screen is also a combination of technology and creative processes.

Importance of a good story
Some gamers say that the plot constitutes a good game. In other words, complex and realistic images make the game more enjoyable. In "Pirates ho! ", The decisive factor in the game is the story.

Why do you need to put so much energy into the story? First, "Pirates ho! "Is an adventure game, so the fight scenes in the game are all centered around the storyline. If we develop a street bully game, we will not limit the plot to fighting with the bad guys and collecting treasures. However, building the role-playing components required by the game requires a thrilling storyline as the basis for character development and interaction.

Based on our past experience, we also found that there are many good fighting and strategy games, but few good role-playing games. Considering the time, energy, and creativity invested in a well-conceived story, this is also reasonable. But this is unfortunate for players who like good stories in addition to fighting and strategy. Therefore, we decided to develop all these components to the maximum extent possible. The game not only includes thrilling fights and challenging strategic components, but also tells a complete story from which we hope players can enrich their experience.

Finally, we want "Pirates ho! "Can attract wide attention. We have many enthusiastic readers and fans who are not fans of the game, but they said they will also be excited and interested in playing a great adventure game. We want to combine strategy, fight, and role-playing "Pirates ho! "Attracts hardcore and non-game fans.

Story Development Process
In some cases, story development is purely a creative process, not a technical process. However, in "Pirates ho! ", We faced various technical problems when developing stories.

Programming Technology has caused a technical problem. We cannot design scenarios that cannot be supported by game engines for players. For example, we cannot directly write large-scale naval battles into games, because the tactical combat system we developed can only deal with the reality and specific battles between several ships at the same time. Therefore, it is not suitable for developing major plots involving large-scale political conflicts and other global events. Fortunately, the relationship between individual figures and small-scale wars are enough to develop a good story.

Our development story is also a technical process, that is, we systematically and cautiously choose the elements to use. In addition to all the old ones we think are interesting and fun, we also try to create appropriate combinations of elements to facilitate character development and interaction so that we can keep up with the development of the game, let the players focus on what will happen next. We try to create a story that gives gamers many opportunities to influence the game environment and enable them to easily develop and improve their characters.

The details that constitute the fictional game world are the main part of story development. We have drawn up the social and cultural background of the game to give us an environment for developing the main plot. We agree that this world should include incredible things, places and creatures, and magical people. However, we have not yet determined how wide the magic is and who has the magic. With magic, the plot development becomes more confusing and the characters have a wider range of actions.

Source of inspiration
We draw inspiration from a variety of original materials when creating stories. Of course, we are still studying the classic pirate stories, suchTreasure Island). These stories enable us to understand the general rules of such stories:

  1. A good guy (relatively speaking) discovers or inherits a map, or receives a command to see someone, and this person will eventually give him a map.
  2. A good person conflicts with a bad person. A bad person wants to get a map and/or kill a good person.
  3. The bad guy grabbed the good guy and/or snatched the map from him.
  4. Good guys have to escape and/or get back to the map from bad guys.
  5. Good people find treasures and kill or hurt bad people.

Our story conforms to the basic rules, but events may not happen in the order listed above, and each event may happen several times. Optional story elements include love episodes (Some people must have been kidnapped by bad guys), various good people's alliances, and stupid people who add comedy effects. We include at least one optional element, but you must wait to find out what it is.

Since our games are in an illusory world, we also hope to combine elements that are not often associated with piracy in Western literature. Adding exotic elements to the story makes us feel more interesting in the game, and we hope this will also produce the same effect for players. For example, most Place Names reference the ancient Persian. We have drawn on ideas from many stories, such as the "Arabian Nights", Terry Pratchett's "Discworld" series and "Southern Park ".

Image

Conceptual Art paintings
When designing game images, we first draw the outline of ideas on paper. Our conceptual art paintings begin with sketches and Character Line paintings. After various stages of development, we use various media and gradually turn them into images used in games. This process is important because it allows us to use different visual elements and determine the best way to achieve the expected visual effect. Drawing ideas on paper can help us get feedback. Here are some "Pirates ho! "Samples of conceptual art paintings:

Dialog Interface

Town Interface

Map Interface

Graphic Design
We used bryce4, fractal design painter 4, and gimp to complete "Pirates ho! . The following is a brief description of the technologies used when creating images.

Ship prototype
To build a ship model, we have combined the basic geometric figures in Bryce. Using boolean operators in combination with positive and negative forms, we create all the basic shapes of the ship. For the ship's body, we generate a flat body with a cuboid covering the upper half of it. After you set the sphere value to positive, set the cuboid value to negative, and combine them into a group, you can only see the bottom of the sphere and the half of the shape of the vessel. We added three tall and fine cylinders as the mast and created the sail. For sail, we have combined a positive flat cylinder and a slightly misplaced negative flat cylinder. This means that the edge of the positive cylinder is visible and looks more or less like a bulging sail. The next challenge is to build detailed parts that give ships some features, such as railings, cannons, and other gadgets.

Boolean Image Generation
Boolean image generation is an image generation process. In this method, the space occupied by the "positive" object is deducted from the "negative" object to generate a part of the object, or combine two or more objects into a compositing object that combines the quality and volume of all the objects that work (see the bryce4 User Guide in reference ).

Islands
We use the terrain editing tool in Bryce to create an island. We use the paint brush feature in the terrain editor to draw the shape of the island with bare hands. We use the highground and erosion paint brush feature to create different terrain effects. We used different materials for the island, and finally decided to use the "Mediterranean hills", which are characterized by shrubs and rocks everywhere. Some rock-like materials are suitable for some smaller islands. The next challenge is the sign of adding villages, towns, docks and human society to the island. The main architectural style is best to use a simple, painted one or two-storey building. This is not only because they are easy to model, but also because they are very similar to Mediterranean villages.

World Map
We use painter 4 to create a map. Before developing a map, we took a long time to observe the actual images and copies of the 16th and 17th century maps. All elements of the game world map are based on the features we found during our research. We hand-painted the outlines of the islands, and then constantly adjust them until we are satisfied with the color and shape. When we put the islands on a map, we try to produce an optimal arrangement suitable for travel and business, and make the geographical location of this area not seem as well planned. Finally, we applied the paper material to the map and kept editing it until it looked very old.

Character Display Screen
We also used painter to create a prototype of the character display screen, which will be used at the beginning of the game to display the statistical data and other information of the person. To create a background for this screen, we copied some images that contain wood textures. We adjusted the color and texture slightly, and used the modified texture to create a board that looks like a close-up of the hull.

We import a digital photo of Sam in pirate clothing to create a portrait and fill it in a suitable size field, use painter's texture tool to apply paper particles and paint brushes to change the effect of the photo. We added the frame because the screen looks a little flat and the portrait looks uncomfortable on the background without the frame. To create a frame, we use an image of the gold-plated wooden frame, copy and paste it one by one until it is of a proper size. We added a scroll to highlight the name of the character and separate it from other information on the screen. We create a scroll image by downloading it and changing its color and shape to fit our display screen.

Then add a translucent field with the same value as the background to display the person statistics. We make it partially transparent, because we want to display boards; then the details on the left side of the screen are a little more, which balances the portrait. For comparison, we have added white text characters as character statistics and History (other elements of the character statistics and Role Play System will be discussed in future articles ).

Game menu screen
For the main menu, we want a bright and illusory effect similar to the luminous screen. We create an ocean view as the background and find the appropriate tool creation button in the toolbox. We finally use gimp to create buttons. gimp has many logo plug-ins and text effects with free fonts. We keep trying until we find a font and effect that is close to our requirement. We decided to use the "glowing hot" and dragonwick fonts on the 18 th.

We found that gimp generates a hierarchical logo. By manipulating these layers, you can perform interesting operations on the general logo output. We have eliminated the idea of creating the box button, and removed the background layer to achieve a clear effect directly at the text edge of the menu image. We save the image as PNG, While PNG saves the alpha channel, which can be directly read by the sdl_image library and transmitted to the screen in blocks. During the test, we improved the SDL alpha channel's delivery speed by nearly 100% in bit Block Mode and put these optimizations into the SDL 1.1.3 CVS code base.

We also found that by removing all "glowing hot" effect layers that do not include those that have a clear effect, we can get a brighter button text than the original one. We use this technology in the main menu. When you move the mouse over the menu option, the menu option is highlighted ".

Game appearance
At present, we have tried to complete this appearance, which is suitable for the technical layer of the gaming world and more or less like Europe in the 17th century. For example, we have created world maps and portraits that match the artistic style of the time. As for land and sea views, we use bright colors to evoke associations with tropical scenery, because the weather in the gaming world is a bit like the Caribbean Climate. Of course, we expect that the appearance of the game will become more beautiful as we add new elements and constantly improve the techniques for using design tools.

Future Prospects
We are just ready to start working on the graphic interface. We will discuss this work in detail in the next article. The Animated clips that appear in the game are also being planned. The next article will also discuss the scripting language and the use of lex and YACC to build user interfaces.

References

  • Free Fonts for use with the gimp)
  • Pirates ho! Website
  • See sample binary code
  • The SDL image library we use
  • Sdl_mixer Library
  • Smpeg Library
  • Sam introduced "SDL: making Linux fun" to you.DeveloperworksSite
  • This series, published by Sam and Lauren, describes "SDL usage:" Pirates ho! The birth of "describes how they design the concept of a game.DeveloperworksSite
  • Introduction to SDL APIs (an introduction to the sdl api)
  • Freshmeat, a good open source project resource library
  • Various software downloads at various prices
  • A collection of well-organized windows, Mac, and Linux graphics, programming, and other software packages
  • Canoma: Create a 3D model of the photo reality from a scanned digital photo
  • SciTech graphics library)

Some of the best games on Linux:

  • Maelstrom
  • Hopkins F. B. I.
  • Descent 2
  • Civilization: Call to power
  • Mythii: soulblighter
  • Railroad tycoon II
  • Game Developer's newsgroup
  • Myth 2: soulblighter comments (a review of mythii: soulblighter), inLinuxWorldMedium
  • "Games users play", inLinuxWorldMedium
  • "A whole new civilization built on Linux ",LinuxWorldMedium

About the author
Sam lantinga is the author of the Simple DirectMedia Layer (SDL) Library and is now the chief programmer of Loki entertainment software, a company dedicated to producing the best-selling Linux games. He has been dealing with Linux and games since 1995 and has been engaged in various types of doom! Tool porting and Macintosh gamesMaelstromPort to Linux.

Lauren macdonell is a technical writer at skillednursing.com and also "Pirates ho! . While working, writing, or dancing, she takes care of her tropical fish.

Contact Us

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

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

A Free Trial That Lets You Build Big!

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

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

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

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