Bastet – Bastard Tetris (updated)

Have you ever thought Tetris(R) was evil because it wouldn’t send you that straight “I” brick you needed in order to clear four rows at the same time? Well Tetris(R) probably isn’t evil, but Bastet certainly is. >:-) Bastet stands for “bastard tetris”, and is a simple ncurses-based Tetris(R) clone for Linux. Unlike normal Tetris(R), however, Bastet does not choose your next brick at random. Instead, Bastet uses a special algorithm designed to choose the worst brick possible. As you can imagine, playing Bastet can be a very frustrating experience! — http://fph.altervista.org/prog/bastet.shtml

That is the description of Federico Poloni‘s Tetris clone, Bastet. I first played Bastet over a telnet session to some person’s machine. In November of 2007 I started work porting it from its C code implementation to ActionScript 3.

I ported it for fun and because I didn’t have a Linux system handy on which to play Bastet. This version should not be viewed as a full game, as it isn’t. The controls will suck, it will give you several of the same piece in a row, it may not work at all and it definitely won’t be fun. 🙂

I have recovered the source code and made some changes to it. The controls should work a little bit better and it now tells you your score. Also, the debug text is removed.

Here is the result (instructions and more info are below):

Instructions are simple. Arrow keys left and right to move your tetronimo left and right. Up and Space to rotate your tetronimo. Down to move the tetronimo down. Pressing R will restart the game. As I said, simple. Standard Tetris fare.

The catch, though, is that the game looks at your playing field and determines which piece you will probably want most and then … denies it to you. Score keeping is not implemented. The text you see at the top is some of the debug data used for the current piece choice.

It is still under construction, so there may be some issues. I seem to have misplaced the source in the year-plus since I worked on this. I have recovered the source. If you find any glaring problems, I can be reached through my contact page. I don’t promise to fix them, though.

  • lexar

    21 lines

    You can sort of trick the game if you leave holes of 2 wide with guaranteed at least 1 line, you can make a lot of lines, and with the off-chance of a not entirely horrible piece it's even easier.

  • lexar

    21 lines.

    Tactic I used was mostly keeping openings of 2 wide, so even the worst piece would at least give 1 line. With the off-chance of having a halfway decent piece every so often, I could survive for a while.

    Also don't be afraid of leaving a hole every here and there, it sort of tricks the pc to think that some blocks are the worst. Worst thing to do is to start stacking too much.

    • RobotCaleb

      Outstanding. 🙂

  • This is from the linux bastet: 6400 points, 45 lines
    http://open.spotify.com/track/6zL8VkVrlBgvehvpJ

  • calfboy

    i have beaten the game, it just stopped giving me new pieces.
    here is the proof: http://i21.photobucket.com/albums/b282/Calfboy/

  • calfboy

    i have beaten the game, it just stopped giving me new pieces.
    here is the proof: http://i21.photobucket.com/albums/b282/Calfboy/

    • That doesn't prove it – so far as I can tell, it just shows that you achieved approximately what Lexar achieved. I suggest that you tell us your strategy – after all, the only possible way to completely win a game like Tetris is to come up with a strategy that guarantees that you will never lose.

    • Matt Kanumilli

      After line 10, blocks stop descending on their own, you need to press down to make them appear.

      • this is the only reason I got as far as 48 lines, if they woulda kept dropping i wouldn’t have had the time to think

      • RobotCaleb

        I’m glad my bug has a beneficial effect. 🙂

  • Pingback: 0095 /// Metagames: Spiele übers Spielen – Next Level Conference()

  • Pingback: Links fürs Wochenende()

  • 72 lines EASY MAN TOO EASY !!!!

  • Pingback: Not About The Punchline » Bastard Tetris and Heaven()

  • Pingback: John Nack on Adobe : Video: Unspeakably masterful Tetris playing()

  • Pingback: Game Design: Think of a random number! | philippseifried.com()

  • Watch out when you hit 90 lines the drop speed increases dramastic.

    • Anonymous

      You hit 90 lines! Outstanding.

  • Pingback: Preparing for the Floods-Making a Routine out of Chaos « Kathleen's Blog()

  • Pingback: Links fürs Jahresende()

  • greg manabat

    TOO MANY GOD DAMN PURPLE ONES

  • I’ve implemented my own online bastard tetris, at http://www.tetrevil.org .  I think it’s pretty smart, has variable difficulty settings, and on the “Evil” setting is nastier than bastet.  I’d love to have some more player feedback.

  • Pingback: Best Tetris Ever? Best Tetris Ever. | Slacktory | This seems legit.()

  • Pingback: Bastet- Tetris for Sadists - Retro Uprising()

  • Pingback: Maker Faire 2011 Roundup: Tetris | The Digital Game Museum()

  • I froze on me at 15 :

  • Lasse Henden

    It was almost Tetris-like, only exactly like Tetris.

    • RobotCaleb

      Thanks for playing!

  • Stewart Butler

    the way to play is actually to do the exact opposite of what you should do in a normal tetras game. don’t worry about missed spaces. and if you find that you are being given the same block over and over again (especially the purple one), your doing something wrong!

  • David Moidl

    Interesting game 🙂 25 lines was my max and I just played it as I play regular tetris.

  • BOBOBOJAJA

    i came up with a weird strategy. It worked for me, but i’m not sure if it will work for any of you.
    1. Stack up your pieces (they don’t have to be neat) and leave 2 openings.
    2. keep stacking until you get to the height of 2 or more still leaving two openings.
    3. By now, the majority of your pieces should be getting a lot of tetrises(the long straight pieces). Now you should start leaving 4 spaces open. Now you should try to be as neat as you can.

    Look at the picture i posted. Your thing should look something like that

    4. Once you stack up a bit leaving 4 spaces, just turn a tetris piece around, and a clear a line.
    5. keep doing 4. over and over again

    Note: don’t fill the 2 openings, those are crucial for you to get tetrises

    Happy Playing

  • BOBOBOJAJA

    i came up with a weird strategy. It worked for me, but i’m not sure if it will work for any of you.1. Stack up your pieces (they don’t have to be neat) and leave 2 openings.
    2. keep stacking until you get to the height of 4 still leaving two openings.
    3. By now, the majority of your pieces should be getting a lot of tetrises(the long straight pieces). Now you should start leaving 4 spaces open. Now you should try to be as neat as you can.

    Look at the picture i posted

    4. Once you stack up a bit leaving 4 spaces, just turn a tetris piece around, and a clear a line.
    5. keep doing 4. over and over again

    Note: don’t fill the 2 openings, those are crucial for you to get tetrises

    Happy Playing

    • RobotCaleb

      Yeah. The algorithm only looks from the top down until it hits a piece. It doesn’t explore the whole space. So you can very effectively hide the playing field from it by creating overhangs.

  • hate purple

  • gleb masovich

    the game gave up on me xD im not getting anything anymore

  • worst gameplay everrrrrr.. hangs all the time and doesn’t flip when you want to! moreover: friggin purple all the time!!!

  • i got 900 pts , yay

  • Tyagadipta Biswal

    TOO MANY GOD DAM RED ONE!!!!!!!

  • Antti Sirkkola

    28 Lines! I love how the blocks freeze once you get past 10 lines. It makes strategizing SO much easier!

  • got bored after line 29. this is harder than original one, but easy anyway, if you know, what to do

  • I’m not sure what’s supposed to be hard here, the pieces or the horrible controls?

  • Highest I’ve gotten was 11. Once you reach 11 the falling speed drops to 0 and you have to make them fall manually by holding Down.

  • Sean McCartin

    After clearing 12 lines, the pieces would no longer drop on their own.

  • Ben L

    Who coded the controls for this? Satan? It doesn’t read half of my keystrokes

  • 36 lines cleared

  • kennywaclawski

    level 53, just sayin’. tactic: keep 2-block segments at all costs and the game will start giving you relatively regular patterns

    • C Martinez

      But how did you do on that Final Paper there

  • While sleeping my tetris effect dreams have been replaced with “bastet effect” dreams which no longer give random pieces.

  • WHOA! I GET 7 LINES IN THIS GAME i am king

    wheres my crown

  • Guest

    Inspired by your project, I’ve coded my “Bastard Tetris” called Nightmaretris. Give it a try! https://freecode.com/projects/nightmaretris

  • Cocio_16

    “70% chance that you will get the absolutely worst piece. 15% chance that you will get the second worst piece. 9% chances chat you will get the third worst piece.”
    Yeah, and 80% chance you will get purple.

  • Purple after purple after purple after purple………

  • Vector3gr

    Where can i play bastet?