Imported kball_final_src_16dec2004.tar.gz
[kball.git] / doc / design.txt
blob57d42d95a0ce489ce286a0bb285947e5992cca4c
1 KBall
2 -----
4 Some design notes about the game
6 By Kronoman
7 Copyright (c) 2004, Kronoman
8 In loving memory of my father
10 Document started 14/01/2004 (D/M/Y)
12 Levels
13 ------
15 The levels are stored inside a directory named "levels" under the directory where the game's executable is.
16 There is two kind of levels, single levels, and level campaigns.
18 Single level
19 ------------
21 Is a single level, named [filename].map ; must be done using the built-in level editor.
23 Level campaign
24 --------------
26 Is a Allegro grabber datafile, named [filename].fmp, that contains many single levels as objects ; must be named in numbers, like "1_MAP", "2_MAP", etc.
27 Each level name is a number+"_MAP" ([n]_MAP), like '1_MAP', '2_MAP', etc.
28 The program will load them in sequence starting at '1_MAP', and will end when it don't found the next level (thus, the campaign is over, and you win).
30 Datafiles
31 ---------
33 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
34 [sprites.dat]
36 Has all data about standard sprites of the game, sounds, fonts and miscellaneous images that appear during the game.
38 Must have the following objects:
39 BALL -- ball sprite, is a texture of 64x64 that will be mapped to a ball
40 BALL_MASK_SHADOW -- ball shadow sprite, to be blitted with 50% blend over mapped sphere to give shadowed look
41 GAME_SCORE_FONT -- this font is used to write the score on screen during game, and also, the prizes remaining; MUST contain letters, is also used to display messages on screen.
42 GAME_TIME_FONT -- this font is used to write the time on screen during game
43 GAME_MESSAGES_FONT -- this font is used to write special messages on screen like 'PAUSE', 'WON THE LEVEL', 'LOST A BALL', etc.
45 GAME_OVER_BMP -- bitmap to show when game over.
46 GAME_OVER_WAV -- wav to play when game over
47 WON_BMP -- bitmap to show when player won the campaign game.
48 WON_WAV -- wav to play when player won campaign game.
50 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
51 [gui.dat]
53 Has all the data about GUI (fonts, menu backgrounds, music, etc)
55 MENU_FONT_BIG -- font big for menus
56 MENU_FONT_MEDIUM -- font medium for menus
57 MENU_FONT_SMALL -- font small for menus
58 MENU_BMP_BACKGROUND -- bitmap for menu background
60 ABOUT_BACKGROUND -- bitmap for about background.
61 ABOUT_TEXT -- text object with text to display on about dialog.
62 ABOUT_BACK_SOUND -- sound that will loop in background of about dialog.
64 MENU_MUSIC_XM -- music for menu, must be a XM type object, a XM music file.
65 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
66 [tileset.dat]
68 Has the tile set used in the map (walls, floors, etc)
69 TILE_SET_CFG_TXT -- This is a text object, with the configuration of each tile of the tilset. This object is *mandatory*
70 Also, you must include all objects referenced in TILE_SET_CFG_TXT (bitmaps, sounds, etc)
72 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
73 [backgr.dat]
75 Has all the backgrounds for game levels.
76 Can be up to 256 backgrounds, 0..255.
77 The name of each bitmap object must be:
78 B[0...255]_BMP --> in example: B0_BMP, B1_BMP...B255_BMP
79 Each bitmap must be tileable, so it looks OK in the background.
80 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
81 [music_l.dat]
83 Has all the music for the game levels.
84 Can be up to 256 music tones, 0..255.
85 The name for each music object must be:
86 M[0..255]_XM --> in example : M0_XM, M1_XM, M2_XM
87 The music format _must_ be FastTracker's XM
88 Each object must be a binary object of type "XM  "
90 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
91 [intro.dat]
93 This is a very special file, has the introduction of the game
94 Must be exactly like this (all is hard coded, sorry)
95 1_BMP Pictures of Kronoman, must be of 320xXXX pixels
96 2_BMP
97 3_BMP
98 4_BMP
99 5_BMP
100 LOGO_KRONOMAN_BMP Logo of Kronoman
101 KRONOMAN_WAV Kronoman sound
102 INTRO_TXT text for the intro with pictures