All Projects → wimpysworld → Antsy Alien Attack

wimpysworld / Antsy Alien Attack

A game, written in Bash, that is a somewhat retro-a-like shoot 'em up. Hopefully.

Programming Languages

shell
77523 projects
bash
514 projects

Labels

Projects that are alternatives of or similar to Antsy Alien Attack

Weixin
微信小游戏辅助合集(加减大师、包你懂我、大家来找茬腾讯版、头脑王者、好友画我、悦动音符、我最在行、星途WeGoing、猜画小歌、知乎答题王、腾讯中国象棋、跳一跳、题多多黄金版)
Stars: ✭ 1,216 (+1313.95%)
Mutual labels:  game
Antipacman
HTML5 Pac-Man game with gesture recognition
Stars: ✭ 81 (-5.81%)
Mutual labels:  game
Warcraft Remake
Java remake of Warcraft game
Stars: ✭ 83 (-3.49%)
Mutual labels:  game
Python Tkinter Minesweeper
Minesweeper game written in Python using Tkinter GUI library.
Stars: ✭ 79 (-8.14%)
Mutual labels:  game
Amfv
A Mind Forever Voyaging, by Steve Meretzky (Infocom)
Stars: ✭ 81 (-5.81%)
Mutual labels:  game
Novelrt
A cross-platform 2D game engine accompanied by a strong toolset for visual novels.
Stars: ✭ 81 (-5.81%)
Mutual labels:  game
Gbaid
A GameBoy Advance emulator in D
Stars: ✭ 78 (-9.3%)
Mutual labels:  game
Taelinarena
[outdated] A moddable MOBA in Formality
Stars: ✭ 84 (-2.33%)
Mutual labels:  game
Obaddon
A repository of community-built prefabs and other enhancements for Oblige 7.70
Stars: ✭ 81 (-5.81%)
Mutual labels:  game
Valheim Character Editor
Stars: ✭ 80 (-6.98%)
Mutual labels:  game
Regex
A Regular Expression game for Android
Stars: ✭ 80 (-6.98%)
Mutual labels:  game
Quizzity
A fast-paced geography quiz
Stars: ✭ 80 (-6.98%)
Mutual labels:  game
Awesome Games Of Coding
A curated list of games that can teach you how to learn a programming language.
Stars: ✭ 1,237 (+1338.37%)
Mutual labels:  game
Iwbtc
I Wanna Be Thy Copy
Stars: ✭ 79 (-8.14%)
Mutual labels:  game
Swiftcode
Multiplayer, interactive, realtime typing speed game
Stars: ✭ 83 (-3.49%)
Mutual labels:  game
Bitbox
The bitbox console (example, firmwares, doc)
Stars: ✭ 78 (-9.3%)
Mutual labels:  game
1 Character Movement
The first section of the course. You will learn everything required to build a simple movement system in your RPG, creating the core experience. http://gdev.tv/rpggithub
Stars: ✭ 81 (-5.81%)
Mutual labels:  game
Blokish
Android game. Open-source implementation of the popular board game Blokus.
Stars: ✭ 85 (-1.16%)
Mutual labels:  game
Ozz Animation
Open source c++ skeletal animation library and toolset
Stars: ✭ 1,250 (+1353.49%)
Mutual labels:  game
Snake
Artificial intelligence for the Snake game.
Stars: ✭ 1,241 (+1343.02%)
Mutual labels:  game

Antsy Alien Attack!
Antsy Alien Attack!

A game, written in Bash, that is a somewhat retro-a-like shoot 'em up. Hopefully.

Antsy Alien Attack!

Made with 💝 for

Building, Testing, and Installation

Ubuntu

You'll need the following dependencies:

  • coreutils for stty
  • joy2key (optional)
  • lolcat
  • mpg123
  • ncurses-bin
  • procps
  • vorbis-tools
sudo apt install coreutils lolcat mpg123 ncurses-bin procps vorbis-tools

Execute ./aaa.sh to run the game.

./aaa.sh

XBox controller support

This step is optional.

sudo apt install libx11-dev x11-utils
wget -c http://sourceforge.net/projects/joy2key/files/joy2key/1.6.3/joy2key-1.6.3.tar.bz2
wget -c http://sourceforge.net/p/joy2key/patches/_discuss/thread/e73f20a1/33d7/attachment/button_list_segfault.patch
tar xvf joy2key-1.6.3.tar.bz2
patch -p0 -i ../button_list_segfault.patch
cd joy2key-1.6.3
./configure --prefix=/usr/local
make
sudo make install

Steam Controller

Player 1 and Player 2 control profiles for sc-controller can be found in the cfg/ directory.

  • Antsy Alien Attack - P1.sccprofile
  • Antsy Alien Attack - P2.sccprofile

Plans

  • [x] Tick
    • [x] Hardware interrupt trap to govern the game loop via a subshell.
  • [x] Input handler
    • [x] Keyboard
    • [x] Xbox360 Controller
  • [x] Graphics
    • [x] Framebuffer
    • [x] Sprite engine
    • [x] Sprite collision detection
    • [X] Sprite overlays
    • [x] Starfield
    • [x] Performance metrics
  • [x] Animators
    • [x] Player thrust
    • [ ] Player roll
    • [x] Explosion animations
  • [x] Audio
    • [x] Sound effects engine
    • [x] Music engine
    • [x] Disable audio for remote connections
  • [x] Title screen engine
    • [x] Main screen artwork
    • [x] Game over artwork
    • [x] Victory artwork
  • [x] Enemies
    • [x] Fighters
    • [x] Hunter Fighter AI
    • [x] Sniper Fighter AI
    • [x] Boss ships
    • [x] Boss ship AI
  • [x] Power ups
    • [x] Bonus points
    • [x] Weapon upgrades
    • [x] Shields
    • [x] Smartbomb
    • [x] Extra life
  • [x] Level progression
    • [x] Number of enemies rises
    • [x] Enemy firepower increases
    • [x] Enemy speed increases
    • [x] Bonus spawn rate decreases
    • [x] Bonus value increases
    • [ ] Canyon levels, narrow playable area
    • [x] Level progression announcements
    • [x] Level-up skill points
  • [x] 2P
    • [x] Local
    • [ ] Network
  • [x] Title screen attract mode
    • [x] High score
    • [x] Configuration
    • [x] Credits
  • [ ] Install
    • [x] Script
    • [ ] PPA
    • [ ] Snap

Title Screens

The title graphics are using toilet and lolcat via tools/render-titles.sh. You can preview of all the toilet font styles using this:

for FONT in /usr/share/figlet/*.tlf; do echo $(basename $FONT) && toilet -t -f $(basename $FONT) --filter border "Antsy Alien Attack!" | lolcat -f -F 0.2; done

Game Assets

I found music and sound effects on Open Game Art. I ended up using Creative Commons licensed music from Patrick de Arteaga and sound effects from Kenney Vleugels and Viktor Hahn.

Fonts

Terminal fonts

ANSI & ASCII

Editors

Learnings

  • subshells and traps.
  • case is twice as fast as if, elif, else, fi.
  • echo -e is faster than tput and tput is faster that printf.
  • Arithmetic comparison are faster than tests
    • For example if ((HUNT_P1 == 1)); then is faster than if [ ${HUNT_P1} -eq 1]; then
  • Bash has C style loops
    • Like this for (( FIGHTER_LOOP=0; FIGHTER_LOOP < TOTAL_FIGHTERS; FIGHTER_LOOP++ )); do
  • I never knew about ((TOTAL_STARS++)) or ((TOTAL_STARS+=5)) or ((TOTAL_STARS+=MORE_STARS))
  • Px437 IBM VGA Regular at 16px is best font.

Slides from a presentation I gave at FOSS Talk Live 2019 as part of the Ubuntu Podcast live show are also available:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].