2 By: St0rmCat (If he's not in #tetrinet, he's the wrong St0rmCat)
3 E-mail: stormcat@citilink.com
4 Channel: EFNET: #TetriNET - Come join us to get some
5 active servers, advertise your server, find
6 out more about TetriNET, or just chat!!
8 Gee, Tetris? Whats that? Yeah, yeah, so it's been
9 done 2 billion times before (give or take a few bil),
10 but this is different! Yes, all you tetris addicts
11 out there be prepared for even MORE excitement..
12 internet tetris! Now you can play your five best
13 buddies in one of the most well known games in
16 TetriNET is for Windows95/NT machines and WILL NOT RUN
17 WITH WIN32S. TetriNET operates best on a display
18 capable of 256 colors or more. If your screen resolution
19 is 640x480, you may have to set your windows taskbar to
20 auto-hide while playing to see both windows entirely.
23 PLEASE CONSIDER CONTRIBUTING
24 - READ SCREEN ON TETRINET STARTUP FOR DETAILS
29 Concept - Game explanation
30 Inventory - Explanation of inventory feature (READ!!)
31 Win list - How the game keeps score
32 Partyline - Explanation and features
33 Moderators - What moderators are for
34 Server - What is and how to set up a SERVER
35 Client - What a client is
36 Teams - Explanation of teams
37 Modifying - How to modify TetriNET
38 Acknowledgements - People who helped alot in the making of TetriNET
39 VERSIONS - Whats been changed throughout the versions
44 According to how the server has modified the settings,
45 occasionally a sphere block with a letter will appear in
46 your playing field. When you make one or more lines with
47 any of the lines containing one or more of these special
48 blocks, the special blocks in the lines will be added
49 to your inventory which is located near the bottom of the
50 window. These special blocks do different things to players.
51 Each effect for the special blocks will be explained below.
52 The more lines you clear at the same time and the more
53 special blocks that are in those lines will put more
54 special blocks in your inventory. A player loses when
55 his/her blockstack reaches the top of the field. The Winner
56 is the player left after the other players have lost.
58 Again, Depending on how the server has modified settings,
59 you will gain a level (or more) everytime you clear
60 out a certain amount of lines. When you gain levels,
61 the fall speed of the blocks coming down will increase
62 making it harder to find a decent place for the
63 blocks. The maximum level you can be at is 100.
68 As said above, special blocks are added to your inventory
69 when you clear lines with special blocks in them. You
70 are only able to use the special block inside the red
71 box. The red box cannot be moved or the game would be
72 incredibly easy. The description of what the special block
73 does to a player is located to the left of the inventory.
74 To use the current special block, press the player number of
75 the player you want to attack. If the special block is a
76 GOOD block, use it on yourself by pressing your player
79 Here is a list of all the special blocks:
81 * 'A' Block: This is the add line block. It will add
82 a "junk line" to the players field that
84 $ 'C' Block: This is the clear line block. It clears
85 the line farthest to the bottom in the
87 $ 'N' Block: This removes all blocks from a playing
88 field giving the player a "fresh start".
89 * 'R' Block: This removes 10 random blocks from
91 * 'S' Block: This switches your playing field with
92 another player's field depending on which
93 player number you pressed. If either of
94 the fields' block stack is over 16 blocks
95 high, the stack will be lowered.
96 * 'B' Block: This removes all special blocks from
98 $ 'G' Block: This "gravity" block takes all the blocks
99 on the field and "pulls" them all towards
100 the bottom of the field eliminating any
101 gaps in the blockstack.
102 * 'Q' Block: This causes each of the lines of blocks
103 on a players field to randomly shift left
104 or right or not at all.
105 * 'O' Block: This is the block bomb, when used on a
106 player, it clears 3x3 portions on their
107 field anywhere there are 'o' blocks.
108 Any blocks that were in the 3x3 areas
109 are scattered around the field.
111 IMPORTANT: Blocks with a '*' at the beginning of the line
112 are ATTACK special blocks; use these on
115 Blocks with a '$' at the beginning are DEFENSE
116 blocks and should be used on yourself because
119 You can also press the letter 'D' and it will discard
120 the first block in your inventory.
122 When your inventory becomes full, any special blocks
123 you get cannot go into your inventory. You
124 will have to use up some of your inventory blocks.
129 The win list keeps track of how points each person
130 or team has. The person or team with the most points
131 is at the top. A player or team gets 3 points
132 when they are the last standing in a game. 2 points
133 to the player/team that is the last person to lose
134 and 1 point to the 2nd to last loser.
136 When a team wins, their team name is put in the
137 win list along with a <T> infront of it to show
138 everyone that it's a team and not a person.
140 The win list on each of the player's clients are
141 the same. The server can reset the win list at any
142 time by pressing the 'Reset Winlist' button on the
148 This is where the players connected to the server can
149 talk among each other. You can do bold/underline/italic
150 by surrounding the text you want affected with characters
151 made from pressing ctl-b/u/i respectively. You
152 can also do actions on the partyline by typing:
155 Next to the partyline box is a list of all the players
156 currently connected to the server. The server can kick
157 a player out by selecting his/her name in the nicklist
158 and pressing the KICK button. The server can also
159 ban someone from the server completely by selecting
160 their nickname and pressing Ban. For the ban to take
161 effect, you must kick them. Also, when you click
162 on the player's nickname in the list, (only if you're
163 a server) their IP will be shown above the box.
165 To change the font of the main partyline box, press
166 the right mouse button in the window and then click
167 on the 'Change Font...' menu item.
169 You can also easily talk while the game is going by
170 pressing 'T' while on the Playing Fields window and
171 then entering your message. After you press return
172 the message will be broadcasted to the rest of the
173 players and will be shown in the black box near the
174 bottom. You can press ESCAPE while putting text
175 in the edit box and it will hide the edit box. When
176 you press 'T', you can start typing again.
181 A moderator is the first person on a server whether
182 it is the person that is actually operating the
183 server, or if the server isn't playing, the first
184 player that connects to the server. A moderator
185 person has a '*' next to their nickname in the nickname
186 list on the partyline screen. A moderator can
187 start/stop/pause/unpause games on a server.
192 To play, you must have someone be the TetriNET server.
193 The server should be fast so the game isn't too lagged.
194 A 28.8 modem is great for a fun TetriNET game.
195 The server can set all of the settings available for
196 the game, and decides when the game starts, etc.
197 Fill in your Nickname into the correct edit box and any
200 When you press the Block Occurancy button on the server
201 screen, a window will pop up. On this window you
202 can set how often the different pieces and special blocks
203 appear (or not at all) throughout the game. You enter in the
204 percentage for each piece/block. 100 means the piece/block
205 will appear every single time; 0 means it wont appear at all.
206 Note: All the percents of the pieces and special blocks
207 must add up to be 100 percent before you can play.
209 The ban box on the server screen is where you can put
210 IPs of people you dont want on your TetriNET server.
211 To ban a person, place only their IP ADDRESS on its
212 own line in the ban box. You can use wildcards like
213 '*' and '?' Besides NOT allowing someone on the
214 server, you can also ALLOW certain people on it with
215 the '!' prefix before a person's IP. When you prefix
216 an IP with '!' in the ban box, this overrides any other
217 bans in the box and lets the person with this IP join.
218 If you put '*' as the first line in the box (it bans
219 EVERYONE), and then put '!204.246.67.9' on a line
220 after that, the person with that IP would be allowed
221 in but noone else would be.
223 When done, press the Start Server button. Now players
224 can connect to your IP. When a player connects, a join
225 message will be shown in the partyline box. When a message
226 is added to the partyline box and you are currently
227 on another screen, the partyline button text will turn
228 green to notify you. When everyone is ready to play,
229 click on the Start New Game button.
231 Originally, the levels of each player are individual
232 and when a player's level increases, only THEIR
233 level increases. The 'All Have Players' Averaged
234 Levels' option will make all players have the same
235 level throughout the game. When a player's REAL
236 level increases, it is averaged in with the rest
237 of the players' levels and that is the ACTIVE level
238 of everyone on the server.
240 The server also has the option to play or not to.
241 Enabling the 'Server Play' checkbox on the server
242 screen will put yourself in the game as player 1.
243 If there was any player on as player 1, they are
244 kicked out. Unchecking this box will take you
245 off and you will not play.
247 To speed up a game of TetriNET, there is an option
248 on the server screen for after a certain amount of
249 minutes playing, the game will start adding lines
250 to all players every certain amount of seconds. This
251 is useful to keep players on your server if they lose
254 Another option is the Classic Multiplayer Rules. This
255 makes the game play like the old 2 player gameboy
256 version of tetris. When a player clears lines, lines
257 are added to everyone else's field. If you clear 1 line,
258 no lines are added to everyone else. If you clear 2 lines,
259 1 line is added to everyone else. If you clear 3, 2 is
260 added. If you clear 4, 4 lines are added to everyone.
261 NOTE: This option is best when you set the 'Special
262 Blocks Added at a Time' option to '0'.
267 A client is just a person playing that is not the server.
268 A client connects to a server. Find the IP of a server with
269 people you want to play with and put that in to the
270 correct edit box. Then put your nickname in the
271 Nickname box and press the Connect button. You should
272 then see the nicknames playing pop up in the partyline
273 window and any teams the players are on.
275 When the game has started, click on the Show Fields
276 button and a window with all 6 fields will be shown.
277 The fields will be updated every time a player's block
278 is placed onto their field to keep everyone updated
284 Teams are now possible in TetriNET. You can now have
285 matches with 3 teams of 2 people or whatever you want!
286 To be on a team, just fill out the Team edit box
287 with the team you would like to be on, if on a server
288 click the button right next to the box to update your
289 team name. The team name is not case-sensitive.
291 When you are on a team, if one of the players that is
292 on your team wins a TetriNET game, you win too and
293 your team name is placed in the Win List instead of
294 your individual names.
299 Themes are handled by a "project file" to tell
300 TetriNET where it should find all the theme
301 components. It is just an INI file. When
302 you create a theme, copy over the default.tnp
303 file to a new file that represents your theme and
304 make a new directory in your TetriNET directory
305 where all your theme stuff will be. Any files you
306 want different or modified, just put them in your
307 theme directory and put the paths for the new files
308 in your project file.
310 If you want to make a theme pack with like only the
311 graphics changed but you want it to have same sounds
312 and music, only change the graphics releated lines
313 in your theme project file and leave the rest of
314 the lines pointing to the default DATA\ directory.
317 Explanations of Graphics/Music/Sounds:
319 When you create a new graphics file, the file MUST
320 have the same image dimensions and have the same block
321 layout of the one included with the original tetrinet
322 ZIP file. Here is a description of the layout:
324 - The top row of blocks are the blocks for the big
325 field in TetriNET. They are 16 pixels wide and
326 16 pixels high. There should be 14 blocks in the row.
327 - The row under that are the same blocks as the
328 normal 16 pixel blocks, but are half as wide.
329 These smaller blocks are for the 5 other fields
330 on the TetriNET field. They are 8 pixels across
332 * The Upper-left coordinates of the first block in
333 this row are at (0,16)
334 - The picture under this is the background image
335 for the large field in TetriNET. It is 192
336 pixels wide and 352 pixels high.
337 * The Upper-left coordinates of this image is
339 - The picture to the right is the miniture version
340 of the main background image. It is used as the
341 background for the smaller fields in TetriNET.
342 It is 96 pixels wide and 176 pixels high.
343 * The Upper-left coordinates of this image is
346 Your new graphic file does NOT have to have the same palette
347 as the one included in the TetriNET zip. If you use
348 Photoshop, work in RGB mode while modifying the file.
349 When you're done, convert it back to 256 colors to
350 make sure the colors look as good as possible.
352 You can also leave the BMP in 16million colors mode
353 if you have a monitor capable of that. If you are going
354 to distribute your theme, it is best to convert it to
355 256 colors because many don't have systems capable
358 The sound descriptions are listed in default.tnp file.
359 Modify any of the sounds you want, but make sure you
360 modify the project file if you changed any of the WAV
361 filenames. You can also include a MIDI file inside the
364 Any sound/graphic themes created can be distributed
367 You can also modify the keys. Click on the Misc. Settings
368 button. Click in any of the boxes and press a key and
369 the text in the edit box will change to the key that you
375 Darktick for all his ideas and help with graphics
378 myname, [bart], and Galardo because they kept playing
379 and playing as betas went by - also for all the bugs
380 they found and suggestions they gave.
382 Knowledge, ReT, and the #square crew for beta testing,
383 holding the #TetriNET channel, and giving suggestions.
385 Also, netmonk, ATA, and phib for all of the above :)
387 The many other people I know ;) for their support and
388 testing they've done for me.
394 1. Fixed teams of other players not being shown
396 2. Fixed win list from counting people that come
397 in during a game as a person that lost
400 1. Fixed server not allowing clients to connect in
402 2. Added team switching while connected to a server
403 3. Fixed not saving key settings
404 4. Code for receiving text from winsock is smaller
405 5. Any lines transfered with classic style rules to
406 the server and the server isn't playing, they
408 6. Fixed it from adding lines to other team members
412 1. Fixed people not being able to start working servers
413 or not being able to connect to servers.
416 1. While playing a game with classic multiplayer rules
417 turned on, anyone on your team wont be affected if
418 you add lines to everyone else.
419 2. Fixed minor display quirks
420 3. If system doesn't support MIDI, it won't crash
421 4. Fixed a player double losing
422 5. Fixed out of memory error
423 6. Fixed player being added to win list when player isnt
428 1. Fixed EConvert errors (right? :))
429 2. Fixed displaying of teams on the playing fields
432 1. Tabbing between edit boxes/checkboxes/etc on the
433 windows is now in order
434 2. Fixed win list from making doubles of winners
435 3. Playing fields window is now hidden when a game
437 4. Fixed background/blocks not appearing sometimes
438 when setting focus to the playing fields window
439 5. Fixed game from saying you gave other people
440 lines when you only made one line. (with classic
441 multiplayer rules turned on)
442 6. Fixed 'o' blocks sometimes not "blowing up"
443 when attacked with Block Bomb
444 7. Sounds 3.WAV and 6.WAV's description were switched
448 1. Fixed font in main chatbox not changing on start.
449 2. Fixed blinking when a message arrives
450 3. Fixed bug in win list routines
451 4. Fixed bug where if a person lost, server always
453 5. Fixed random EConvertError crashes
456 1. Made the classic multiplayer rules like gameboy now :)
457 2. Fixed partyline not scrolling
458 3. Ingame chat box should show all 3 lines on all types
460 4. Added ability for multiple themes.. it uses a project
461 file that points to the graphics,sounds, and music files
462 5. Server can change its nickname and team its on if
463 the Server Playing checkbox is unchecked
464 6. Fixed server not losing when the Server Playing is
465 checked while a game is in progress
466 7. Now puts a <T> before any team in the win list.
467 8. Changed the way Block Bomb works
470 1. Fixed bug in text recieving
471 2. Fixed other minor bugs
474 1. Fixed the scrolling on the attacks/defenses
475 box and mini-partyline box AGAIN
476 2. Now when the Switch Special Block is used on someone
477 each client updates itself first to prevent field copying
478 if switch block is used 2 or more times in a row
479 3. Ingame chat box is now 3 lines
480 4. Secured connect negotiation between server and client
481 5. Added bomb special block
482 6. Added /me to ingame chat box
485 9. Added background images
486 10. Added start up sound
487 11. The server now has the option to not play
488 12. The first person on a server (if the server isn't playing)
489 is a moderator - he can start/stop and pause/unpause the game
490 13. Option to average the player's levels
491 14. Classic rules option - when a player clears a line, it adds
492 a line to the other players
493 15. Fixed bug in IP ban box
494 16. Players can join a game already in progress
495 17. Winlist is now saved when you close and reload game
496 18. Option for after a certain amount of time, the game will
497 start adding lines to all the player's fields. This speeds
499 19. Now, the winning team/player recieves 3 points, last loser
500 gets 2, second to last loser gets 1 point.
501 20. The server can set the stack height when the game starts
502 for each player individually.
503 21. Levels go up to 100 instead of 50
504 22. Field displaying has been sped up alot
505 23. Better handling of winsock routines HOPEFULLY eliminating
506 the Access Violation errors
507 24. Fixed server screen not being enabled when a client game
509 25. You can press ESCAPE when editing a msg in game, and it
510 will keep the text in the editbox until you press 't' to
512 26. You can change the font of the partyline box by right
514 27. Moved Pause and Start New Game buttons to partyline
516 28. Any special blocks you get are now randomly placed in your
520 1. First released version!!
521 2. Fixed Attacks/Defenses box's scrolling *again*
522 3. Fixed range check error when typing in a box
523 while tetrinet is connecting to a server
524 4. Now saves your nickname in the INI
527 1. Fixed Attacks/Defenses box's scrolling and now it
528 doesn't say a player is attacking you when in fact they
530 2. Fixed Pause button not enabling and disabling properly
531 3. Partyline edit box now disables at the right times
535 1. Kicking users is fixed and works/looks alot better
536 2. When a player dies, their field is filled with random
538 3. You can now pause the game.
539 4. Fixed not removing player from server if they quit
541 5. Tabbing between edit fields on the different screens
543 6. You can now see all attacks on players, even from other
545 7. Fixed when making the piece fall down immediately, sometimes
552 1. Fixed distortion of window if your monitor's pixels per inch
553 settings were set akwardly
554 2. Moderated Switch Field block now, no more cheating ;)
557 1. Hopefully fixed the bug that randomly kicked players
559 2. Added description label next to inventory for current
561 3. Made windows smaller to better accommodate users
562 with 640x480 resolutions. (You will still have to
563 auto-hide your win95/nt taskbar)
566 1. New WAV for when a message arrives in the playing
569 3. TetriNET now pops up the reason why you can't
571 4. Now you have more time to move a piece left or
572 right when it's just about to hit the bottom.
573 5. Other minor bugs fixed
576 1. Greatly improved handling of data coming in
577 from multiple sockets. It shouldn't crash
579 2. TetriNET now passes a little less data to
580 the other players. A fast modem is still
581 recommended if you're the server.
582 3. Added easy talking while playing
585 1. New name because of copyrights ;)
586 2. Rearranged playing field window
587 3. Rotating certain pieces at the edge of the field
589 4. Pieces drop slower than before when you hold DOWN
590 (for greater accuracy)
593 1. Fixed partyline jumping every once in awhile
594 2. Kick button is disable properly
597 1. I've added 2 more players. Now you can compete
598 with a total of 5 players!
599 2. Added player list to the partyline screen
600 3. The Server can kick someone off if needed
601 4. Added actions to partyline
602 5. Added ctl-b/u/i character attributes to partyline
603 6. Now allows playing by yourself so you can practice
604 7. Many new special blocks added
605 8. The show fields screen is now a seperate window
606 (to fix all that stupid palette handling)
607 9. Added a winlist. It shows all the players who
608 won and how many times they've won in the current
610 10. Added ability to discard the special block in
612 11. A title screen with some nifty graphics! :)
613 12. Graphics are just one file now.
614 13. Fixed a few barely noticable bugs
617 1. Inventory system plus other special blocks -- more to come!
620 4. You can change Key config, sounds, and graphics
621 5. Made playing fields of other player's smaller to reduce
623 6. Before, TetriNET sent the entire playing field of a player
624 to the rest of the players. Now it sends just modifications
625 to the fields - this also reduces lots of lag
626 7. Increased size of playing fields
627 8. You can change how often each of the pieces/special blocks