Spludlow Tetris Introduction
A network implementation of Tetris game allowing multiple
players connected to a server. The game is played as normal but with the option
to “target” other players, so your completed lines are sent to the bottom of
their stack.
To send you need to complete more than one line at a time
and that many minus one will be sent: 2 sends 1, 3 sends 2, and 4 sends 3.
You can run as many servers where you like:
·
Local Host – Single Computer multiple players on same desktop
·
Local Network – Run the server on your LAN (local network) and
play from other computers on the network
·
Internet – Run the server configured to accept connections from
the Internet public network
A standard 2 player on one desktop game:
Download & Install
NOTE:
Ensure .net Framework is up to date, click here for latest
NOTE: Remove previous versions using Settings->Apps->Spludlow
Tetris->Uninstall OR Control Panel->Programs and
Features->Spludlow Tetris->Uninstall
For
Windows 64-bit the easy to use MSI (Microsoft Installer) is available here.
You may have to get round Windows / Browser security as the
program is not yet commonly downloaded.
For
binaries (without an Installer) and source code see the Spludlow Downloads
Page.
The Library (DLL) containing all the code project name is
“Spludlow.Tetris”, the UI project name is “SpludlowTetris”.
NOTE: 32 Bit Windows will run Spludlow Tetris (download the
“SpludlowTetris” project binaries), just ensure the .net framework is up to
date.
Play On-Line now!
You can play other people on the Tetris Server at:
tetris.spludlow.co.uk
NOTE: This server is currently open for any connections.
This may not always be the case.
Please do the following.
·
Start Spludlow Tetris (By default it will start a local host
server and connect to it)
·
Press F1 – Settings Dialogue
·
Click the “Stop Server” button, the dialogue will close
·
Click “OK” on the Server Stopped Message Box
·
Press F1 again
·
Enter your display name
·
Enter the hostname: tetris.spludlow.co.uk
·
Click the “Start Client” button, the dialogue will close
·
You are in play, use the target key “A” to change who you send
lines to
A
short video of this can be viewed here
Open Source
Written in C# the source code is open source available under
the GNU v3 licence.
Browse
the source code here
Ready
to compile Visual Studio Projects are available from the Spludlow downloads
page.
Demo Videos
Spludlow Tetris – 8 Player Desktop
Running on one computer, if you have the joysticks.
Spludlow Tetris – 300 Bot Farm
An example of a load test to stress the server.
Spludlow Tetris – Board Size
You can run the server with whatever board size you like.
Spludlow Tetris – 20 Client Overload
Here the clients CPU was maxed out with this test.
Spludlow Tetris Server Modes
Spludlow Tetris – Standard Mode
Standard
Spludlow Tetris – Creative Mode
Here is the server running in “Creative Mode” (use a server
tick of 0):
Spludlow Tetris – Battle Royale Mode
In this mode all players play to the death, leaving one
player standing at the end who is the winner.
The game is started in standard mode all contenders are
given the opportunity to connect to the server, set up their controls, and warm
up with a friendly game.
When everyone is ready the “BR” command is sent to the
server, this resets all players boards and the match is started.
Players play as in standard mode targeting other players and
sending them lines. When a player dies they are removed from the game but stay
connected to the server so they can watch the remaining players, by changing
the target board.
When only one player is left they are declared the winner
and the server returns to standard mode.
Spludlow Tetris – Levels Server Mode (Coming Soon)
The current implementation is pretty much as simple as a
multiplayer game can be, keep it simple to start with and build from there.
The new server mode will work like this:
·
Each player is in a level, they start at 0 when they join the
server.
·
Levels are progressed by the number of lines sent (say 50), when
you send 50 lines you go to level 1
·
Each level will have a faster tick speed (say 50 milliseconds
quicker)
·
You can only send lines to players on your level
·
Level 0 will have a maximum number of players (say 50) and not
allow additional new connections (until players have progressed out of level
0).
·
Other levels (over 0) will not have player limits.
·
If you die in level 0 you are kicked off the server.
·
If you die from level 1 (maybe higher) or higher you are put in
level 0.
This should allow for many players competing against players
of similar ability on the same server.
I’ve thought it through, just got to bang the code out.
Version History
00/00/2019 – V1.9
Added Battle Royale Mode
07/12/2018 – V1.8
Rewrite of Spludlow Tetris UI using WPF (Windows
Presentation Foundation). All board flicker is now removed and board drawing
code simplified, just change colour of rectangles rather than using Graphics to
draw directly to form.
Settings are now persisted to files in “C:\Users\%USERNAME%\AppData\Roaming\SpludlowV1\SpludlowTetris”
for each running instance. For example if you setup 2 players the target
server, display name, window size and position, and input device will already
be configured the next time you start 2 instances.
Settings dialogue improved now allows key mappings to be
defined easily.
The F2 key will now cycle through input devices to make
selection of joystick easy for each instance.
TetrisAudio
class thread safety using SharpDX.XAudio2 fixed not waiting for buffer to flush
before submitting new buffer, test methods created for extreme loading.
TetrisInput
class tweaked for auto-repeat to behave more like the keyboard and fixed to
allow input devices to be removed without throwing and exception.
15/10/2018 – V1.7
Initial release.