|Top Previous Next|
Mauricio Estrada, although on a tight schedule, kindly took the time to answer the questions for this month's interview.
Q: How big is your team and how much did it take you to create TacaTaca?
A: Well, the team (At The Game) consists of my brother (Eric Estrada) and me (Mauricio Estrada). We live in Chile and I study civil engineering in information technology at the Austral University of Chile. Eric is a graphic designer and webmaster; he takes care of animations, images for the panels, skins, textures, models and music. My main task is programming, from panel scripts to artificial intelligence. Sometimes also I help with the skins, texturess, music and models. The ideas for this game grew out after a brainstorming session.
The development of the demo took about 3 months. We started in January 2008 and continued to work in February and March. We restarted the project in June, when we have released the first version of the game at Conitec's forum. We want to create evolutionary prototypes in order to achieve a more refined project. Right now the project is in a stage of analysis, in order to optimize algorithms and develop more levels and mini-games that add a new dimension to the game.
Q: Why did you choose the Intel Indeo codec for your in-game movies?
A: We chose Indeo because this codec provides a good compression-quality ratio; that's pretty much it.
Q: How did you create those sliding buttons from the main menu?
A: We wanted to have a menu that contains only moving elements. In fact, the main panel doesn't even have a background image. The first thing is to determine the proper position of the panel, and then move it towards the desired position, incrementing or decrement its pos_x or pos_y values (or both). This can be done using a “while” loop, multiplying “time_step” with a factor. The background panel should have a small "layer" value. Here's an example:
pl_menu_principal_1024.pos_x = -287; // hidden, initial position.
pl_menu_principal_1024.pos_y = 480;
while( pl_menu_principal_1024.pos_x < 93 ) // move towards the final position
pl_menu_principal_1024.pos_x += 60*time_step; // increment pos_x
pl_menu_principal_1024.pos_x = 93; // set the panel at its final position
Q: What is the most complicated part of a game like TacaTaca?
A: Configuring the physics engine and deciding what are the restrictions was a complicated task. We have used the "trials and error" method, using a lot of time because we have tried it using several different test levels. The bars and the players ran out of control many times; increasing the resolution of the physics engine had a negative effect on the frame rate. The physics engine used quite a bit of CPU resources, but it allowed us to achieve more natural motions. We are now improving the code, trying to lower the load on the processor.
The development PC has these components:
- CPU: AMD ATHLON 64 3200 +
- RAM: 512 MB
- Video Card: ATI Radeon series X1650
Q: How did you make sure that the ball doesn’t get stuck in one of the corners (or a similar area)?
A: The majority of the objects that the ball collides with in the level are cubes or cube-like elements (see the image below). The physical objects are boxes or spheres; this way, the physics engine works better. The objects that are not physical entities have all same configuration; we activate their "POLYGON" and "c_setminmax". Also, an instruction like "phent_setdamping(my, 0, 0);" helps improve the frame rate.
We have adjusted almost all the predefined variables in order to set up the physical engine properly:
ph_iterations = 100; // better 0
ph_check_distance = 10; //better 20
ph_setautodisable (90, 90, 1, 0.1);
ph_setcorrections (90000, 0.001);
ph_setcontacts(vector(80000, 10, 0), 0, 0, 0);
ph_fps_max_lock = 220;
With these values, most of our problems were solved:
Q: What are the game modes that will make it into the final version of the game?
A: At this moment we are searching for a publisher for Tacataca, but we continue to work at the game. A WiiMote interface will be added to the game, we will add a championship mode with several types of tables (circular tables with several floors and different inclinations, etc) multiplayer modes, several levels of difficulty (easy, medium and hard), modes where the ball reaches high velocities and special powers, being able to knock down the rival. The ball will become a bomb under certain circumstances and we will have many other modes and improvments.
Q: Did you miss an engine feature?
A: A multi-platform engine that creates game that run on XBOX 360, Wii, PC would be brilliant. I would have liked that.
Q: Do you have some tips for the beginners?
A: I don't have too much experience, but I say that it is better to begin with small projects, taking care of several aspects: the textures and the skins should work well together, the panels should blend in nicely, the programming should work fine and so on. Try to learn as much as possible and explore the possibilities of the engine; learning some tricks can be of great benefit. Try to delimit and solve the problems if you want to be able to finish your projects; spent time improving the quality of the game. Have fun while creating your game; otherwise, you will become frustrated, considering the present-day video games market.
Thank you a lot, Mauricio.