Mobile game trend and related J2ME APIS
Summary of mobile games is true and become one of the fastest growings in the IT industry. In this article, the author Michael Yuan has focused on this exciting new market characteristics and current situation for Java developers. Java 2 platform, micro version (J2ME) is a major technical platform for a new generation of multi-player mobile games. In the second half of this article, the author Michael also overviews the latest technological innovation and the latest APIs related to games in J2ME. Throughout the history of the IT industry, computer games have become one of the driving force behind technological innovation. Computer players are eager to make more powerful hardware computing power; desire to be limited by different software - whether to force graphics in artificial intelligence (AI) or network security. Game developers and players are often the earliest use of frontier computer technology. Because of their innovation, the game is no longer the technical product controlled by large procurement companies - the game field always has sufficient space to give those individual innovators in this area. With the promotion of technology to game experience, the game market continues to grow. The commercial IT revolution saves us time and money, thus improving our work level, so we spend more time and money in the game to improve the overall quality of life. Even in today's difficult economic era, the game remains rapidly, and he is still an integral part of the profit industry. Java developers should pay attention to huge business opportunities here. As the remainder of the IT industry, the latest hotspots in the game industry are removable. Mobile games will come from traditional commercial companies (such as Sun Microsystems's new game area), equipment production plants (such as N-Gage and Qualcomm's BREW equipment), those who are not in the network operator (such as Vodafone content) The merchant may be pulled together. As a Java developer, we are ideal for entering this profitable new industry because of the Java 2 platform, micro version (J2ME) is one of the most widely supported mobile games. In this article, I will stand in the Java developer's perspective to discuss the business opportunities and challenges of mobile games. I will also view the art-grade mobile Java technology in the important J2ME specification. Mobile game feature mobile games are mainly due to their wide involvement. The phone has been tightly combined with modern lifestyle. They are the most popular personal items only in the key and wallet. Traditional desktop games lock targets on low-level fun people and teenagers, while mobile games can be accessed - anytime, anywhere. Although each mobile game is not expensive, huge usage (such as: a new game per week) will make this market business opportunity unlimited and profitable. However, for developers, migrating console games to mobile game project is very big because they face objects, lifestyle and distributed models have great difference. Let's talk from the needs of mobile games. Demand a successful mobile game Most of the following characteristics: · Easy to learn: Since the mobile game is the ordinary consumer instead of a computer master, then they cannot learn the game skills in depth. Consumers will not take a few hours to study a 3-dollar manual game. So the game must be played. Keeping the game is the most basic requirement. · Interruptive: Multi-tasking is the basic feature of mobile phone lifestyle. Mobile phone users often have a small period of time between tasks (such as an email or wait for the car). The game, calendar management, communication, and work data access is the same device. So a good mobile game should provide a short period of entertainment and allow the user to successfully switch between games and working modes. · Based on subscription: The success of mobile games depends on their huge usage. At the beginning, development and design each game is expensive. If a mobile game developer wants to make money, it is important that the same game engine, multiple headings, basic storylines. Subscribe-based games are the best way to generate income.
· Rich social interaction: No matter how good a game is designed, as long as the player finds its fundamental mode or after playing all the game paths, you will be tired of this game. For a subscribed game, it is important to work with other players to enhance the intelligence and randomness of the game. The game with rich social interaction in the multi-player game today is successful. · Advantages of mobile technology: huge mobile phone technology research costs are spent on improving equipment and network availability and reliability. Therefore, mobile device hardware and network protocols are very different from the desktop / console world (such as global positioning system (GPS) extension, barcode scanner, and short message service (SMS) / multimedia information service (MMS) communication). Good mobile games should take advantage of those updated equipment features and network infrastructure. · None of illegal content: Since all ages / gender people play mobile games and often in public / work, you should avoid obvious violence or pornographic content. The type of mobile game is based on the above criteria. The most likely mobile games are those temporary games, which can provide entertainment for extensive players in all social sites. In particular, the following types of games will be the most killing game tomorrow: · Multi-player game: These games can provide mobile phone access to establish online game groups. Alternatively, they use mobile phones such as multimedia communications and location-based services to create a completely different social structure. Good game design and management is the key to this type of game. · Content-based games: These games transmit copyright multimedia content, such as celebrity pictures, video card, audio stereo, and private sports programs, give those music / movie / sports fans. The key to success is to provide high quality content streams worthy of subscription. · High impact video games: PC and desktop game have evolved from 2D to 3D. Mobile games will follow this trend. Mobile phone 3D toolbox and earpiece have now appeared. However, 3D is a very resource concentrated. They asked developers and graphic designers to be expert-level. Professional stores are most likely to develop these games. In the early days of mobile games, most developers are a fanaticism that wants to play equipment, learning skills, and fast research. However, with more developers join this industry, mobile games have evolved into leadership products involving professional designers, constructors, developers, product dealers, lawyers, and artists. This is an inevitable trend that the industry is mature. Although it is more difficult to develop and sell simple games in someone's spare time, more professional stores will provide more employment opportunities for many people. The value of the phone should fully understand the foreground of the mobile game, you must understand how the fund is flowing. This business value chain has a considerable difference from traditional games or enterprise applications: · Developer: Software developers drive value chains by creating a great application. However, most developers have no ability to handle huge marketing issues. They lack distributed channels to consumers. · Publisher: Game publishers collect topics from developers. They establish a trademark name to ensure the correctness of the game, upgrade the game, and establish business relationship with wireless communication company. They still stand on the developer's position to handle account issues. And they are generally shared with developers. · Wireless Communication Company: Wireless communication company is the center of mobile game distribution channels. Communication companies not only control the network and have customer information. It is equivalent to which device and service they decided to support. Communication companies take the big head in all income. They also pay for customers through existing service agreements. · Wireless equipment manufacturer: equipment manufacturer drive technology update. They make new hardware and support the development platform. In fact, J2ME's success is mainly due to the main equipment manufacturer's adoption. Equipment manufacturers are an independent force between communications companies and consumers. · Consumers: consumers finally pay the profitability of all providers in the cost and chain. Consumers can purchase games from the publisher's website or purchase games through the content supply system provided by the communication company. Figure 1 shows this value chain. J2ME Intelligent Client J2ME platform is considered to be the most outstanding mobile game platform, which is widely accepted for developers, equipment manufacturers, network communications companies and consumers. It has some very important features beneficial to all organizations. The intelligent client's feature J2ME device is intelligent.
They can handle information on itself. The most important features of the J2ME smartphone and the previous generation of mobile phones are: · For users, the most attractive feature of smartphones is not always in the network connection status. Online mode is necessary in today's 2-2.5G network. However, in this network, there is little coverage, and the data is expensive. Cache data and request network operations into transaction processing can also significantly reduce the use of wireless networks and provide the reliability of the application. • Intelligent clients can use different protocols to integrate background gaming servers and their homopers (including wireless homopers and Internet locations). · Smart client supports a rich user interface (UI) that is critical to visual high shock games. • Smart clients can access mobile phone dedicated networks such as SMS and MMSs or device extensions (such as GPS) feature. This makes it possible to develop a game that is fully utilizing the advantages of mobile phone lifestyle. · Intelligent client provides more powerful and flexible security by advanced encryption and digital signage algorithms. With intelligent clients, we have the possibility of delivering intimate private data on the Internet and building a valid online society. The portable platform is relatively similar to other intelligent client platforms, J2ME has a unique advantage: it is designed for mobile phones. J2ME Apps can run on different devices of different investors. This is particularly important in a highly competitive mobile device industry because there are a large number of different devices. All major smartphone manufacturers recognize the J2ME platform. The skill of the code is critical to developers who want to maintain a consumer of consumers that maintain a single code base. J2ME solves the issue of "minimum public rulers". This issue has previously plagued the desktop Java. J2ME solves this problem by defining a multi-layer structure including a configuration, profile, and optional package. To date, in the mobile game industry, the most popular J2ME platform is the mobile phone platform device profile (MIDP) and an optional package established on the MIDP. In this article, I focus on the MIDP V2 platform. Figure 2 shows the J2ME structure. Because J2ME applications are portable on different devices, they often download and execute on the network. If there is no correct precaution, it has riskslessly risks for users and wireless communications companies. Fortunately, Java is designed as a safe language. All bytecode applications are verified before execution; JVM supervises the security and storage violation of the application during the execution process. The MIDP V2 runtime includes a fully characterized, domain-based security administrator, which gives an application API license based on digital signature authentication. Due to the widespread use of J2ME, mobile Java developers have grown into a considerable market. Almost all popular Java development tools have been transformed into need for J2ME developers. J2ME libraries and components from the third organization provider are easy to get. Many libraries in those libraries provide similar features for their Java2 platform standard (J2SE) counter. For example: IBM Services Management Framework (SMF) supports Java servlets on PDAS; PointBase micro version provides methods for mobile related databases for mobile related databases similar to the Java database connection (JDBC); IAIK JCE-ME supports Java password technology extension (JCE Light version. These tools and libraries make J2SE developers' transplant technology to the mobile phone industry. Correspondingly, he also provides a large number of developers from J2ME investors. This kind of benign loop will help J2ME growth. Overview of APIs and Tools Next, I will overview J2ME related API-related APIs and test them to developers. The user interface MIDP runtime provides fine-grained control for screens and hardware keys for mobile phones. All MIDP UI classes are inherited from the Javax.microedition.Displayable interface: • The Screen class is the basis for advanced small devices such as Alert, List, Form, and TextBox.
How MIDP runtime controls how those advanced UI classes and how to schedule a function key based on UI practices of special devices. MIDP advanced UI small devices is best suited for text control. In the advanced UI class, the Form class is the most flexible. You can specify the layout of the Form screen and you can add something like: StringItem, TextField, Datefield, ChoiceGroup, and Gauge. The MIDP V2 specification enters two important innovations into advanced UI: First, it introduces the Spacer and ImageItem items to allow mixing texts and images on the same form; secondly, he introduces the CustomItem class to provide developers to provide developers Mechanism of widgets designed and implemented in your own level. Developers have final control over CustomItem objects, including pixel levels, and internal events, with ultimate control. · The Canvas class is the basis for the low-level MIDP UI. It provides access to pixel level paintings over the entire screen and access to custom mapping for all hardware keys. You can only create a Subclass of Canvas and skip the Paint () method used to display logic; keypressed (), keyreepeated (), and keys, and keyreleased () methods for key events; and use in each event indicator and The touch screen PointerPressed (), PointerDragged () and PointerReleased () methods. · Gamecanvas class inherits in the Canvas class. He is part of the MIDP V2 Game API and provides a convenient mechanism for game development. For example: In the Gamecanvas subclass, you can draw the entire screen when you modify each time you modified. You can get a Graphics object directly from the getGraphics () method and draw on the object. When you need to update the display, you can call the flushgraphics () method. But you can only update a part of the screen using the flushgraphics () method. Compared to a single way of the Canvas class, the Gamecanvas class makes us easy to keep the graphic state, easy to update the movie portion of the screen. Similarly, the GetKeyStates () method opposite to the CANVAS class is used in the CANVAS class, providing a convenient way to get the key state. This makes more flexible in complex game screen classes. Figure 3 shows the MIDP UI structure. The MIDP V2 specification defines a complete API for the game application in the javax.microedition.lcdui.game package. In addition to the Gamecanvas class, he also provides a Layer class that supports tile or animation game background. The game API also provides a Sprite class that processes animated pictures and conflicts. They are the basic components in the 2D graphic game. At 3D frontier, Java Specification Request (JSR) 184 attempts to standardize the Java 3D API on your phone. It made an excellent improvement. J2ME 3D tools needed by developers and artists are now available in Superscape (see Resources). Large equipment manufacturers are quickly transformed on their high-end smartphone devices to support this new API. Figure 4 shows some lenses in the Java 3D game of SuperScape. Figure 4. Java 3D Games Available from Superscape In addition to the standard MIDP UI and game APIs, there are several other MIDP UI toolboxes. They either provide devices' proprietary features, either to support better advanced UI: · Nokia UI software packages to provide sound, brightness, and vibrating components on the NOKIA phone. It also supports full screen mode for more professional games. · Motorola Light Widenware Toolbox (LWT) is a separate window toolbox for motorful phones.
· NEXTEL OPEN WINDOWING Toolkit (OWT) is an open source toolbox jointly developed by Motorola and NEXTEL. It runs a container model to control the layout and other UI components, which is familiar to desktop UI developers. OWT is based on the Canvas class and runs on all MIDP phones. However, if you use the OWT library, you must include it in your distributed MIDLET group. · The SYNCLAST UI project has developed an open source UI package that supports container models. On the basis of the MIDP V1 Canvas class, he supports many MIDP V2 small devices. Therefore, it allows the MIDP V2 to run a small amount of modifications to run on today's MIDP V1 device. With OWT, you must bundle the SYNCLAST library in distributed applications. In general, the MIDP platform provides a variety of options for rich UI games. Network and background integration As I mentioned earlier, the future of mobile games is the multi-player game of the network. The networked network in J2ME can be supported by a general connection framework (GCF). The core of GCF is the factory-class javax.microedition.io.connector. You can pass an agreement and address string to static method connector.open () to get the connection object on the remote host: • HTTP protocol supports mandatory in MIDP. Returns the HTTPConnection object if you pass the http://hostname: Port Connection string to the connector.open () method. You can directly open the input / output data stream on the connection and write / receive data from the remote host / from the remote host. · UNIX socket, user self-addressed protocol (UDP) connection, or direct TCP / IP connection is also supported in some implementations. However, you should notice that the mobile phone network is fundamentally different from the cable Internet. Some networks are connected in an analog socket at the beginning of the HTTP layer. Therefore, there is no need to appear in performance. I recommend HTTP for most occasions. · J2ME Wireless Communication API (WMA) supports SMS communication between handed devices in GCF. You can send SMS information to another mobile phone via SMS: // phone_number: port obtained by the MessageConnection object. You can also open a "server" connection that can be listened to SMS information using the SMS: // Port string. The SMS information can be processed synchronously or asynchronously. • In MIDP V2, "Server" SMS connection can be registered using the promotion registration of J2ME runtime management. It allows developers to call a message to process the information on the information to process the MIDLET. On the protocol level, J2ME supports several ways to deliver structured application data: · MIDP DataInputStream and DataOutputStream class support Java's convenient I / O method (such as WriteInt (), Writeutf (), WriteFully (), etc. READXXX () method) (non) Serialized normal data values and objects. The pair of Writexxxxx () and READXXXX () methods can be greatly simplified and increase the intensity of the terminal application to the terminal application. · If you need more structured data exchange, the MIDP platform also supports several XML parsers. The XML parser supports simple API (SI) for XML (SAX), XMLPull, and Analytical Examples of Light Document Object Models (DOM). JSR 172 (J2ME Web Service Specification) is developing a standard XML parser API for J2ME. · Web services based on Simple Object Access Protocol (SOAP) are the integration mode of the future terminal on the terminal. The J2ME platform is set well and can support SOAP information exchange through a Third Organization Toolbox such as KSoAP (see Resources) and standard API, such as JSR 172. Data management data management on the device is the core feature in the intelligent client game.
J2ME strongly supports this area: • Standard data persistence devices on MIDP is to record storage management systems (RMS). RMS storage of binary data in linear records (byte arrangement). It does not allow random storage or no hierarchical data structure. However, it provides search storage and sorting of search results. RMS is mandatory in all MIDP devices. It is enough for most purposes. However, the MIDP itself does not provide an API that synchronizes RMS data using the background application. JSR 230 (Data Synchronous API) has just started to develop this synchronous API. · JSR 75 (PDA optional package for J2ME) provides access to device local protocol independent multi-point transfer (PIM) applications (such as: calendar, address thin, electronic letters and task list) and file system access. PIM data and files can be synchronized to desktop computers through the local synchronization device group of the device. · As for more complex data, you can use your mobile phone database. Several commercial MIDP databases (including related databases and object-oriented databases) and synchronization engines can be obtained on the MIDP platform (see "High-Availability Mobile Applications"). Multimedia multimedia replay function is critical in content-driven mobile entertainment applications. J2ME Multimedia API (JSR 135) is a standard framework for playing multimedia content in J2ME. With the Player interface, it can play a variety of audio and video formats from a variety of data sources. The multi-purpose network mail expansion protocol (MIME) type transmitted to the player can specify the content format. Each device implementation of the multimedia API supports a different set of MIME types that rely on hardware and local players. Currently, almost all of the multimedia API-compatible devices support simple stereo playback. Support for more mature formats such as MP3 audio and 3GPP videos even MPEG4 video is coming out. Security mobile games involve downloadable code, copyright content and financial transactions. Security is critical to maintaining users, developers, distributors, and communications companies. Some users in multi-player games attempt to attack the system by blowing the safety of the safety, this safety is particularly important. J2ME provides excellent support for both applications and communications: • MIDP V2 specification supports application tags for using developers or issuers' digital certificates. Based on the identification of the signature (security field), run time security managers can give an access to the application API level. For example, applications with less source trust do not allow network connections or send SMS information. · MIDP V2 specification also requires support for HTTP on all mobile phones. This provides a foundation for security information exchange on the Internet. • If the connection-based HTTP is still not flexible for some applications, many third organization's password technology package also has on the MIDP platform (see "Data Security In Mobile Java Applications"). They allow information to binary the encryption or signature of the pieces. · JSR 177 (Security and Trust API for J2ME) is a hardware security unit that is standardized to the embedded device (such as the subscriber identification module (SIM) card). For example: it allows J2ME developers to retrieve digital certificates stored on the SIM card or use acceleration hardware encryption algorithms. Supply and marketing mobile games to consumers are a complex process involving many organizations. The MIDP specification includes parts about OVER-AIR (OTA) supply. It describes how to download MIDP games over the Wireless Application Protocol (WAP) network, and how Java Application Management (AMS) is installed and allowed to use it for users. The OTA process provides a feedback mechanism for the client device report installation status. It provides a technical foundation for a more complex business configuration process. In the business sector, you should consider the following important additional processes: • Applications must be identified as an anti-virus state and put it into the directory supported by Communication Company.