| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • Stop wasting time looking for files and revisions. Connect your Gmail, DriveDropbox, and Slack accounts and in less than 2 minutes, Dokkio will automatically organize all your file attachments. Learn more and claim your free account.

View
 

Technical Design Document

Page history last edited by PBworks 13 years, 6 months ago

Technical Design Document

 

Polar Paradise

 

Legal


Polar Paradise (c) Payneful Productions (Jonathan Hallier, Mark Timmins, et al), 2007

Polar Payne (c) Team Dinky (Steve Royer, Jonathan Hallier, et al) 2003

 

Full legal, IP & copyright info can be found at: Legal


All other trademarks are the property of their respective owners.


 

Table of contents

 


 

Section 1: Technical Team

Tech Lead: Jonathan Hallier

Roles: Gameplay programming, gameplay mapping (AI scripting), Tools, Debugging

 

Section 2: Executive Summary

 

Project Overview

Polar Paradise offers some challenging, but feasable, technical demands. The bulk of the project - creating and implementing new characters, weapons, and level content are fairly low-risk but time consuming tasks, and the success of this will rely on the efficiency of our pipeline to get new assets into the game. There are also a few higher risk areas of development surrounding the uncertainty behind creating new character skeletons for the penguin characters, and developing a creative solution for the flying penguins.

 

Delivery Platform

 

PC-CD ROM, Windows - Max Payne MOD (Game modification)

 

Max Payne Details

  • Published by God Games, Take 2 Interactive
  • Developed by Remedy Entertainment Ltd.
  • Produced by 3D Realms Entertainment a division of Apogee Software, Ltd.
  • Released 2001
  • Latest Patch: 1.05 patch 21.01.2002

 

Specifications

 

Minimum (minimum graphical detail):

  • 450 MHz AMD / Intel Processor (or compatible)
  • 16 MB Direct3D Compatible Graphics Card
  • 96 MB RAM

 

Recommended (medium graphical detail):

  • 700 MHz AMD / Intel Processor (or compatible)
  • 32 MB Direct3D Compatible Graphics Card
  • 128 MB RAM

 

Generic Requirements

  • DirectX 8.0,
  • DirectSound Compatible Sound Card
  • Mouse + Keyboard

 

Supported Operating Systems:

  • Windows 95 (OSR2 or later)
  • Windows 98
  • Windows ME
  • Windows 2000

 

NOTE: Although Max Payne has been found to work on Windows XP, it has not been thoroughly tested and thus Windows XP is not officially supported. Additionally, Windows NT is not supported. -http://www.rockstargames.com/maxpayne/support/

 

Section 3 Engine Evaluation

 

Internal Solutions

N/A – Polar Paradise was always designed with intention of developing it as a modification.

 

External Solutions from affiliate organisations

 

Max Payne, MAX-FX Technology(tm)

 

The MAX-FX Engine (aka the Max Payne engine) is a dedicated third-person, action-shooter game engine, developed by Remedy Entertainment Ltd. for the PC Windows title Max Payne.

 

The MAX-FX engine includes several tools developed by Remedy:

  • MaxED - Max Payne Level Editor
  • RASMaker - For creating MPM files for distributing modifications
  • ParticleFX - Particle Systems Editor
  • ActorFX - Character Editor (Redundant - use Milkshape3d)
  • KF Export - 3D Studio MAX 4 Plug-In for MAX-FX

 

Pros:

  • Bullet-Time / Shootdodge gameplay features already incoporated
  • Powerful MaxED level editor with excellent texturing features, radiosity lighting, and support for complex game dynamics, and Finite State Machine scripting capability.
  • High customisability – almost all game elements can be modified. (Link to breakdown)
  • Reliable & experience – the engine has been around since 2001, and its limits and capabilities are well defined

 

 

Cons:

  • Designed for room based environments – difficult (but not impossible) to create outdoor environments
  • Old technology – The game technology is not up-to-date with current standards, such as DirectX 9.0, and graphic features such as normal mapping and pixel shaders.
  • No Multiplayer – Max Payne is purely a singleplayer experience, and no multiplayer or networking code exits.
  • No Source Code or SDK – The engines Source Code and Software Development Kits remain the property of Take-2 Interactive, and have not been made publically available. All changes have to be made through modification of old features, no new features can be ‘programmed in’.

 

Legal

 

 

License granted for the modification and redistribution of non-commercial works with other legal owners of the Max Payne game. We retain copyright over materials and original IP we create. Legal

 

Max Payne Engine – Breakdown

 

What can be edited and the tools required

 

MaxFX is the game engine used to create the Max Payne game. The MaxFX tool kit used to edit and modify Max Payne include:

 

Tools

 

MaxED - the level editor (imports .lvl, exports .lbd)

ParticleFX - the particle effects editor (exports .rps)

ActorFX - used to weight skins (redundant - use Milkshape 3d)

Rasmaker - used to compile or extract .mpm and .ras files for releasing and editing mods (extracts/compiles .ras, .mpm, .mp2m)

 

Additional tools required include:

 

3DSMax 4 - Used to create and export all in-game models, animations, and camera effects (exports .kf2 format)

Milkshape 3d - Used to export characters (skins) and importing existing models for viewing/editing (import/exports .kf2 and .kfs)

Notepad - Used for editing game scripts (.txt, .h)

 

What can be modified:

 

Gameplay Critical:

 

LevelsMaxED, Photoshop, Notepad (or equivalent text editor)

Skins → 3DS Max, Milkshape3D, Photoshop

Animation → 3DS Max, Milkshape3D, Notepad

Weapons, Projectiles, Level Items (Pickups) → 3DS Max, Milkshape3D, Notepad

ParticlesParticleFX, Photoshop, Notepad

Audio (Music, Sound Effects, dialogue) → Cool Edit (or equivalent wav editor), Notepad

Menu → Photoshop, Notepad

HUD → Photoshop, Notepad

Coding & Developer Console → Notepad

 

Miscellaneous:

Camerapaths → 3DS Max, Notepad

Graphic Novel Pages → 3DS Max, Notepad

Decals (Blood splats, bulletholes, etc) → 3DS Max, Photoshop, Notepad

Skeletons → 3DS Max, Notepad

Worldspheres (skydome) → 3DS Max, Notepad

 

 

 

Max Payne: Kung Fu Edition 3

 

http://individual.utoronto.ca/ken_y/index.html

 

Max Payne: Kung Fu Edition 3 (aka Kung Fu 3) is an innovative and critically acclaimed modification for Max Payne developed by Kenneth Yeung. This modification complements Max Payne’s excellent shooting gameplay by allowing Max Payne to perform a wide range of ‘Kung Fu’ melee attacks and acrobatic feats such as carwheels, backflips, and wall running. Furthermore, it extends Max Payne’s shootdodge capability, allowing Max to perform 4 different shootdodge moves instead of just the one. It also improves the character physics system, to allow characters to slam into walls, etc.

 

Features:

 

A kung fu fighting system that includes:

  • a hand-to-hand fighting mode and a stick fighting mode (complete with slo-mo "stick FX")
  • an arsenal of over 20 different moves
  • a Kung Fu Skill Level system
  • a complex combo attack system

 

Improved acrobatic skills that include:

  • new "kung fu style" flips and spins
  • wall running and wall jumping

 

Two additional shootdodging techniques - the "drunken style" shootdodge and the aerial shootdodge.

 

Improved impact physics that allows for juggling bodies and "slamming" bodies into walls and other enemies.

 

Legal:

 

License granted for the creation and redistribution of non-commercial derivative works with other legal owners of the Max Payne game. Legal

 

 

Middleware

Milkshape 3D

 

http://chumbalum.swissquake.ch/

 

Milkshape 3D is a flexible low-poly modelling program designed primarily for game mod developers. It supports over 70 file formats, including a large range of proprietary game formats, such as Half Life, Quake, Unreal, Max Payne, and many others. For this project it will be used primarily to rig models to the skeleton and export the character models into the game.

 

3D Studio Max (3DS Max)

 

http://usa.autodesk.com/adsk/servlet/index?id=5659302&siteID=123112

 

3ds Max is one of the leading industry 3d packages, and was used in the development of Max Payne for all non-level 3d assets (e.g. character and weapon models + animation). Plugins and example files for Remedy’s proprietary KF2 file format are provided for versions 3 and 4 of 3dsmax. For this project it will be used in combination with Milkshape3D to export weapons and custom character animations. It might also be used to create custom character skeletons.

 

Maya

 

http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=7635018

 

Maya is another leading industry 3d package, but was not used in the development of Max Payne. However, our lead character artist is more experienced with Maya than 3DS Max, so all 3D assets will be created in Maya first before being exported to either 3DS Max or Milkshape3d.

 

Adobe Photoshop

 

http://www.adobe.com/products/photoshop/index.html

 

Adobe Photoshop is the leading graphics package for bitmap and image editing, and will be used for a variety of image editing functions, including but not limited to: textures, concepts, level design, screenshot and render postwork.

 

Daz Studio

 

http://www.daz3d.com/i.x/software/studio/-/?

 

Daz Studio is a free of charge 3d rendering application, intended for hobby rendering. It comes with the RenderMan-compliant 3Delight renderer and supports ray-tracing. For this project it will be used for creating promotional renders of game characters and assets.

 

EditPad-Lite

 

http://www.editpadpro.com/editpadlite.html

 

EditPad-Lite is a free text and source-code editor, with superior text editing functions than the standard Windows notepad application. For this project, it will be used for editing all game scripts

 

Summary

 

We will be using the Max Payne version of the MAX-FX engine, complemented with the ‘Kung Fu 3’ modification as our base template for Polar Paradise.

 

We have selected this engines for the following reasons:

 

Prior Technical Experience – Jonathan Hallier has worked with the Max-FX engine for 4 years, and has worked on several modification projects for it, such as Katana and the original Polar Payne and. He has also been praised by the original developers for helping other users develop their own mods. As result, it was considered a natural and logical choice for reducing risk and uncertainty in the project development.

 

Engine Flexibility, Reliability, Customisability – Although not as widely used as Half Life, Quake and Unreal engines, the Max Payne engine is extremely powerful, and highly customisable. Even without the source code or SDK, the tool-set provided (combined with middleware apps) are more than sufficient to develop this project. Furthermore, the engine is reliable and the pipeline for getting new assets into the game has long since been established. Even though the engine itself is fairly dated now, the actual development methodologies and design principals are no different from newer engines. The lack of multiplayer capability is not seen as an issue, since this project is designed to be a pure singleplayer experience.

 

Combat -- The Kung Fu 3 mod greatly improves upon the original game, without drastically changing the original content or code. As well as the new kung fu attacks, it improves the shooting gameplay by allowing the player to perform two different styles of shootdodge, as well as evasive dodges. Regarding the appropriateness of using this mod, we feel that giving our oversized polar bear character over-the-top kung fu powers adds to the comic and parody effect (in the original Polar Payne, Dinky performs the splits during a cutscene).

 

Therefore, we are confident that we have selected an appropriate engine to match the scope of the project.

 

Section 5: Asset List

 

Model implementation

Skins

Dinky the polar bear mesh – *.kfs & *.skd used from existing mod ‘Polar Payne’

Dinky the polar bear texture

 

Bad Guys

Evil Elf mesh - *.kfs & *.skd

Evil Elf texture 1 (red and green), 2 (blue & purple), 3 (all red)

 

Jumbo Elf mesh - *.kfs & *.skd

Evil Elf texture 1 (red and green), 2 (blue & purple), 3 (all red)

 

Exploding-penguin mesh - *.kfs & *.skd

Exploding-penguin texture

 

Bomber-penguin mesh - *.kfs & *.skd

Bomber-penguin texture

 

Factory worker penguin mesh - *.kfs & *.skd

Factory worker penguin texture

 

Weapons & projectiles

 

Weapon #1

Snowball – General Projectile Mesh - *.kf2

Snowball – General Projectile texture

(Projectile uses the same mesh)

 

Weapon #2

‘The Mincer’ – Mince pie automatic shotgun Mesh - *.kf2

‘The Mincer’ – Mince pie automatic shotgun texture

Mince Pie Projectile - mesh & texture

 

Weapon #2b

‘The Mincer’ Dual – Mince pie automatic shotgun Mesh - *.kf2

‘The Mincer’ Dual– Mince pie automatic shotgun texture

Mince Pie Projectile - mesh & texture

 

Weapon #3

Jingle Ball Launcher – Jingle Ball grenade launcher Mesh - *.kf2

Jingle Ball Launcher – Jingle Ball grenade launcher texture

Jingle Ball Projectile - mesh & texture

 

Weapon #4

Icicle Rifle – Sniper Rifle Mesh - *.kf2

Icicle Rifle – Sniper Rifle texture

Icicle Projectile - mesh & texture

 

Weapon #5

Turkey Blaster 6000™ – ‘Roast Turkey’ Launcher Mesh - *.kf2

Turkey Blaster 6000™ – ‘Roast Turkey’ Launcher texture

Turkey Projectile - mesh & texture

 

Weapon #6

Arctic Commando – Snowball Assault Rifle Mesh - *.kf2

Arctic Commando – Snowball Assault Rifle texture

Snowball Projectile - mesh & texture shared with snowball weapon

 

Weapon #7

Fun-Matic 2000™ Practical Candy Launcher ® – Submachine gun Mesh - *.kf2

Fun-Matic 2000™ Practical Candy Launcher ® – Submachine gun texture

Candy Projectile - mesh & texture

 

Weapon #8

Flame Thrower - From the original Polar Payne mod, made by Steve Royer - *.kf2

Flame is generated by fire particles

 

Pick-ups / aka Level Items

 

'Level Items' for all the above weapons share the same kf2 mesh & texture files.

 

Fish mesh & texture – used from the mod ‘Polar Payne’, made by Steve Royer - *.kf2

 

Animation List

The animations for Polar Paradise will be taken from Max Payne, Max Payne: Kung Fu Edition 3, and Polar Payne

 

New animations will be created for the Penguins, specifically:

 

-Standing Idle - *.kf2 format

-Walking - *.kf2

-Running - *.kf2

-Dying - *.kf2

 

Interface Art List

Menus

Code for selecting and loading the levels needs to be implemented.

 

Audio

Music

Music for levels 1 and 2 need to be implemented, plus additional stings and events for cutscenes.

 

Dialogue

 

Sound effects for dialogue need to be implemented into the game

 

Elf Noise - Elf makes a noise, alerting the player

Elf Group Noise - A group of Elves talking

Elf Alert - Elf spots the player 'hey! it's Dinky!' etc

Elf Group Alert - A group of Elves spot the player

Elf Death - Elf dying grunt

 

Santa Alert - Santa spots player

Santa Taunt - Santa taunts player

Santa Death - Santa dies

 

Penguin Noise - Penguin makes noise

Penguin Alert - Penguin spots player

Penguin Death - Penguin dies

 

Scene specific

Santa Tour 1-15 - Various dialogue of Santa explaining what each room does.

 

 

 

Section 6: Development Plan & Scheduling

 

Full development, scheduling, and risk analysis information can be found on the Development Plan page.

 

Section 7: Data Security

 

Backup Plan

 

The producers will be responsibile for maintaining and backing up all onsite documentation, code, and other project and game assets. In addition, the producer will be responsible for making weekly build back-ups to CD.

Comments (0)

You don't have permission to comment on this page.