Git Product home page Git Product logo

target-xplosion's Introduction

Target Xplosion - ターゲットエクスプロージョン

tx-gif

2D shoot'em up game - by Gumichan01

About

Target Xplosion is a 2D scrolling shooter game inspired by R-Type, Dodonpachi, and Touhou Project (東方Project).

It was developed in C++, and uses LunatiX.

Target Xplosion is available under the GNU GPL v3. But additionnal contents (images, font, music) are under Creative Commons.

Game System

You have several types of shots:

  • Normal shot
  • Homing missiles
  • Bomb (available in level 3)

The game also integrates a combo system. Each time you shoot an enemy, the combo value increase. So you can earn more points when you kill enemies or take a specific bonus item. But be careful! If you get hit or die, you will lose your combo.

Control

In Game

Keyboard:

  • Arrows: Move the ship
  • Z or W: normal shot
  • X: Missile
  • C: Bomb
  • LEFT SHIFT: slow motion of the ship
  • ESCAPE: Quit the level/Game
  • BACKSPACE: Quit the Game

Gamepad (Xbox controller recommanded) - default configuration:

  • Left stick: Move the ship
  • A: basic shot
  • X: Missile
  • B: Bomb
  • START: Quit the level
  • B (main menu): Quit the game

In result screen

  • RETURN (keyboard) / A (gamepad) : continue

Demo

Releases are available here. You can get the current developement game thanks to the source code, but you need to compile the game.

Compilation

If you want to compile the game from the source code. You will have to follow these instructions.

Prerequisites

The game depends on LunatiX. So you need to generate the library files of LunatiX in order to compile the game. Please take a look on the README of LunatiX for more information about how to install it.

Since the repository contains big files that are indexed by git-lfs, you must install git-lfs on your computer in order to retrieve the repository and work on it.

So in order to build the project, you need to follow those steps:

$ git clone [email protected]:Gumichan01/target-xplosion.git
# Build LunatiX (library files) and put the library files into *lib/linux*
$ git-lfs pull
$ make

Videos

Links


target-xplosion's People

Contributors

gumichan01 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

target-xplosion's Issues

Packaging

Problem

On Linux, I don't provide a generic package for every linux distributions. So, I only provided a package for Ubuntu 12.04 (this distribution is outdated) and Debian Stretch.

Solution

Provide a new package that must work on different Linux Distributions (a Flatpak package does the work). It would also be interesting to provide a .deb and an .rpm package.

  • .deb package
  • .rpm package
  • A flatpak package

Linux: fix bad logical dimensions of the window

Problem

When the size of the window is bigger than its logical size (1280 * 768), The window is not stretched properly on fullscreen.

Step to reproduce

  1. Launch the game
  2. Go into the option menu
  3. Set the game in fullscreen
  4. Go back to the main menu

Level 4

  • enemies (design + patterns)
  • mid-boss (design + patterns)
  • boss (design + patterns)
  • stage design
  • background
  • music

Cannot load ./image/others/ouranos-bx.png

System

Debian GNU/Linux 9.4 (stretch)

Problem

It seems that I cannot load an image that is too big.
Maximal dimensions: 4096*4096 pixels; ouranos-bx.png dimensions: 4200 × 1304 pixels

Logs

ERROR: Texture dimensions are limited to 4096x4096
terminate called after throwing an instance of 'LX_Graphics::LX_ImageException'
  what():  LX_Texture — Cannot load ./image/others/ouranos-bx.png

How to fix it?

  1. Rebuild the sprite sheet of this file.
  2. Update config/asset.xml.

Dynamic game balancing

As a player
I want my enemies to adapt the fire power of their bullets
So the difficulty of the game can be adapted dynamically
And My game experience can be improved


Loading screen

Problem

The loading screen is just black screen.

TODO

Create images as loading screens

  • Level 1
  • Level 2
  • Level 3

Internationalization (i18n) of the game

As a player
I want to play the game in several languages
So I can improve my game experience


Actually, the game is in English, and it must be translated in several languages.

The list of languages will be defined soon.


Target Xplosion v0.5.3

  • Fix issues
  • Test the game on Windows and Linux
  • Create package for Windows (.zip)
  • Create package for Debian (.tar.gz)
  • Publish it on Itchio and Gamejolt
  • Release Notes

gamepad - vibration

Problem

As a player, I want my gamepad to vibrate (if it supports force feedback) when I get hit and when I die, so I can have a better feedback from the game and improve my game experience.

Details

  1. If I get hit, I must have a soft vibration from my gamepad.
  2. If I die, I must have a very strong vibration from my gamepad.

Additional information

  1. The gamepad must have force feedback support.
  2. It is possible to provide multiple levels of vibration. For example:
    • health points percentage after hit > 75 % → vibration, level 1
    • health points percentage after hit > 50 % → vibration, level 2
    • health points percentage after hit < 50 % → vibration, level 3
    • health points = 0 → vibration, level 4 (death)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.