wimpysworld / Antsy Alien Attack
A game, written in Bash, that is a somewhat retro-a-like shoot 'em up. Hopefully.
Stars: ✭ 86
Projects that are alternatives of or similar to Antsy Alien Attack
Weixin
微信小游戏辅助合集(加减大师、包你懂我、大家来找茬腾讯版、头脑王者、好友画我、悦动音符、我最在行、星途WeGoing、猜画小歌、知乎答题王、腾讯中国象棋、跳一跳、题多多黄金版)
Stars: ✭ 1,216 (+1313.95%)
Mutual labels: game
Python Tkinter Minesweeper
Minesweeper game written in Python using Tkinter GUI library.
Stars: ✭ 79 (-8.14%)
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
Obaddon
A repository of community-built prefabs and other enhancements for Oblige 7.70
Stars: ✭ 81 (-5.81%)
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
Swiftcode
Multiplayer, interactive, realtime typing speed game
Stars: ✭ 83 (-3.49%)
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
Antsy Alien Attack!
A game, written in Bash, that is a somewhat retro-a-like shoot 'em up. Hopefully.
Building, Testing, and Installation
Ubuntu
You'll need the following dependencies:
-
coreutils
forstty
-
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
- https://int10h.org/oldschool-pc-fonts/
- http://www.fixedsysexcelsior.com/
- https://github.com/ansilove/BlockZone
ANSI & ASCII
- https://shiroyasha.svbtle.com/escape-sequences-a-quick-guide-1
- Code page 437)
- ASCII table , ascii codes
Editors
- http://bruxy.regnet.cz/web/linux/EN/ansi-art-sh-paint/
- http://picoe.ca/products/pablodraw/
- http://tetradraw.sourceforge.net/
- https://sourceforge.net/projects/tundradraw/
- https://sourceforge.net/projects/mysticdraw/
- http://syncdraw.bbsdev.net/
- https://www.gridsagegames.com/rexpaint/index.html
Learnings
- subshells and traps.
-
case
is twice as fast asif
,elif
,else
,fi
. -
echo -e
is faster thantput
andtput
is faster thatprintf
. - Arithmetic comparison are faster than tests
- For example
if ((HUNT_P1 == 1)); then
is faster thanif [ ${HUNT_P1} -eq 1]; then
- For example
- Bash has C style loops
- Like this
for (( FIGHTER_LOOP=0; FIGHTER_LOOP < TOTAL_FIGHTERS; FIGHTER_LOOP++ )); do
- Like this
- 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].