Unicode E$Û$$x # ?$» Ü$ÏØ$Ú si tahW

Behdad Esfahbod
unicode@behdad.org
$vØ$Û$&$Ën$» Ü$$Ð$Ô$Ë Ù Ò$¼$$Ïm
µ$Ú$ Ü$w$¬$Ð$ Òn$¼$$ÏmÎm$Úm ، Îm$Ô$v¾n$$Ó Òn$Ë În$pa Ù Ö$q$Ð$n$Ô$E Ñ$Û$¿×m

There were some slides from old presentations

It was boring
to redesign new ones

There were some slides from old presentations

It was boring
to redesign new ones

So, I turned toTechnical Details
here. . .

What is Unicode?
• Its all about characters• 0 ≤ character code ≤ 10FFFF16 = 17 × 216 − 1 = 1,114,111• The minimum number of bits enough for encoding every
character is 21, but thats almost nowhere used. (Its
actually a 20.08746-bit character set!)• U+06CC is the ARABIC LETTER FARSI YEH (Ù)• Characters are arranged in blocks so one can find themeasily (all Arabic letters are in range U+0600 and U+06FF)
3

What is Unicode?
• Its all about characters• 0 ≤ character code ≤ 10FFFF16 = 17 × 216 − 1 = 1,114,111• The minimum number of bits enough for encoding every
character is 21, but thats almost nowhere used. (Its
actually a 20.08746-bit character set!)• U+06CC is the ARABIC LETTER FARSI YEH (Ù)• Characters are arranged in blocks so one can find themeasily (all Arabic letters are in range U+0600 and U+06FF)
3-a

What is Unicode?
• Its all about characters• 0 ≤ character code ≤ 10FFFF16 = 17 × 216 − 1 = 1,114,111• The minimum number of bits enough for encoding every
character is 21, but thats almost nowhere used. (Its
actually a 20.08746-bit character set!)• U+06CC is the ARABIC LETTER FARSI YEH (Ù)• Characters are arranged in blocks so one can find themeasily (all Arabic letters are in range U+0600 and U+06FF)
3-b

What is Unicode?
• Its all about characters• 0 ≤ character code ≤ 10FFFF16 = 17 × 216 − 1 = 1,114,111• The minimum number of bits enough for encoding every
character is 21, but thats almost nowhere used. (Its
actually a 20.08746-bit character set!)• U+06CC is the ARABIC LETTER FARSI YEH (Ù)• Characters are arranged in blocks so one can find themeasily (all Arabic letters are in range U+0600 and U+06FF)
3-c

What is Unicode?
• Its all about characters• 0 ≤ character code ≤ 10FFFF16 = 17 × 216 − 1 = 1,114,111• The minimum number of bits enough for encoding every
character is 21, but thats almost nowhere used. (Its
actually a 20.08746-bit character set!)• U+06CC is the ARABIC LETTER FARSI YEH (Ù)• Characters are arranged in blocks so one can find themeasily (all Arabic letters are in range U+0600 and U+06FF)
3-d

What is Unicode?
• Its all about characters• 0 ≤ character code ≤ 10FFFF16 = 17 × 216 − 1 = 1,114,111• The minimum number of bits enough for encoding every
character is 21, but thats almost nowhere used. (Its
actually a 20.08746-bit character set!)• U+06CC is the ARABIC LETTER FARSI YEH (Ù)• Characters are arranged in blocks so one can find themeasily (all Arabic letters are in range U+0600 and U+06FF)
3-e

But what is a character?
We dont know!
. . . but we know some things that are not characters:• Glyphs: there is only one ARABIC LETTER BEH (o)• Ligatures: there is no ARABIC LIGATURE LAM ALEF (È)• Markup: there is no START BOLDFACE (<b>)• Logos and emblems: there is no APPLE SIGN
So, did you found out whats it?
4But what is a character?
We dont know!
. . . but we know some things that are not characters:• Glyphs: there is only one ARABIC LETTER BEH (o)• Ligatures: there is no ARABIC LIGATURE LAM ALEF (È)• Markup: there is no START BOLDFACE (<b>)• Logos and emblems: there is no APPLE SIGN
So, did you found out whats it?
4-aBut what is a character?
We dont know!
. . . but we know some things that are not characters:• Glyphs: there is only one ARABIC LETTER BEH (o)• Ligatures: there is no ARABIC LIGATURE LAM ALEF (È)• Markup: there is no START BOLDFACE (<b>)• Logos and emblems: there is no APPLE SIGN
So, did you found out whats it?
4-bBut what is a character?
We dont know!
. . . but we know some things that are not characters:• Glyphs: there is only one ARABIC LETTER BEH (o)• Ligatures: there is no ARABIC LIGATURE LAM ALEF (È)• Markup: there is no START BOLDFACE (<b>)• Logos and emblems: there is no APPLE SIGN
So, did you found out whats it?
4-cBut what is a character?
We dont know!
. . . but we know some things that are not characters:• Glyphs: there is only one ARABIC LETTER BEH (o)• Ligatures: there is no ARABIC LIGATURE LAM ALEF (È)• Markup: there is no START BOLDFACE (<b>)• Logos and emblems: there is no APPLE SIGN
So, did you found out whats it?
4-dBut what is a character?
We dont know!
. . . but we know some things that are not characters:• Glyphs: there is only one ARABIC LETTER BEH (o)• Ligatures: there is no ARABIC LIGATURE LAM ALEF (È)• Markup: there is no START BOLDFACE (<b>)• Logos and emblems: there is no APPLE SIGN
So, did you found out whats it?
4-eBut what is a character?
We dont know!
. . . but we know some things that are not characters:• Glyphs: there is only one ARABIC LETTER BEH (o)• Ligatures: there is no ARABIC LIGATURE LAM ALEF (È)• Markup: there is no START BOLDFACE (<b>)• Logos and emblems: there is no APPLE SIGN
So, did you found out whats it?
4-fThats a big lie!
• Glyphs: there are four dierent presentation forms of
ARABIC LETTER BEH (p, q, r, o), in addition to one
general one, but. . .
• Ligatures: there is an ARABIC LIGATURE LAM ALEF(È), among many others• Markup: there are control character everywhere, from a
PARAGRAPH SEPARATOR to something named POP
DIRECTIONAL FORMATTING• Logos and Emblems: FARSI SYMBOL (U+262B) is there,
as well as playing cards suits.
5

Thats a big lie!
• Glyphs: there are four dierent presentation forms of
ARABIC LETTER BEH (p, q, r, o), in addition to one
general one, but. . .
• Ligatures: there is an ARABIC LIGATURE LAM ALEF(È), among many others• Markup: there are control character everywhere, from a
PARAGRAPH SEPARATOR to something named POP
DIRECTIONAL FORMATTING• Logos and Emblems: FARSI SYMBOL (U+262B) is there,
as well as playing cards suits.
5-aThats a big lie!
• Glyphs: there are four dierent presentation forms of
ARABIC LETTER BEH (p, q, r, o), in addition to one
general one, but. . .
• Ligatures: there is an ARABIC LIGATURE LAM ALEF(È), among many others• Markup: there are control character everywhere, from a
PARAGRAPH SEPARATOR to something named POP
DIRECTIONAL FORMATTING• Logos and Emblems: FARSI SYMBOL (U+262B) is there,
as well as playing cards suits.
5-bThats a big lie!
• Glyphs: there are four dierent presentation forms of
ARABIC LETTER BEH (p, q, r, o), in addition to one
general one, but. . .
• Ligatures: there is an ARABIC LIGATURE LAM ALEF(È), among many others• Markup: there are control character everywhere, from a
PARAGRAPH SEPARATOR to something named POP
DIRECTIONAL FORMATTING• Logos and Emblems: FARSI SYMBOL (U+262B) is there,
as well as playing cards suits.
5-cThats a big lie!
• Glyphs: there are four dierent presentation forms of
ARABIC LETTER BEH (p, q, r, o), in addition to one
general one, but. . .
• Ligatures: there is an ARABIC LIGATURE LAM ALEF(È), among many others• Markup: there are control character everywhere, from a
PARAGRAPH SEPARATOR to something named POP
DIRECTIONAL FORMATTING• Logos and Emblems: FARSI SYMBOL (U+262B) is there,
as well as playing cards suits.
5-dNot just codes, names or shapes• Several informative or normative properties and descriptions
are available to disambiguify the characters:
general category, combining class, bidirectional
category, decomposition mapping, numeric value,
mirroring property, case mappings, joining class andgroup, line breaking property, . . .

6

Not just codes, names or shapes• Several informative or normative properties and descriptions
are available to disambiguify the characters:
general category, combining class, bidirectional
category, decomposition mapping, numeric value,
mirroring property, case mappings, joining class andgroup, line breaking property, . . .

6-a

Some character properties• Decomposition, recomposition, reordering,equivalence, and normalization: to make sure that me
and you encode the same string the same way.

• Bidirectional properties and behavior: to make surelogically encoded bidirectional scripts are not displayed
dierently on my computer than yours.

7Some character properties• Decomposition, recomposition, reordering,equivalence, and normalization: to make sure that me
and you encode the same string the same way.

• Bidirectional properties and behavior: to make surelogically encoded bidirectional scripts are not displayed
dierently on my computer than yours.

7-aSome character properties• Decomposition, recomposition, reordering,equivalence, and normalization: to make sure that me
and you encode the same string the same way.

• Bidirectional properties and behavior: to make surelogically encoded bidirectional scripts are not displayed
dierently on my computer than yours.

7-bBidirectional Algorithm
Providing an exact and implicit mechanism for converting a
logically stored stream of characters including some charactersof a right-to-left script, to a visually ordered one suitable fordisplay.
This is needed for Arabic (incl. Persian, Urdu, Sindhi, . . . )Hebrew (incl. Yiddish), Syriac, and Thanaa.
A car is called THE CAR in Hebrew⇓
A car is called RAC EHT in Hebrew
8Bidirectional Algorithm
Providing an exact and implicit mechanism for converting a
logically stored stream of characters including some charactersof a right-to-left script, to a visually ordered one suitable fordisplay.
This is needed for Arabic (incl. Persian, Urdu, Sindhi, . . . )Hebrew (incl. Yiddish), Syriac, and Thanaa.
A car is called THE CAR in Hebrew⇓
A car is called RAC EHT in Hebrew
8-aBidirectional Algorithm
Providing an exact and implicit mechanism for converting a
logically stored stream of characters including some charactersof a right-to-left script, to a visually ordered one suitable fordisplay.
This is needed for Arabic (incl. Persian, Urdu, Sindhi, . . . )Hebrew (incl. Yiddish), Syriac, and Thanaa.
A car is called THE CAR in Hebrew⇓
A car is called RAC EHT in Hebrew
8-bBidirectional Algorithm(continued)

Many implicit and explicit bidirectional categories:

left-to-right, right-to-left, right-to-left Arabic, European
number, Arabic number, European number separator,
European number terminator, common number
separator, non-spacing mark, boundary neutral,paragraph separator, segment separator, whitespace,other neutrals, left-to-right embedding, right-to-leftembedding, left-to-right override, right-to-left override,
pop directional format

9

A few interesting features(continued)• Line breaking properties• Mirroring characters• All characters and symbols needed for mathematical
typesetting (thanks to AMS)

10A few interesting features(continued)• Line breaking properties• Mirroring characters• All characters and symbols needed for mathematical
typesetting (thanks to AMS)

10-a

A few interesting features(continued)• Line breaking properties• Mirroring characters• All characters and symbols needed for mathematical
typesetting (thanks to AMS)

10-b

A few interesting features(continued)• Line breaking properties• Mirroring characters• All characters and symbols needed for mathematical
typesetting (thanks to AMS)

10-c

Arabic Script Rendering

Input text

Logical order

After Bidirectional Algorithm

Visual order

After Arabic Joining Algorithm

Glyph list

After Ligation

Glyph list

When Rendered

Output

¾mÊ
Êm¾
ÊnÀ
ÊÉ
Ê É $

With enough care, the above algorithms can be applied in somedierent order.

11

Joining and Shaping Algorithms• Two adjacent letters may join to each other, or may not• . . . forming 1, 2, or 4 glyphs for each character (forexample , , , )• The Joining Algorithm is for deciding if two adjacent letters
do join or not• The Shaping Algorithm is for selecting the proper glyph,based on the results of the Joining Algorithm
12Joining and Shaping Algorithms• Two adjacent letters may join to each other, or may not• . . . forming 1, 2, or 4 glyphs for each character (forexample , , , )• The Joining Algorithm is for deciding if two adjacent letters
do join or not• The Shaping Algorithm is for selecting the proper glyph,based on the results of the Joining Algorithm
12-aJoining and Shaping Algorithms• Two adjacent letters may join to each other, or may not• . . . forming 1, 2, or 4 glyphs for each character (forexample , , , )• The Joining Algorithm is for deciding if two adjacent letters
do join or not• The Shaping Algorithm is for selecting the proper glyph,based on the results of the Joining Algorithm
12-bJoining and Shaping Algorithms• Two adjacent letters may join to each other, or may not• . . . forming 1, 2, or 4 glyphs for each character (forexample , , , )• The Joining Algorithm is for deciding if two adjacent letters
do join or not• The Shaping Algorithm is for selecting the proper glyph,based on the results of the Joining Algorithm
12-cJoining and Shaping Algorithms• Two adjacent letters may join to each other, or may not• . . . forming 1, 2, or 4 glyphs for each character (forexample , , , )• The Joining Algorithm is for deciding if two adjacent letters
do join or not• The Shaping Algorithm is for selecting the proper glyph,based on the results of the Joining Algorithm
12-dUnicode Transformation Formats
These are just encodings. . .

• UTF-8 for 8-bit envirnments• UTF-16 for 16-bit envirnments• UTF-32 for 32-bit envirnments. . . best one depends on the environment
13

Unicode Transformation Formats
These are just encodings. . .

• UTF-8 for 8-bit envirnments• UTF-16 for 16-bit envirnments• UTF-32 for 32-bit envirnments. . . best one depends on the environment
13-aUnicode Transformation Formats
These are just encodings. . .

• UTF-8 for 8-bit envirnments• UTF-16 for 16-bit envirnments• UTF-32 for 32-bit envirnments. . . best one depends on the environment
13-b

Unicode Transformation Formats
These are just encodings. . .

• UTF-8 for 8-bit envirnments• UTF-16 for 16-bit envirnments• UTF-32 for 32-bit envirnments. . . best one depends on the environment
13-c

UTF-32• The identity mapping to Unicode values• Easiest to process• Most storage• Four times in size for ASCII text

14

UTF-32• The identity mapping to Unicode values• Easiest to process• Most storage• Four times in size for ASCII text

14-a

UTF-32• The identity mapping to Unicode values• Easiest to process• Most storage• Four times in size for ASCII text

14-b

UTF-32• The identity mapping to Unicode values• Easiest to process• Most storage• Four times in size for ASCII text

14-c

UTF-32• The identity mapping to Unicode values• Easiest to process• Most storage• Four times in size for ASCII text

14-d

UTF-16• The identity mapping for BMP, so misleading for novice
developers• Good compromise on ease

• Reasonbale storage• Widely used on MicroSoft platforms

15

UTF-16• The identity mapping for BMP, so misleading for novice
developers• Good compromise on ease

• Reasonbale storage• Widely used on MicroSoft platforms

15-a

UTF-16• The identity mapping for BMP, so misleading for novice
developers• Good compromise on ease

• Reasonbale storage• Widely used on MicroSoft platforms

15-b

UTF-16• The identity mapping for BMP, so misleading for novice
developers• Good compromise on ease

• Reasonbale storage• Widely used on MicroSoft platforms

15-c

UTF-16• The identity mapping for BMP, so misleading for novice
developers• Good compromise on ease

• Reasonbale storage• Widely used on MicroSoft platforms

15-d

UTF-8• Upward compatible with ASCII• Designed for replacing ASCII transparently• Least storage, still simple• Most recommended and actually in use• Great fun to learn
16

UTF-8• Upward compatible with ASCII• Designed for replacing ASCII transparently• Least storage, still simple• Most recommended and actually in use• Great fun to learn
16-a

UTF-8• Upward compatible with ASCII• Designed for replacing ASCII transparently• Least storage, still simple• Most recommended and actually in use• Great fun to learn
16-b

UTF-8• Upward compatible with ASCII• Designed for replacing ASCII transparently• Least storage, still simple• Most recommended and actually in use• Great fun to learn
16-c

UTF-8• Upward compatible with ASCII• Designed for replacing ASCII transparently• Least storage, still simple• Most recommended and actually in use• Great fun to learn
16-d

UTF-8• Upward compatible with ASCII• Designed for replacing ASCII transparently• Least storage, still simple• Most recommended and actually in use• Great fun to learn
16-eFrequently Asked/Answered Questions• What is all crap with these fonts?

• What is the problem with FARSI YEH (Ü$¼ Ù³m$» un$»)?
• What is the problem with HEH WITH YEH ABOVE (î)?

• I cannot type my name ÎjØ$%, where are the letters?
• Is there any good fonts around?
17

Frequently Asked/Answered Questions• What is all crap with these fonts?

• What is the problem with FARSI YEH (Ü$¼ Ù³m$» un$»)?
• What is the problem with HEH WITH YEH ABOVE (î)?

• I cannot type my name ÎjØ$%, where are the letters?
• Is there any good fonts around?
17-aFrequently Asked/Answered Questions• What is all crap with these fonts?

• What is the problem with FARSI YEH (Ü$¼ Ù³m$» un$»)?
• What is the problem with HEH WITH YEH ABOVE (î)?

• I cannot type my name ÎjØ$%, where are the letters?
• Is there any good fonts around?
17-bFrequently Asked/Answered Questions• What is all crap with these fonts?

• What is the problem with FARSI YEH (Ü$¼ Ù³m$» un$»)?
• What is the problem with HEH WITH YEH ABOVE (î)?

• I cannot type my name ÎjØ$%, where are the letters?
• Is there any good fonts around?
17-cFrequently Asked/Answered Questions• What is all crap with these fonts?

• What is the problem with FARSI YEH (Ü$¼ Ù³m$» un$»)?
• What is the problem with HEH WITH YEH ABOVE (î)?

• I cannot type my name ÎjØ$%, where are the letters?
• Is there any good fonts around?
17-dFrequently Asked/Answered Questions• What is all crap with these fonts?

• What is the problem with FARSI YEH (Ü$¼ Ù³m$» un$»)?
• What is the problem with HEH WITH YEH ABOVE (î)?

• I cannot type my name ÎjØ$%, where are the letters?
• Is there any good fonts around?
17-e

ISIRI 2901
Standard keyboard layout• First released in 1989, and revised in 1994
• All characters are accessible at most by shift key• Should be revised to reflect the new standard• Drivers available for Windows 2000/XP, also all Linux
environments• After you learn, you will never switch
18

ISIRI 2901
Standard keyboard layout• First released in 1989, and revised in 1994
• All characters are accessible at most by shift key• Should be revised to reflect the new standard• Drivers available for Windows 2000/XP, also all Linux
environments• After you learn, you will never switch
18-aISIRI 2901
Standard keyboard layout• First released in 1989, and revised in 1994
• All characters are accessible at most by shift key• Should be revised to reflect the new standard• Drivers available for Windows 2000/XP, also all Linux
environments• After you learn, you will never switch
18-b

ISIRI 2901
Standard keyboard layout• First released in 1989, and revised in 1994
• All characters are accessible at most by shift key• Should be revised to reflect the new standard• Drivers available for Windows 2000/XP, also all Linux
environments• After you learn, you will never switch
18-c

ISIRI 2901
Standard keyboard layout• First released in 1989, and revised in 1994
• All characters are accessible at most by shift key• Should be revised to reflect the new standard• Drivers available for Windows 2000/XP, also all Linux
environments• After you learn, you will never switch
18-d

ISIRI 2901
Standard keyboard layout• First released in 1989, and revised in 1994
• All characters are accessible at most by shift key• Should be revised to reflect the new standard• Drivers available for Windows 2000/XP, also all Linux
environments• After you learn, you will never switch
18-e

19

www.farsiweb.info

Thats enough, lets talk about

Online Games

John Carmack
The Prophet of Online Gaming

John Carmack, the commander keen

• 1990, just another 19 year old geek

• Working at Softdisk Publishing• Starts to write Commander Keen, the EGA side-scroller
game, with his team• The game is a huge success, so his team leave. . .

22

John Carmack, the commander keen

• 1990, just another 19 year old geek

• Working at Softdisk Publishing• Starts to write Commander Keen, the EGA side-scroller
game, with his team• The game is a huge success, so his team leave. . .

22-a

John Carmack, the commander keen

• 1990, just another 19 year old geek

• Working at Softdisk Publishing• Starts to write Commander Keen, the EGA side-scroller
game, with his team• The game is a huge success, so his team leave. . .

22-b

John Carmack, the commander keen

• 1990, just another 19 year old geek

• Working at Softdisk Publishing• Starts to write Commander Keen, the EGA side-scroller
game, with his team• The game is a huge success, so his team leave. . .

22-c

John Carmack, the commander keen

• 1990, just another 19 year old geek

• Working at Softdisk Publishing• Starts to write Commander Keen, the EGA side-scroller
game, with his team• The game is a huge success, so his team leave. . .

22-d

The more keens• . . . to found id Software on February 1, 1991

• Writes several more Commander Keen games• After months of hard work, in May 1992, the first 3d gameis born

23

The more keens• . . . to found id Software on February 1, 1991

• Writes several more Commander Keen games• After months of hard work, in May 1992, the first 3d gameis born

23-a

The more keens• . . . to found id Software on February 1, 1991

• Writes several more Commander Keen games• After months of hard work, in May 1992, the first 3d gameis born23-b

The more keens• . . . to found id Software on February 1, 1991

• Writes several more Commander Keen games• After months of hard work, in May 1992, the first 3d gameis born

23-cRemember Nazy SS symbol?

• . . . the good old Wolfenstein 3d• The very next year the great Doom is born

• It was a technical and creative milestone• Significantly raised the standards for game creators24Remember Nazy SS symbol?

• . . . the good old Wolfenstein 3d• The very next year the great Doom is born

• It was a technical and creative milestone• Significantly raised the standards for game creators

24-aRemember Nazy SS symbol?

• . . . the good old Wolfenstein 3d• The very next year the great Doom is born

• It was a technical and creative milestone• Significantly raised the standards for game creators

24-bRemember Nazy SS symbol?

• . . . the good old Wolfenstein 3d• The very next year the great Doom is born

• It was a technical and creative milestone• Significantly raised the standards for game creators

24-cRemember Nazy SS symbol?

• . . . the good old Wolfenstein 3d• The very next year the great Doom is born

• It was a technical and creative milestone• Significantly raised the standards for game creators

24-d

The revolutionary step forward• With Doom you could play through your modem• Better still, on a LAN with up to 8 people• No force to play against mindless computer opponents

25

The revolutionary step forward• With Doom you could play through your modem• Better still, on a LAN with up to 8 people• No force to play against mindless computer opponents

25-aThe revolutionary step forward• With Doom you could play through your modem• Better still, on a LAN with up to 8 people• No force to play against mindless computer opponents

25-bThe revolutionary step forward• With Doom you could play through your modem• Better still, on a LAN with up to 8 people• No force to play against mindless computer opponents

25-cThe sequel to the Doom series• In 1996, Carmack creates Quake• Once again, the technology is completely new and totallyastonishing• The first truly three-dimensional environment game

• Completely supporting internet play online• This was the defining moment in first-person online gaming
26

The sequel to the Doom series• In 1996, Carmack creates Quake• Once again, the technology is completely new and totallyastonishing• The first truly three-dimensional environment game

• Completely supporting internet play online• This was the defining moment in first-person online gaming
26-aThe sequel to the Doom series• In 1996, Carmack creates Quake• Once again, the technology is completely new and totallyastonishing• The first truly three-dimensional environment game

• Completely supporting internet play online• This was the defining moment in first-person online gaming
26-b

The sequel to the Doom series• In 1996, Carmack creates Quake• Once again, the technology is completely new and totallyastonishing• The first truly three-dimensional environment game

• Completely supporting internet play online• This was the defining moment in first-person online gaming
26-c

The sequel to the Doom series• In 1996, Carmack creates Quake• Once again, the technology is completely new and totallyastonishing• The first truly three-dimensional environment game

• Completely supporting internet play online• This was the defining moment in first-person online gaming
26-d

The sequel to the Doom series• In 1996, Carmack creates Quake• Once again, the technology is completely new and totallyastonishing• The first truly three-dimensional environment game

• Completely supporting internet play online• This was the defining moment in first-person online gaming
26-eQuake Clans• From the first week, pople began to form teams• Several leagues were formed for expert players• The idea of a LAN party was formed• Within a year, the internet was a changed place27

Quake Clans• From the first week, pople began to form teams• Several leagues were formed for expert players• The idea of a LAN party was formed• Within a year, the internet was a changed place

27-aQuake Clans• From the first week, pople began to form teams• Several leagues were formed for expert players• The idea of a LAN party was formed• Within a year, the internet was a changed place

27-b

Quake Clans• From the first week, pople began to form teams• Several leagues were formed for expert players• The idea of a LAN party was formed• Within a year, the internet was a changed place

27-cQuake Clans• From the first week, pople began to form teams• Several leagues were formed for expert players• The idea of a LAN party was formed• Within a year, the internet was a changed place

27-d

Quake III Arena

was the last big step28

Doom IIIis the next29

Have a Look Yourself
THE END

Oh! Wait

And this f++ing bastard is just 31∗∗ see page number

31