Spludlow MetSat Web Header

Spludlow Tetris


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.

Spludlow MetSat Web Footer