InvadTris by csanyk
Be sure to read the controls and description so you know how to play.
♥️As always, leave a comment on my game, and I will rate, and comment on your game.♥️
Sadly, my weekend schedule doesn't allow me to implement, but I loved the theme and wanted to contribute something, so here's a design doc and mockup, and UPDATE: as of 4/24, a late Jam entry. I worked solo, all graphics and code is my own, and the total time spent on the project before first release is 22 hours, if that matters to anyone. I spent 0 hrs Friday, 1 hr Sat, 12 hrs Sun, and 5.5 hrs Monday to finish it up.
Inspiration

Actual in-game screen shot

InvadTris is a Space Invaders/Tetris mashup. On the left side of the screen, you have an implementation of Space Invaders, which looks and plays like the arcade, with the tiny exception that your base fires TETRONIMOES. When a tetronimo fired by your base hits an enemy, it is destroyed for points, and the used Tetronimo goes into the Next queue for the Tetris game being played on the right side of the screen.
When Tetris has a Tetronimo loaded, your controls in Space Invaders freeze, your base becomes temporarily invulnerable to shots, the Invaders marching slows and they stop shooting new bullets, and the spent Tetronimo is released into Tetris, and controls switch over to controlling the falling tetronimo, which you lay on the stack to complete lines, per traditional Tetris.
Once you've played the Tetronimo, you can immediately regain control over your base and resume firing at the Invaders. Their relentless march creates time pressure to place the Tetronimo as quickly as possible so you don't get overrun.
For every 10 lines completed in Tetris, the Tetris game increases a level and speeds up. For every Invader destroyed, the Invaders speed up.
You get 3 lives on the Invaders side, and the game ends when you lose those lives, or when you lose Tetris, or the Invaders reach the ground.
When you complete a line in Tetris, the cleared blocks turn into a SuperWeapon in Space Invaders.
Controls
Keyboard Input:
Invaders:
- Arrow Keys: move laser base left|right
- Space Bar: fire a tetronimo at the Invaders
- Shift: fire the SuperWeapon
Tetris:
- Arrow Keys: shift tetronimo left|right, or drop
- Z|X: rotate tetronimo
Gampad Input:
Invaders:
- D-pad:: laser base left|right
- A: fire a tetronimo at the Invaders
- B: fire the SuperWeapon
Tetris:
- D-pad: shift tetronimo left|right, or drop
- A|B: rotate tetronimo
Navigation
Title/Instructions Screen:
- Enter: Start game at level 1
- 1..9: Start game at level
- R: Restart game
- Esc: Exit game
- Backspace: Go back one screen.
Strategy and Tips
- When you complete a line, it becomes a superweapon for the Invaders game. Launch the Block Weapon by pressing Shift.
- If you only have a few invaders left in the current wave, and have a Block Weapon line, you can hold the line, saving it for the next wave, so it will do maximum damage.
- You don't have to launch the Block weapon at all if you don't want to. If you hold it, Invaders will be destroyed as they run into the blocks. You can use this as a kind of super-shield, sheltering under it to be protected from their shots, and steering it right or left into the oncoming Invaders.
- Completed lines appear as Weapon Blocks at the height the line was completed. If the Tetris stack is high, and the Invaders are low, they can be too low for your Block Weapon to hit them. Try to keep the stack as low as possible!
- In Invaders, you can press and hold the space bar, to generate your next shot. As long as you hold the space bar, it will not launch -- it launches when you release the button. This gives you a chance to see what tetronimo was generated, and if you don't like it, you can fire it into the bunkers or deliberately miss your shot. When you hit an Invader with your shot, it will turn the shot into a Tetronimo in Tetris. So you can manipulate the Next block by aiming carefully when the right shot comes up.
- While holding your shot, if an Invader runs into it, it will be destroyed. You can use this to take out the last Invader more easily if you're feeling cheap.
- You can also use your held shot as a shield to protect yourself against enemy shots.
Releases
1.0 2018/04/24
- Initial public playable release
1.8 2018/05/01
- Latest
Known Issues
- ~~Invaders occasionally jump all the way to bottom of screen for no apparent reason.~~ Fixed in 1.6
- (HTML5) all browsers are having some issues:
- ~~Chrome: Can't detect Keyboard events to start game. (Try gamepad, maybe?)~~ Fixed in 1.8.
- ~~Firefox: Sprite index glitch results in incorrect sprites rendered for various objects.~~ Fixed in 1.8
- ~~IE11: Performance is slow.~~ Performance fixed in 1.8
- IE11: No audio.
- IE11: Keyboard presses sometimes get "stuck" making game basically unplayable.
- #### Older HTML5 builds can be played here: https://csanyk.com/cs/releases/games/LD48-41_InvadTris/post-jam/ but they may or may not work for you. Try to play the Windows version if you can!
Still TODO
- Juicing
- Tetris: Chain bonus for consecutive line clears
- Tetris.next queue
- Invaders saucer kill yields an I-block
- BlockWeapon kills yield tetronimoes?
- sfx for Tetris block rotation
- music?
| Windows | https://csanyk.itch.io/invadtris |
| HTML5 (web) | https://csanyk.com/cs/releases/games/LD48-41_InvadTris/post-jam/HTML5/ |
| HTML5 (web) | https://csanyk.com/cs/releases/games/LD48-41_InvadTris/post-jam/HTML5-1.0/ |
| Other (document) | https://csanyk.itch.io/invadtris |
| Other (document) | https://docs.google.com/document/d/1jEmEsphZpeIcJxCDav6GUchKPpw9QoWRwioQ0PceNos/edit?usp=sharing |
| Other (web) | https://youtu.be/QBhSGeDN0RQ |
| Original URL | https://ldjam.com/events/ludum-dare/41/invadtris |
Ratings
| Overall | 761th | 3.298⭐ | 54🧑⚖️ |
| Fun | 537th | 3.346⭐ | 54🧑⚖️ |
| Innovation | 659th | 3.265⭐ | 53🧑⚖️ |
| Theme | 554th | 3.647⭐ | 53🧑⚖️ |
| Graphics | 930th | 2.817⭐ | 54🧑⚖️ |
| Audio | 755th | 1.894⭐ | 35🧑⚖️ |
| Humor | 935th | 2.162⭐ | 39🧑⚖️ |
| Mood | 1002th | 2.689⭐ | 47🧑⚖️ |
| Given | 72🗳️ | 61🗨️ |
The game is playable but a bit slow for my taste. With some graphics and more speed it'd be more fun.
I didn't read your instructions here, so I was a bit confused when I saw the tetris blocks leaking into the invaders world at first, but that turned out really cool. Made me want to play higher up with more risk at the tetris side to try and attack invaders with blocks. XD
I think I had a bug at some point, the screen froze as I had still 2 lives to go. Good job anyway !
For say something bad.... the minor bugs... and it was a bit slow at the start... my idea was to leave the tetris pieces on top of the space invader directly, without change.
Anyways... good job man, and really satisfied of see that make real, thanks!!!

A question for everyone who's saying it feels slow. Both *Tetris* and *Space Invaders* start off pretty slow, but they pick up speed as you get into the game. I felt like starting pretty slow would be good, to allow players to get accustomed to the rapid switching back and forth between the two halves of the game. You can always speed up Tetris by use of the Down arrow, to force the block to drop rapidly.
So I'm completely open to the possibility that I'm wrong about this, but I would like additional feedback.
Do you feel that the original Space Invaders and Tetris are *also* too slow? Is that by today's standards?
I'm thinking I'll add a "start level" option to the game, and allow people to play at a higher level in order to get to the faster parts of the game sooner. Would that be a good fix? Or would you like to see some other approach to fix the pacing?
As I was working on the game, I actually worried that the game would feel too fast, and slowed down Invaders while Tetris has focus, so that you don't get overrun so quickly. At first I let them continue to run at full speed, then dropped that to half speed, then finally to 1/10th speed. Do you think this was a mistake? Should I let Invaders continue to march at full speed while focus is on Tetris?
A quick tip for you guy(s): Play and rate/coment on other games. It gives you guys more of a chance to be seen if you participate on giving constructive feedback to other people.
- Title Screen
- Instructions
- Start Level select (1-9)
- 4-line Tetris play awards extra life to Invaders
- Nerfed points needed for extra life in Invaders from 1500 to 10000
- Adjusted Invaders slowdown when Tetris has focus
- Changed background color for Tetris
- Gamepad support
EDIT: I also wanted to thank you for including a link to the design doc!
- Real sprites for Invaders

What's the point of this game jam rule if we're not respecting it? It's a cool idea and by all means add the new features, but keep the version you made in 72h up.
It's not fair to others that actually spent the weekend doing this game jam, myself included. You continue to improve the actual live game and with that, you have an advantage over other people when it comes to rating.
From your description and blog post, it seems that you spent time on this game during jam hours and if **all** versions of the game are "post-jam" why is it marked as an JAM entry?
About being "fair to everyone" -- I mean, I think that's adorable that people take LD seriously as a competition, when there's no prize but the games we make, so at worst the risk is that some people will play a better version of my game than they otherwise might have, but the Jam is supposed to be the "relax, it's ok to flex some of the rules a bit" version of this event, right?
I suppose I could re-upload the 1.0 web build to a different URL and put a link to it for LD-purists who don't have Windows to use if they insist on playing the 1.0 release. So, if it'll appease, then, sure I'll go ahead and do that. But if you really want to stick to the rules, then I didn't make deadline, so my game doesn't count. Whatever. I've been up front about that from the very beginning, so it's not like I'm trying to fool everyone and cheat my way to a better ranking. But the name Ludum Dare is Latin for "To give a game" and it's in that spirit that I made it. I mean, all things being equal, yes, it's nicer to rank higher than lower, but I don't care that much about rankings, I really only like feedback because it means two things: that someone played and cared enough about my game to say something to me about it, and it can help me make it better.
- Pause system
- Audio
- M key to toggle mute state.
- Ctrl + up|down arrow to adjust audio master gain
- on screen display when adjusting audio level.
- Sound effects for all actions but Tetris rotation and Tetris clean
slate bonus, music.
- Tetris: Color scheme system for Tetris blocks.
- Single-game testing modes.
- Invaders: BlockWeapon destroys Invader shots.
- When GameOver, can press Enter or R to restart game from rmGame.
- Invaders: Clear all Invaders bullets when InvadersPlayer dies.
- Invaders: InvadersSaucer points are now multiplied by Invaders.level and
Tetris.level.
- Bugfix: last two invaders bunch up toward end of level, fixed.
- Bugfix: Enemy explode collision with Block Weapon crashes game due to
explode object being treated as an enemy but having no points variable.
- Invaders: player becomes translucent when Invaders loses focus, to convey
invulnerability
- Tetris: clean slate bonus for completely clearing Well of blocks with
a line completion
- Tetris: added Lines count to display, temporarily removed Chain Bonus
display until Chain Bonus is actually implemented
- Tetris: Added a roof object to Tetris.
- Tetris: Adjusted initial placement of new Tetronimo.
Awesome combination of 2 retro old school games Space Invaders and Tetris! Super fuN! definitely had a lot of fun playing this!
2 things i'd like to point out are
1- the YELLOW color on tetris part was hard to see
2- the rotation of the things on the tetris part should have been put on space, more intuitive imho. But that's just being nitpicky
Really liked it! Wish there were sound effects though!
p.s I played the 1.0 version not the latest
- Tetris stats
- Testing mode improvements
- Code clean-up
- Updated instructions text.
- Bugfix: fixed a condition whereby all invaders would drop to the ground suddenly.
- "Clean Slate" bonus, 1000 * level when a Tetris move clears the Well completely of blocks. Added to statistics.
- Tetris: wall kicks implemented
- Invaders breathe timer (delay after losing a life)
- Additional Invaders shot sprites
- Updated Tetris sfx
For the 1.0 version:
Cool game! Both genres are there but didn't felt like the merging of the two. The challenge is to be alert and prepared to switch to the other gameplay.
Some colors in the tetris part are hard to see, the lighter ones specially.
Really fun entry! Thanks for creating this game!
In the meantime, users who don't have Windows may try one of the earlier HTML5 builds, here:
https://csanyk.com/cs/releases/games/LD48-41_InvadTris/post-jam/
- Various HTML5 glitches fixed:
- Chrome: audio glitch that prevented keyboard input from starting game after start chime stops playing
- Chrome/Firefox text rendering glitch
- Performance improvements
It worked like a charm.
Only 2 remarks :
• it really lacks a music. Even just a basic beat, accelerating as levels pass.
• as soon as you got a few lines done, the space invader sides nearly disappear, i just pressed space every time, aiming anywhere, just to get a new piece. Feels like a game breaker.
But otherwise, nice little arcade game.
Great job!
Congratulations! If you have some time, please, take a look at my entry, it's a mix of RTS and Bullet Hell: https://ldjam.com/events/ludum-dare/41/last-stand
@diptoman, yeah I started out thinking that I'd mash static shooters and falling block puzzles, but ended up making both halves of the game look and behave as much like their inspiration as I was able, in homage.
Sometimes I found that a bullet hit me, even though I was behind a whole set of shield blocks - I don't know what happened here.
Sound is nice, graphics fits. Good addaption of the theme. Great job so far!
I am not completely satisfied with the difficulty, either. Originally, I did have bullets continue to fall when Tetris had focus, but I found that this felt unfair since the Invaders player can't move when Tetris has focus, and I also found it very difficult to pay attention to two things at once, so as an experiment I had the shot collisions only work when Invaders has focus, and *STILL* found it unfair since the game could return focus to Invaders with a bullet in collision or about to collide with the player, with no opportunity to get out of the way. So I had the Invaders stop shooting when Tetris has focus.
But I do agree with you, that makes the game too easy. I found that I mostly just stay in one place and shoot, which isn't very fun. I am considering different approaches for how to restore the difficulty, but I haven't found something that satisfies me, yet. I ended up developing other features rather than spend too much time on getting this to feel right, but I will return to it in upcoming releases.
With the Superweapon, you *can* use it as a shield, but as you've discovered, if the Superweapon comes from the very bottom row of Tetris blocks, it is at a height where bullets may still be able to collide with the Player. This probably should be tweaked to avoid the player's surprise discovery of another "unfair" way to die. Perhaps you're right that Invaders shots should destroy blocks from the Superweapon, as well. I think that might restore more balance and make the game a bit more difficult, as well as encourage the Player to fire the weapon rather than hide below it.
This is good feedback, thank you very much.