Header Sep
Latest News
My Rating Score
Login to rate page

August 22, 2005
Developer case study:
Com2uS tee-off with 10 facts for Mobile Java 3D game developers

[Back]

 

Com2uS, a Korean-based mobile game developer and publisher, explain how they developed their 3D Golf game for Sony Ericsson Mobile Java 3D-enabled phones using their Korean 3D Fortune Golf WIPI-C platform game as a starting point.

Leading members of the Com2uS team review the 3D Golf scorecard by sharing 10 observations from the game's development project - five things that worked and five things that didn't.

3D Golf game background
The platform for 3D Golf is MIDP, using HI Corporation's Mascot Capsule 3D engine and the Sony Ericsson J2ME SDK. 3D Golf is available for the Sony Ericsson S700, K500, K700, V800 and Z800 series of mobile phones through a variety of operators including Orange and O2.

3D Golf has two main gaming modes: Mission Mode allowing the player to take on a variety of tasks and Tour Mode to play against other golfers with four difficulty levels. To find out more, visit the Mobile Java 3D Game Gallery>>

 

Throughout this case study, the Com2uS team focuses on 3D Golf, but also discusses some experiences with another game called 3D Fortune Golf, as 3D Golf is based on core elements of 3D Fortune Golf, making it an integral part of the game's development.

Project objectives

Before Com2uS started developing the 3D Golf game, they thought a lot about the specs of the mobile phones that they wanted to create a 3D game for and especially what sort of game would fit best with these specs. They considered five candidates for some preferred game genres, including racing, golf, and action.

"We asked ourselves what is the most interesting game we can make for these phones," explains Jeonghoon Ahn, Senior Designer of 3D Fortune Golf and 3D Golf at Com2uS.

"For example, when considering a racing game, the most important elements you need to work into the game are speed and keypad response. Perhaps we could have created a reasonable racing game, but golf seemed to be the best answer to our question," he remembers. "And aside from that, golf games have been doing well as online games in Korea recently, so we were looking to create a game that would meet popular demand, as well."

Jinbom Heo, Lead Programmer of 3D Golf continues, "We decided to move ahead with 3D Golf for the European market because at the time - the beginning of 2005 - there weren't really any games you could call truly 3D. So our aim was to create a game that would be an innovator in its market."

Jeonghoon Ahn, Senior Designer, Com2uS.

 

 Jinbom Heo, Lead Programmer, Com2uS.

 

 Hojun Lee, Producer and Designer, Com2uS.

Team approach

Teamwork for both games was pivotal to how well both games turned out.

"We were working with new technology, so none of the team members had that much information on exactly what or how to create the different elements of the game," Hojun Lee, Producer and Game Designer for 3D Fortune Golf, recalls. "It was pretty tense at first and there was a lot of charged discussions, but it was mainly positive. It helped that everyone was highly motivated by the challenge of creating a new type of game with new technology."

Com2uS restructured their development process to create project teams, or Task Force Teams (TFT).

"So rather than having the graphic designer working separately in the graphics department, everyone in the project was seated together," Hojun Lee continues. "Working as a TFT really boosted communication. On the other hand, everyone keeping an eye on each other meant it could get a little awkward if someone didn't appear to be pulling their weight!"

Tools used in 3D Golf

Selecting the 3D Engine: JSR 184, Superscape, or Mascot Capsule v3?
When Com2uS were planning 3D Golf, they considered three options for their 3D development: HI Corporation's Mascot Capsule v3, which they had already used in the development of 3D Fortune Golf, JSR 184 and Superscape.

"Originally JSR 184 was our target engine," Jinbom Heo comments. "Our first and most serious problem with JSR 184 was speed, but there were other issues too. For example the mapping and texture weren't quite right and culling was erratic on the first-generation 3D phones we used for testing."

"With Mascot Capsule v3, however, the results were more precise. And in programming, Mascot Capsule v3 proved itself more reliable when coding," remembers Jinbom Heo. "Texture appeared where and exactly how I had intended when coding. Since Superscape is built on JSR 184, we figured we would be safer going with the Mascot Capsule in the end and were pleased with the results we achieved."

Sony Ericsson J2ME SDK with On-Device Debugging
For development in Mascot Capsule v3, Com2uS used the Sony Ericsson J2ME SDK for developing the MIDP version of 3D Golf.

Jinbom Heo states, "Actually we found that the Sony Ericsson J2ME SDK is the only MIDlet SDK compatible with the Mascot Capsule engine."

Graphics – 3ds Max
Com2uS used 3ds Max to do all the graphics work and animation.

"I know this is widely used in the game developer community, so I'm probably stating the obvious," says Jeonghoon Ahn, "But I can say that 3ds Max technology made animating the action in 3D Golf easy, including all the different ball and course camera angles we put in. Furthermore, we were able to create a diverse range of characters - polygons - with minimal resources, which for a game like 3D Golf is obviously a huge asset."

Five things that "went right" in development

Here, the Com2uS team identify five aspects of the 3D Golf project that they felt worked well.

1. Good implementation of 3D technology
Com2uS made good use of the 3D technology to create a game that improved significantly by being in 3D rather than being restricted by it. For example, the team made sure that the camera system worked out particularly well.

"For example, after hitting the ball, there is a ball-cam which revolves around the ball," explains Hojun Lee. "The cameras in the game give a much more dynamic feel that we haven't seen in a mobile golf game before."

2. Efficient memory usage
When they designed the holes on the course, the Com2uS team tried to design each one uniquely rather than just moving a few bunkers and patches of rough around onto an identical hole template. This ensured that the shape and layout of each hole varied considerably. However, even with the Korean version, which takes up about 1MB, putting in this level of detail was challenging for the team in terms of size. They overcame this by grouping holes in a certain way and then recycling a piece of the fairway for each group. This gave Com2uS some crucial memory savings, while not overly compromizing the varied hole design.

"We had to deal with a very large amount of course data and elements like ball-bounce physics. For 3D Golf, we never intended to do a straight port of the game from 3D Fortune Golf. Rather we took the core of the graphics engine and used that to develop the game," Jinbom Heo comments.

 

 Saving memory by re-using fairway imagery.

To solve speed issues, Com2uS took a look at the data format they had been using. At first, they were using vertex data to draw the golf course and also to check collision detection. One advantage of using vertex data was that one datum was good for both drawing and calculating. However, when the Com2uS team ran the game on a handset, the polygon drawing speed for the course was too sluggish.

"So, we separated the drawing data and the calculating operation data for the course. Basically, we extracted course data into the Mascot Capsule 3D file format - mbac file - to draw the golf course," recalls Jinbom Heo. "This meant we had different formats to carry out different functions; the mbac file took care of drawing the course, while the vertex data calculated other operations. This was useful to raising core game speed."

3. Good developer support

"Another positive aspect during development was the support we got from Sony Ericsson," Jinbom Heo recollects.

"Its support team was really active in helping us throughout. The On-Device Debugging functionality of their J2ME SDK helped us overcome many of the problems we had. This tool meant we could run the game on the phone and PC in sync. On the PC, any errors were shown and then printed. This was a great help in working out how to get the game running quickly at the speeds we wanted."

4. Graphics in 3D
For graphics, the Com2uS team found working in 3D for mobile was a challenge.

"I used to work for an online company doing graphics design for an MMORPG [editor's note: massive multiplayer online role-playing game]. We could draw around 2000 to 3000 polygons for a character," explains Jeonghoon Ahn. "But on a mobile phone, there are only 500 polygons or less possible for a character."

Still, they were able to get a smooth frame rate and game progression for 3D Golf, which the team thought was one of the biggest pluses during development.

Com2uS optimized key frames to reduce the amount of space taken up by animation. For the character images, they used small-sized textures of 32x32 pixels. For the course, they used small-sized tiles (64x64 pixels) sparingly. The quality of the texturing and sparing use of polygons meant that Com2uS could maximize overall graphical quality, while reducing resources taking up memory.

 

 Using fewer polygons to create a character.

5. Designing the main 3D Golf character for users outside Korea
Since 3D Golf was initially targeted for European mobile phone users, it was important to redesign the characters from 3D Fortune Golf, which were for Korean gamers. For example, in Korean animation the character's head tends to be larger in proportion to the total height of a character. In 3D Fortune Golf, the head made up one third of each character's height. In 3D Golf, Com2uS made the character's head a little smaller in relation to the body, giving slightly more realistic dimensions overall, including longer legs.

"Our offices in the UK and US seemed to like it," comments Jeonghoon Ahn. "Designing the right sort of animation for end-users in Europe and the US is always an interesting challenge."

Five things that "went wrong" in development

The Com2uS team also shares five details of the 3D Golf project that they felt were below par.

1. Large number of 3D graphics engines for mobile phones
When the team started with 3D Golf for Europe, the US, and SE Asia, they were initially developing the game with the JSR 184 platform.

"Since the game turned out to be so slow, we actually had to halt development and switch over to Mascot Capsule v3," Hojun Lee explains. "While this was not a problem in itself - indeed we were pleased with the final results - one issue was the number of 3D engines for mobile available on the market. Without a single standard, this is really going to challenge all 3D developers in the future."

2. Game speed issues
With 3D Golf, the Com2uS team still had some problems with game speed late into development. Depending on the phone, they found that the frame rate would sometimes suddenly drop or there would be a regular stutter.

"To solve this, we focused on minimizing the number of polygons on the screen," says Hojun Lee. "This was effective, but we still didn't achieve the optimum speed we were targeting in all areas. This is an area we will investigate further in the future."

3. Memory restrictions compromized game design objectives

"With 3D Golf, we weren't only restricted by devices," explains Jinbom Heo. "Carrier restrictions of file size (often around 300K) also forced us to prune back effects and parts of the course itself. And since we were developing the game in 3D, we hit these limits very quickly."

"I think the worst part for me was removing an entire group of holes from the course design," he continues. "It's painful knowing the user will enjoy the game a little less because some important part adding to variety of the game had to be dropped. Still, I think we found a reasonable compromise."

With 3D Fortune Golf, the Com2uS team had a very clear concept of what they wanted with the different game modes and the way the storyline would mesh with the game and graphics overall. As they had to cut out the story and other characters for 3D Golf, instead they focused on creating a character for 3D Golf who had a bit more of an attitude than characters in 3D Fortune Golf. However, the team felt that it would also have added to the overall game experience if they could have implemented other ideas, such as a temporal element into the game with day turning to dusk, dusk to night, and so on.

4. Long development time
The development of 3D Golf took around 6 months, since Com2uS were working with new technology and were implementing a large number of features.

"In the end, we couldn't get everything in that we wanted to," Hojun Lee remembers. "For example, we had to cut scenes and shots of the character reacting to good or bad shots and this would have made the game a little more fun."

5. Simple game physics
The implementation of golf physics was not quite to the depth that the team would have ultimately liked. For example, changing golf clubs only affects the distance the ball can travel. None of the subtleties such as different bounce physics from using a wood versus a short iron could be included.

"But development time was already running out and it would have been difficult to squeeze this into the game. Maybe next time," Hojun Lee concludes.

Summary and outlook

Overall, the Com2uS team achieved their main objective of creating a "true" 3D game for European mobile phones and learnt a great deal about the steps required to develop a Mobile Java 3D game from a Korean WIPI-C platform game.
 
Jeonghoon Ahn, Jinbom Heo and Hojun Lee all felt that the team approach they set up was successful and were pleased with the performance of the Sony Ericsson J2ME SDK, as well as the support they received from Sony Ericsson throughout the development of 3D Golf

About Com2uS
The Com2uS Corporation was established in July 1998. It is based in Seoul, Korea and currently has over 130 employees.

More information:

 

My Rating Score
Login to rate page