BCTMP
BCTMP - Brian Caos Tetris Music Player
*Playlist
*Module information
*What is a music player?
*What is Brian Caos Tetris Music Player?
*BCTMP Functions
*BCTMP Technicalities
*Tetris Rules
*Synopsis
*The Game / How to Play
*How to drop a bomb
*How to score
*How to move to next level
*Tetris Game Keys
*Tetris menu
*In-game keys
*About BCTMP
*
© 1998 Caos Development
All rights reserved
BCTMP - Brian Caos Tetris Music Player
Add modules to the playlist by dragging and dropping from the directory list to the play list or by pressing the "Add" button.
Module information is retrieved from the playing module.
It all began with the Commodore Amiga. A (at that time) powerfull machine with great game capabilities, including 4 hardware channels for sound, enabling the machine to play 4 samples at a time, 2 in the left channel, 2 in the right.
This led to the invention of SoundTracker (from the demo group DOC). This was a musical tracker with 4 tracks, one for each music channel. The output of SoundTracker was a module (.mod), a piece of music where the instruments was samples.
Other tracker followed, NoiseTracker, FutureTracker, ProTracker etc., each with cool editions to the .mod format.
But as the PC gained market and Amiganerds started to switch to the PC, demands for a similar tracker was born. A lot of trackers has emerged, the coolest probably being Fast Tracker II, ScreamTracker and Impulse Tracker, each with their individual formats.
When some people like the one tracker, others another, computermusic lovers need a program that can play these different formats, so you don’t need to switch between the trackers to listen to different artists.
Such program is a music player.
What is Brian Caos Tetris Music Player?
This is a attempt to make a music player with a little twist. As many of the music players out there today has very cool interfaces (YAMP) and great functionality (Cubic Player) they never seem to let yourself entertain yourself. They just play music for you.
This music player has built-in Tetris game, so you can listen to your favorite modules while playing a great game.
The idea of a Tetris Music Player came from Fast Tracker II, which has built in Nibbles, but since Nibbles get very boring very fast, I decided to throw in one of my all time favorite games.
BCTMP is based on the MIDAS Sound System. Please refer to the readme.doc for information about MIDAS copyrights.
Tetris requires DirectX, see http://www.microsoft.com/directx for DirectX drivers.
This description is only for techies!
As the egoist I am, I’ll tell a little about the Tetris game engine.
An important reminder. The update of game movements are many times faster than the screen drawing. The real optimizing lies upon fast rendering of the screen.
The engine is seperated into two threads, one for the game movements and one for the screen updates.
The thread for the game movements are kept alive by a hardware interrupt timer. The timer starts the thread 20 timer per second. Actually the thread is suspended until the timer triggers the thread.resume. On a resume, the thread make one game movement (animations, movement of blocks if any and so on). When the movement is finished, the thread is suspended until another timertick arrives. The movement thread has the highest priority thus ensuring that it is performed excactly 20 timers/second.
When suspending and resuming the thread, it is assumed that there is enough CPU left between the timerticks to draw the screen. if not, the screen is updated with less frames per second (fps) than the game speed.
The screen update thread runs with normal priority. Actually it is more important to have a steady update of the game that a steady update of the screen. The screen.draw routine is encapsulated with a variable telling the game update thread when the screen is drawn. The screen update is called from the game update thread when this variable is FALSE.
The trick is done to ensure that the game runs with the same speed on any machine, fast or slow. On slow machines, the screen.update is slower than 20 fps, but the game still has the same pace.
Thats how this game is made. Now go and make your own! :-)
The first game of Tetris was developed by Alexy Pajitnov, a russian professor, especially for the low-end PC's common in russia 10 years ago. Alexy is now head of the games department at MicroSoft. This version differs from the original concept in some ways.
As you all know, Tetris is a game of luck and skill. The playfield is a 10x20 pitt, where bricks i 7 various shapes fall from the ceiling. When the bricks hits the floor, or another brick, it stays there, and a new brick will fall.
When a horisontal row in the pitt is filed with bricks, it dissapears. The game is over when there's no more room at the top for falling bricks.
The bricks can be moved from side to side, downwards and rotated. If you don't move the brick downwards, it will automatically drop after a certain amount of time, higher levels gives less time.
This version also introduces a bomb, which is explained now.
For each row removed, you are awarded 2% in bomb-points. The bomb increases in power as you increase the bomb counter.
Press [SPACE] to drop the bomb.
The bomb destroys the top row if, and only if, there's enough power to destroy a row. The bomb needs 2% power for each block in the row.
You are given no points.
The bomb is for emergency use, but can also be used to "flatten" top rows.
You can score points in two ways:
Drop points : Each time you move a brick downwards, until it won't drop anymore, you are given points.
Droppoints : <downmovements>*Level div 2
Row points : Each time you clear a row you are given points. If you can clear multiple rows, more points are added:
You move to a new level, when you remove some rows, meaning that if you remove mulitple rows, it only increases the next level counter by 1.
With this system, you are awarded more points if you dare go for multiple rows.
Use arrow keys in menu. Up/Down to increase bar position, left/right if any value can be changed.
[Up] : Rotate Brick
[Down] : Move brick downwards
[Left] : Move brick left
[Right] : Move brick right
[SPACE] : Drop bomb
[P] : Pause game
[N] : Play music / play next song
[F] : Music Forward
[R] : Music Reverse
[S] : Music Stop
[ESC] : Abort game
BCTMP is (c) 1997 Caos Development.
All rights reserved.
Programming and design:
Brian Pedersen.
This Program is Shareware, and may be distributed freely if distributed in its entirely, and without any changes except for compressing purposes.
The BCTMP is distributed as-is. The author disclaims all warranties, expressed or implied. The author will assume no liability for damages either from the direct use of this product or as a consequence of the use of this product.