Plan for Justin Mette
by Justin Mette · 09/22/2001 (5:29 am) · 0 comments
Week three of Myrmidon development has seen a strong increase in productivity and learning around the Torque Game Engine (TGE) itself. Some focus has also been put on the business side of the project. Incorporation of 21-6 Productions along with a patent for Myrmidon are in progress. This is a somewhat new area for the team and we are looking forward to understanding it all a bit better.
More family join the fray, as well this week with Justin and Ryan's Mom, Terry, helping out with some of the business arrangements and Justin's Wife, Molly, starting to sketch some concept art in her spare time. Everybody is really starting to catch the bug and get excited about the Myrmidon project.
On with the status from this last week:
Camera System
As we continue to use the camera system in Myr, a few great ideas have turned into tasks for finishing the Camera System in Phase One. And they are...
[+] Mouse-wheel zoom
[+] Reset camera with center mouse button
[+] When switching between normal and orbit mode, dont reset
[+] Remember camera mode (normal, orbit, or free)
[+] Remember camera-mouse mode (on or off)
[+] Auto-aim camera to keep selected target in view at all times
Character Movement
The currently implemented movement system seems to be working out great. The only known remaining tasks on this subject are custom character animations like waving or kneeling. This will come later in Phase One as we get familiar with the modeling/animation tools.
Collision Detection
There are some forum threads on the subject recently which will definitely help complete this task of adding collision information to environmental objects, like trees and rocks. Again, we are working our way into the modeling tools, which contains the key to meeting this requirement.
Design Forums
Jim started everyone thinking about character classes and skills/attributes this week in the forums. There were many posts and chats about possible approaches. This is a key topic to have designed before the next Phase enters development (about 5 weeks).
Development Environment
Dave finally found the rebuild problem with Visual Studio where dependant files were not getting built which ultimately resulted in a "rebuild all" to get things working again. At any rate, it seems the output directory for object files needs to be the same across all folders in the project (ai, game, sim, etc). Going through the Project settings for each folder and setting the output directory to be debug or release, as appropriate, fixed the problem. This is a huge time saver!
Internet access to a source control system is still biting us. We have been struggling with 3rd party products to help bridge the connection between our machines, but the current solution is just to damn slow to work with effectively. So, in a never-ending search for Chi in our workplace, we decided to buy our own server, run Windows 2000 Server, and enable VPN access for the remote developers and artists. Ryan did some searching around the local computer stores and found a great deal on a P4, 1.5ghz machine which should be ready Monday. By mid-week, we should be back in business with a tolerable source control solution as well as a development server for testing client/server issues in Myr.
Dynamic Mission Elements
Justin made some great progress this week on dynamically configuring mission elements. It is really encouraging to see results so quickly which is a true testament to the TGE.
First, we have a new mission construct that defines a region of the map that will be randomly populated with the specified number of static objects. This is great for randomly generating forests or rock beds, both of which are demonstrated in the latest build of Myr.
Next, we have another new mission construct for randomly positioning an interior based on a preset number of locations around the map. Every time the mission is loaded, the interior will be placed in a new location. Next week, Justin will be looking into randomly placing interior's that penetrate the terrain, which may require cutting holes in the terrain dynamically, unless Peter Fishel's forum thread on the topic works out.
Remaining tasks for Phase One on this subject include:
[+] Editor support for the new mission constructs described above. The mission designer needs to be able to define the dynamically configurable elements of that mission in the editor.
[+] A few enhancements to the "random region" algorithms, including ensuring models (like trees) completely penetrate the terrain and an attribute that controls whether the objects should be placed parallel to the terrain.
HUD Controls
No new developments this week. Ryan will be taking over responsibility for any HUD controls from this point forward. This includes the selected player information, compass, health, etc.
Inner lobby
We started to explore the idea of a full 3D virtual experience to replace the existing inner lobby. After spending time with one of the interior editors for TGE, Worldcraft, and seeing how easy it is to use, the equivalent of a town in Asheron's Call my indeed become a standard feature of Myrmidon.
Mission: "Research Station"
Justin worked on many aspects of the Research Station mission this week, but mostly in a learning mode. In order to express some of the ideas we have about this mission concept, we want to be at least capable of creating "programmer art" that can act as a placeholder for the final artwork. In supporting this theory, the following tasks were accomplished this week:
[+] Determined how to enlarge the terrain "square" that is repeated by the engine as you traverse the landscape. This ended up being an easy way to increase the size of the mission area dramatically without changing the heightfield size (256x256) in the engine which appears to be rather difficult. We don't get as much resolution on the heightfield as we used to, but so far this hasn't posed a problem in this mission.
[+] Figured out how to place interior objects that penetrate the landscape with the editor. It took a while to realize that holes needed to be cut in the terrain itself. This didn't bode well for the existing dynamic interior placement algorithms. There is some forum activity on the subject that will hopefully make this small issue go away.
[+] Learned how to define terrain textures in the editor. A few terrain textures from T2 were scammed and put into this mission, until new artwork can be put in place - hopefully next week.
[+] Spent time learning how to create skyboxes with out favorite modeling program. Expect to see some new ones in the upcoming builds of Myr. For the time being a sky from T2 was ripped off an put in this mission.
[+] Started to learn the Worldcraft interior editor. The TGE docs on the subject ended up being very helpful only after realizing they were there, of course.
Multiplayer
No new developments this week. Although we did find that testing our code changes with a dedicated client and a dedicated server helped us to find bugs that only occur in that situation. The new server we will be installing this week should help testing efforts of this type in the future.
Options Dialog
Ryan continues the process of porting over the options dialog from Tribes 2 this week. There are a lot of controls and console variables that are either gone in TGE or changed. The task is therefore taking longer than anticipated but still serves as a great learning experience on how the engine exposes configuration settings and functionality.
Player selection
The big story of the week! Dave managed to solve one of the most puzzling problems to date. At first, adding a cursor around the selected player (a 3D bounding box for now) seemed an easy task and indeed, it did end up being easy to implement. The process somewhere in between those two points, however, was long and painful but forced us to learn the TGE in great detail. About 1:00am EST this morning, we saw a cursor around the selected player on a dedicated client machine. How exciting! Next week, Dave will be implementing the last few frills of Player Selection like using the keyboard to select the next, previous, and closest player.
Player Model
Justin's wife, Molly, started sketching some head shots of a Myr this week in her spare time. Mostly the sketches focused on how the head implants looked exploring a more organic, fluid aesthetic.
User Interface
Ryan implemented a new bitmap button into the engine and thusly throughout the user interface of Myr. The bitmap button only requires three or four bitmaps for all buttons on the user interface because it draws text on the buttons dynamically. This greatly reduces the artwork required for some user interface screens. He is now working on other controls in the same spirit.
More family join the fray, as well this week with Justin and Ryan's Mom, Terry, helping out with some of the business arrangements and Justin's Wife, Molly, starting to sketch some concept art in her spare time. Everybody is really starting to catch the bug and get excited about the Myrmidon project.
On with the status from this last week:
Camera System
As we continue to use the camera system in Myr, a few great ideas have turned into tasks for finishing the Camera System in Phase One. And they are...
[+] Mouse-wheel zoom
[+] Reset camera with center mouse button
[+] When switching between normal and orbit mode, dont reset
[+] Remember camera mode (normal, orbit, or free)
[+] Remember camera-mouse mode (on or off)
[+] Auto-aim camera to keep selected target in view at all times
Character Movement
The currently implemented movement system seems to be working out great. The only known remaining tasks on this subject are custom character animations like waving or kneeling. This will come later in Phase One as we get familiar with the modeling/animation tools.
Collision Detection
There are some forum threads on the subject recently which will definitely help complete this task of adding collision information to environmental objects, like trees and rocks. Again, we are working our way into the modeling tools, which contains the key to meeting this requirement.
Design Forums
Jim started everyone thinking about character classes and skills/attributes this week in the forums. There were many posts and chats about possible approaches. This is a key topic to have designed before the next Phase enters development (about 5 weeks).
Development Environment
Dave finally found the rebuild problem with Visual Studio where dependant files were not getting built which ultimately resulted in a "rebuild all" to get things working again. At any rate, it seems the output directory for object files needs to be the same across all folders in the project (ai, game, sim, etc). Going through the Project settings for each folder and setting the output directory to be debug or release, as appropriate, fixed the problem. This is a huge time saver!
Internet access to a source control system is still biting us. We have been struggling with 3rd party products to help bridge the connection between our machines, but the current solution is just to damn slow to work with effectively. So, in a never-ending search for Chi in our workplace, we decided to buy our own server, run Windows 2000 Server, and enable VPN access for the remote developers and artists. Ryan did some searching around the local computer stores and found a great deal on a P4, 1.5ghz machine which should be ready Monday. By mid-week, we should be back in business with a tolerable source control solution as well as a development server for testing client/server issues in Myr.
Dynamic Mission Elements
Justin made some great progress this week on dynamically configuring mission elements. It is really encouraging to see results so quickly which is a true testament to the TGE.
First, we have a new mission construct that defines a region of the map that will be randomly populated with the specified number of static objects. This is great for randomly generating forests or rock beds, both of which are demonstrated in the latest build of Myr.
Next, we have another new mission construct for randomly positioning an interior based on a preset number of locations around the map. Every time the mission is loaded, the interior will be placed in a new location. Next week, Justin will be looking into randomly placing interior's that penetrate the terrain, which may require cutting holes in the terrain dynamically, unless Peter Fishel's forum thread on the topic works out.
Remaining tasks for Phase One on this subject include:
[+] Editor support for the new mission constructs described above. The mission designer needs to be able to define the dynamically configurable elements of that mission in the editor.
[+] A few enhancements to the "random region" algorithms, including ensuring models (like trees) completely penetrate the terrain and an attribute that controls whether the objects should be placed parallel to the terrain.
HUD Controls
No new developments this week. Ryan will be taking over responsibility for any HUD controls from this point forward. This includes the selected player information, compass, health, etc.
Inner lobby
We started to explore the idea of a full 3D virtual experience to replace the existing inner lobby. After spending time with one of the interior editors for TGE, Worldcraft, and seeing how easy it is to use, the equivalent of a town in Asheron's Call my indeed become a standard feature of Myrmidon.
Mission: "Research Station"
Justin worked on many aspects of the Research Station mission this week, but mostly in a learning mode. In order to express some of the ideas we have about this mission concept, we want to be at least capable of creating "programmer art" that can act as a placeholder for the final artwork. In supporting this theory, the following tasks were accomplished this week:
[+] Determined how to enlarge the terrain "square" that is repeated by the engine as you traverse the landscape. This ended up being an easy way to increase the size of the mission area dramatically without changing the heightfield size (256x256) in the engine which appears to be rather difficult. We don't get as much resolution on the heightfield as we used to, but so far this hasn't posed a problem in this mission.
[+] Figured out how to place interior objects that penetrate the landscape with the editor. It took a while to realize that holes needed to be cut in the terrain itself. This didn't bode well for the existing dynamic interior placement algorithms. There is some forum activity on the subject that will hopefully make this small issue go away.
[+] Learned how to define terrain textures in the editor. A few terrain textures from T2 were scammed and put into this mission, until new artwork can be put in place - hopefully next week.
[+] Spent time learning how to create skyboxes with out favorite modeling program. Expect to see some new ones in the upcoming builds of Myr. For the time being a sky from T2 was ripped off an put in this mission.
[+] Started to learn the Worldcraft interior editor. The TGE docs on the subject ended up being very helpful only after realizing they were there, of course.
Multiplayer
No new developments this week. Although we did find that testing our code changes with a dedicated client and a dedicated server helped us to find bugs that only occur in that situation. The new server we will be installing this week should help testing efforts of this type in the future.
Options Dialog
Ryan continues the process of porting over the options dialog from Tribes 2 this week. There are a lot of controls and console variables that are either gone in TGE or changed. The task is therefore taking longer than anticipated but still serves as a great learning experience on how the engine exposes configuration settings and functionality.
Player selection
The big story of the week! Dave managed to solve one of the most puzzling problems to date. At first, adding a cursor around the selected player (a 3D bounding box for now) seemed an easy task and indeed, it did end up being easy to implement. The process somewhere in between those two points, however, was long and painful but forced us to learn the TGE in great detail. About 1:00am EST this morning, we saw a cursor around the selected player on a dedicated client machine. How exciting! Next week, Dave will be implementing the last few frills of Player Selection like using the keyboard to select the next, previous, and closest player.
Player Model
Justin's wife, Molly, started sketching some head shots of a Myr this week in her spare time. Mostly the sketches focused on how the head implants looked exploring a more organic, fluid aesthetic.
User Interface
Ryan implemented a new bitmap button into the engine and thusly throughout the user interface of Myr. The bitmap button only requires three or four bitmaps for all buttons on the user interface because it draws text on the buttons dynamically. This greatly reduces the artwork required for some user interface screens. He is now working on other controls in the same spirit.
About the author
Recent Blogs
• Defense Net• Players Choice Awards
• TubeTwist-iness
• Plan for Justin Mette
• Plan for Justin Mette