some bugs with json fixed
[aymargeddon/current.git] / src / FROGS / FROGS.pod
1 =head1 NAME B<FROGS>
2
3
4 B<F>ramework for B<R>ealtime B<O>nline B<G>ames of B<S>trategy
5
6 =head1 DESCRIPTION
7
8
9 This is a Framework for programming Massive Multiplayer Browsergames
10 (MMBG).
11
12 The generell idea is to have a SQL-Database, which is accessed over
13 DBI, some scripts to do the work at the server and some
14 EmbPerl-Scripts to do the user interaction. The wide area of games is
15 to different to give the scripts itself, so instead we choose to
16 provide some modules which includes the generell function of a MMBG
17 and you will program some scripts to do the game-specific
18 part. Normally you need:
19
20 =over 4
21
22 =item create.pl
23
24 A script, which generates a world in the database.
25
26 =item scheduler.pl
27
28 A script which do the commands and deliver the messages. It should run
29 as a daemon.
30
31 =item check.pl
32
33 A script, which checks the logical integrity of the database of your
34 game.
35
36 =item *.epl
37
38 A bunch of Templates for the user-interaction. For instance a
39 login.epl to manage the user-authentification and a map.epl to draw a
40 graphical map.
41
42 =back
43
44 As a start you can look at the scripts provided by the Aymargeddon
45 project (www.aymargeddon.de), which is based upon FROGS. You should
46 maybe use the *.epl-templates from it, because they do much generell
47 work and some of them will maybe included in later versions of FROGS.
48
49 FROGS consists of the following parts:
50
51 =over 4
52
53 =item B<FROGS::Map>
54
55 An generell baseclass for maps. Includes a generell baseclass for
56 locations.
57
58 =item B<FROGS::HexTorus>
59
60 A special Map derived from FROGS::Map. It is a Torus consisting of
61 Hex-Fields.
62
63 =item B<FROGS::Check>
64
65 This provides generell checking ability for the underlying database.
66
67 =item B<FROGS::DataBase>
68
69 Here the structur of the Database is defined. You should normally not
70 use direct DBI-access to the Database. Use this module instead
71 whenever possible.
72
73 =item B<FROGS::Config>
74
75 You have to change this to configure your Game. See the comments in
76 the file.
77
78 =back
79
80 Look in the perldoc of the parts if you want to know more.
81
82 =head1 DATABASE
83
84 You also need to provide a FROGS-conform database. Your game database
85 can have more tables and fields than this, but the following
86 tables/fields are a must have:
87
88 =over 4
89
90 =item MAP
91
92 Fields: LOCATION, GAME
93
94 =item COMMANDS
95
96 Fields: COMMAND, GAME, PLAYER
97
98 =item MESSAGES
99
100 Fields: GAME, MESSAGE, PLAYER, FROM
101
102 =item LOCALIZE
103
104 =item ROLE
105
106 =item PLAYER
107
108 =back
109
110 Look at the database definition in Aymargeddon to get a clue. For
111 later versions we will provide a database definition of this minimal
112 database to simplify things.
113
114 =head1 VERSION
115
116 This is Version 0.1 of the FROGS. 
117
118 =head1 LICENSE
119
120 FROGS is Free Software (GPL).
121
122 =head1 AUTHOR
123
124 FROGS was written by the Aymargeddon development team. Most work done by:
125
126         Benni Baermann (benni AT obda DOT de)
127
128         Dominikus Scherkl 
129
130         Jens Kurlanda 
131
132 Contact us at ragnaroek AT informatik DOT uni-frankfurt DOT de.
133
134 =cut