Skip to content

A Breakout clone written in C++/CLI using DirectX 8, complete with level editor written in C#.

License

Notifications You must be signed in to change notification settings

sethballantyne/Plexis

Repository files navigation

Plexis

CURRENT VERSION: 0.10.2

Plexis a breakout clone I wrote in C++/CLI because I wanted to play around with DirectX and experiment with an idea I had revolving creating GUIs using XML. It's built on top of a simple engine I wrote that makes use of DirectDraw 7 for graphics, DirectSound 8 for audio and DirectInput 8 for input. The level editor is written in C#, using WinForms; you'll need the .NET Framework 4.5 or later to run both the game and the editor. All the levels currently included are just debug levels; the emphasis is on gameplay at the moment.

The latest build of the game is in the build directory. All the source code is released under the MIT license.

Changes in 0.10.2

Game

  • Tweaked how the ball responds when colliding with a brick in particular cases.
  • Changed how the Jumbo and Shrink power ups work. Catching either power up now results in an incremental change to the paddle. If the player catches the Jumbo power up while the paddle has been shrunk, it'll return to the paddle to its default size. Catching it again will result in a jumbo-sized paddle. The opposite is true for the Shrink power up.
  • Added a sound effect to the See All power up.
  • Minor optimization in how each level is rendered; there was too much flickering when recording videos of the game.
  • Added the missing sound effect the extra ball power up.

Editor

  • Changed the size of the eraser cursor.

Changes in 0.10.1

Game

  • Fixed a bug where moving the mouse while waiting to respawn could result in the ball not being centered on the paddle.
  • Fixed a bug where the ball was getting stuck in indestructible bricks.
  • Changed how the ball moves. In rare instances, it was possible for the ball to bounce back and forth in a loop, never moving
  • down towards the paddle.
  • Tweaked the indestructible, insta-death and invisible brick art work.
  • Changed the prompt when the player finishes the game with a new high score.
  • Fixed a bug where the player could shoot lasers even after the paddle had exploded.
  • Fixed a bug where the wall would continue to descend when the player caught a wall power up while the wall was descending.

Editor

  • Maps can be assigned in the Change Order dialog by double clicking on them.
  • The editors name is now visible on the titlebar at start up.

Changes in 0.10

  • Fixed a bug where the ball was being attached to the bottom of the paddle if the paddle's frame changed.
  • Added the Jumbo, Shrink, Wall, Multi-ball, Fireball and See All power ups.
  • The game now uses a background image during gameplay.

Changes in 0.9.1

  • Fixed a bug where the error sound was looping whenever the player attempted to change a key binding.
  • When a ball collides with two bricks at the same time, the game will now treat both bricks as being hit.
  • Capped the ball speed so it can't pass through bricks or the paddle due to high speed.
  • PLeD now informs users when it can't load brick sprites.
  • Invisible bricks no longer need to be destroyed before the player can transition to the next level.
  • Added a sound effect that plays when the player purchases ammo.

Changes in 0.9

  • The player now has a permanent laser, with an initial ammo count of 90. Laser powerups now act as ammo packs when caught, awarding 30 ammo. Both the initial value and the amount of ammo awarded when a powerup is caught are specified in the lasers initialammo and pickupammo XML attributes.
  • Increased the chance of a powerup being generated by a brick when it explodes.
  • Added 4 new brick types: bonus life, ammo, instadeath and indestructible.
  • Each brick type in entities.xml can now specify whether they should be counted in the total number of bricks when a level is loaded. This allows for bricks that don't need to be destroyed in order for the player to transition to the next level.
  • Added the ability for players to purchase ammo packs at the cost of 1 life during gameplay. This is bound to the L key by default. The ammo packs are generated as powerups in the center of the screen and have to be caught.

Changes in 0.8.2

  • Scores are capped at 999,999. Previously it was 99,999. This also fixes the bug mentioned in issue 120.
  • Blank levels will no longer be loaded by the game.
  • A warning now appears when attempting to save blank levels in the editor.
  • The editor no longer allows previewing of blank levels.
  • Removed a blank button from the editor toolstrip that wasn't supposed to be there.
  • The default player name has changed from "DEFAULT" to "EMPTY" when the game writes out a fresh high score file.

Changes in 0.8.1

  • The size of the particles emitted by explosions has changed from 1 pixel to a block of 4.
  • Removed the mouse sensitity option from the options menu.
  • Usability enhancements to the editor.

Releases

No releases published

Packages

No packages published

Languages