Experimental multiplayer game

Overview

Super Retro Mega Wars

Liberapay receiving

Asteroids game play Multiplayer lobby Asteroids Missile Command

Enjoy retro games? Enjoy multiplayer games? Ever wanted to play one retro game against a different game in real time?

Welcome to Super Retro Mega Wars!

Play against your friends, with each of you can competing by playing a different game. Score points in your game and every other game will be handicaped in their own unique way. But watch out, as others score, your game will become more difficult too.

Still in early stage development (networking is quite buggy), but currently supports four different single and multi-player versions of games based on classic retro titles.

No ads. No in game purchases. Just retro games and good times.

Any feedback is very welcome at GitHub.

Known limitations:

  • Networking is quite buggy.
  • Only local network play supported.
  • Thorough play testing required to balance the games.
  • Untested on multiple screen sizes.

Get it on F-Droid

Contributing

Donations

Super Retro Mega Wars is an open source, GPLv3 game. It will always be freely available via F-Droid, or for anyone to build, fork, or improve via the source code.

If you wish to support the development financially, donations are welcome via:

Reporting Issues

Please report any issues or suggest features on the issue tracker.

Submitting changes

Pull requests will be warmly received at https://github.com/retrowars/retrowars.

Compiling

This app uses a the libgdx library and Kotlin. It is recommended to read the libgdx documentation to get a dev environment setup.

Alternatively, you can import the project into Android Studio and build from there.

Comments
  • Sound effects

    Sound effects

    Sound effects would breathe some life into the game as it feels hollow without it. Since these are retro style games, even simple sounds would suffice as it'd give feedback to what is happening on screen e.g. a beep whenever you clear lines in Tetris.

    opened by BCDeshiG 59
  • Game Proposal: Tempest

    Game Proposal: Tempest

    Name

    Tempest

    Description

    Tempest Wikipedia article

    The player is looking down a 3D "pipe" (for lack of a better word) of various shapes and sizes. They cling to the edge of the pipe and traverse around the circumference, as monsters climb from the end to the front of this "pipe". From any position, the player can shoot at monsters in front of them. When monsters get to the end of the pipe, they walk around the circumference for a brief period (and hence the player risks running into them) for a brief period.

    Links to screenshots / videos / descriptions

    Gameplay video - Youtube

    Multiplayer Handicap

    • More creatures spawn at the start of the tunnel each time other players score.
    game-proposal 
    opened by pserwylo 11
  • End of game, dont't return to game selection screen

    End of game, dont't return to game selection screen

    I'm blasting away that last asteroid and blam, I'm dead, but in that last few milliseconds I've still been pressing the area of screen where the Fire! button was. Now I'm playing Tetris...

    Could we have something that prevents thus, as I'm in an Asteroids blasting mood 🙂

    IMHO just putting a "Stay Here" ("Insert coin"?) / "leave" option in a different area of the screen would be good.

    Thanks for this great game(s) 🙂

    enhancement 
    opened by WarmChocolateCake 10
  • [Space invaders] crash when score is around 300.000

    [Space invaders] crash when score is around 300.000

    Describe the bug As I described in the title the game crash when I reach a score 250.000 - 300.000. I always had that bug from a very previous release. It happened in both effects retro and non retro.

    To Reproduce Just playing until it crashes.

    Expected behavior Thank you so much for your effort to developing!

    Smartphone (please complete the following information):

    • Device: Motorola one hyper
    • Android Version: 11
    • Version RPFS31.Q1-21-20-10
    bug Game: Space Invaders 
    opened by piojpub 7
  • Thrust SFX in Asteroids can't be muted

    Thrust SFX in Asteroids can't be muted

    First of all: Thanks so much for the effort you put into the games! I love the app and enjoy it very much!

    I think this is just a small bug, but somehow annoying, when listening to a podcast or music at the same time.

    Describe the bug There is some sound effect playing at the end of each use of the thrust although sound effects are muted.

    To Reproduce Steps to reproduce the behavior:

    1. Mute sound effects
    2. Play Asteroids and use the thrust

    Expected behavior No sound

    bug 
    opened by d-klx 5
  • Suggestion for game in beta testing?

    Suggestion for game in beta testing?

    Make it so that at the start it's slower and gradually gets faster, as, well as space out the bricks slightly more to allow to cool combos in the bricks behind, while leaving the other bricks in front intact.

    Beta Feedback Game: Breakout 
    opened by Bruhmonster 5
  • Make finger guiding viable in Breakout

    Make finger guiding viable in Breakout

    Is your feature request related to a problem? Please describe. After playing a few games of Breakout I came to the quick realization that unlike the other games that have on-screen buttons, this game was made with the intention to have the player drag their finger across the screen to guide the paddle. At first I was ok playing like this however some things became very apparent.

    1. The paddle had a set speed.
    2. The paddle's set speed was way to slow to follow my finger.

    This is frustrating as when the ball is on the other side of the screen i would instinctively flick over to it but the paddle is unable to keep up making me lose lives.

    Describe the solution you'd like I think that increasing the speed so that it can accurately track the player's finger even at high speeds.

    Describe alternatives you've considered Currently the way I play breakout is by having my thumbs at the edges of the screen and tapping to move the paddle sort of like having pseudo buttons. I think it would be cool to have this control scheme inplemented into the game as an extra control layout in the options menu.

    enhancement Beta Feedback Game: Breakout 
    opened by Mormamu 5
  • Game Proposal: Breakout

    Game Proposal: Breakout

    Name

    Breakout

    Description

    Breakout was released in 1976 by Atari.

    There are numerous variations throughout history. Some of the ones I played growing up (in chronological order) include:

    • Aquanoid
    • Arkanoid
    • Block Breaker
    • DX Ball
    • Ricochet

    Alas, I never actually played the original that I am proposing here!!!

    Of course, there are many more in between, each with their own slant. The proposal here is to go for the original one, because it will fit in best with the simplicity of the other games here. In the future, perhaps it can stray towards something more complex or modern.

    Controls:

    • Use the touch screen controls to drag the paddle left or right. If this proves to be too easy, then use soft buttons on the screen to move left or right when holding the buttons.

    Links to screenshots / videos / descriptions

    Multiplayer Handicap

    A few suggestions:

    • Add additional blocks to the screen in random locations. If the screen is already full of blocks, just keep adding them below the normal starting row of blocks.
    • Speed up the ball (but does it speed up forever until the speed of light?)
    • Reduce the size of the paddle (but does it shrink forever until it is gone?)
    game-proposal 
    opened by pserwylo 5
  • Game Proposal: Space Invaders

    Game Proposal: Space Invaders

    Name

    Space Invaders

    Description

    In some ways, this is the quintessential retro game.

    Here is some details of the mechanics to help in implementing the game.

    • Multiple rows of aliens move left to right.
    • When they hit the edge of the screen, they change direction and drop down one row.
    • If you remove an entire column from the edge of the alien grid, that means they need to move further prior to hitting the edge.
    • As the number of aliens reduces, the speed of the entire grid increases.
    • You can only shoot one bullet at a time. Once shot, the bullet needs to either hit an alien or the top of the screen prior to being able to shoot again.
    • There are shields protecting the player. As they are hit, they disintegrate reducing the production.
    • You can also shoot through the shields if you want to make space to shoot aliens while maintaining some amount of cover.
    • Periodically, a faster moving spaceship moves along the top of the screen above all the aliens.
    • Once all the aliens are removed from the screen, a new grid appears again, signifying the next level.

    Links to screenshots / videos / descriptions

    Multiplayer Handicap

    There are various options here. Things to consider:

    • Add more aliens to the screen (perhaps the most obvious), though use some heuristics to ensure that they appear near the top of the list of current aliens, otherwise they may spawn in a nigh-on-impossible-to-defend-low place that then instantly hits the ground - especially if your current remaining aliens are moving very fast.
    • Increase the speed of the current aliens
    • Remove the shields from the screen

    Of these I think it would be best to just go with adding more aliens.

    game-proposal 
    opened by pserwylo 5
  • Translations can't push to repo

    Translations can't push to repo

    I added nb_NO and it locked the translation component I added. If you add "kingu" in https://hosted.weblate.org/access/retrowars/#users I can have a look. :)

    bug 
    opened by comradekingu 4
  • v0.6.0 crashes on startup

    v0.6.0 crashes on startup

    Describe the bug Upon opening v0.6.0 of the app built from F-Droid, it crashes immediately with the following logcat:

    07-07 13:18:27.438 29137 29137 E AndroidRuntime: FATAL EXCEPTION: main
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: Process: com.serwylo.retrowars, PID: 29137
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: java.lang.ExceptionInInitializerError
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at java.lang.Class.newInstance(Native Method)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.Instrumentation.newActivity(Instrumentation.java:1264)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3797)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4077)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:91)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:149)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:103)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2458)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:110)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:219)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:8387)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1055)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load shared library 'gdx' for target: Linux, 32-bit
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at com.badlogic.gdx.utils.SharedLibraryLoader.load(Unknown Source:82)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at com.badlogic.gdx.utils.GdxNativesLoader.load(Unknown Source:25)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at com.badlogic.gdx.backends.android.AndroidApplication.<clinit>(Unknown Source:0)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	... 15 more
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: Caused by: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.serwylo.retrowars--2YQ84TtOIOhFUYmf_3Vpg==/base.apk"],nativeLibraryDirectories=[/data/app/com.serwylo.retrowars--2YQ84TtOIOhFUYmf_3Vpg==/lib/arm64, /system/lib64, /hw_product/lib64, /system/product/lib64, /prets/lib64]]] couldn't find "libgdx.so"
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at java.lang.Runtime.loadLibrary0(Runtime.java:1067)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at java.lang.System.loadLibrary(System.java:1668)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	at com.badlogic.gdx.utils.SharedLibraryLoader.load(Unknown Source:24)
    07-07 13:18:27.438 29137 29137 E AndroidRuntime: 	... 17 more
    

    To Reproduce Steps to reproduce the behavior:

    1. Download v0.6.0 from F-Droid
    2. Launch the app
    3. It will not open

    Expected behavior App launces as per normal

    Screenshots N/A

    Smartphone (please complete the following information):

    • Device: Huawei P30 Pro (but likely any device)
    • Android Version: 10
    • Version v0.6.0
    bug 
    opened by pserwylo 4
  • Tactile feedback for onscreen buttons

    Tactile feedback for onscreen buttons

    Is your feature request related to a problem? Please describe.

    Touch screen controls can be hard to play with due to lack of physical feedback when pressing them. Sometimes you don't know whether you actually pressed the buttons or not.

    Describe the solution you'd like Small vibration when pressing any onscreen buttons. Would need to experiment to see how much vibration, how to handle long holds vs repeated presses, and how to make it not clash with the multiplayer attack vibrations.

    Should keep an option to turn this on (or default to on and option to turn off - if it turns out to work well).

    Additional context This was hinted at via feedback from a kind Google Play reviewer.

    enhancement 
    opened by pserwylo 0
  • Upgrade Ktor version 2.x.x support

    Upgrade Ktor version 2.x.x support

    Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

    Describe the solution you'd like A clear and concise description of what you want to happen.

    Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.

    Additional context Add any other context or screenshots about the feature request here.

    opened by ronjunevaldoz 0
  • Space invaders: still vulnerable after being hit

    Space invaders: still vulnerable after being hit

    Describe the bug There's a few seconds after your ship is destroyed and before it respawns where you can be hit a second time. The ship will turn invisible but the collision is still there and you can't move.

    To Reproduce Steps to reproduce the behavior:

    1. Start a game of Space invaders
    2. Destroy as many aliens until ther are only a few columns of them left
    3. Wait unti you get hit (you should have 2 lives left now)
    4. Wait for a second projectile to be shot in the seme location before you respawn.
    5. Your lives have dropped twice

    Expected behavior You shouldn't be vulnerable to projectiles while your ship is not on screen

    Screenshots I'll see if I can manage to record a video of it

    Smartphone (please complete the following information):

    • Device: OnePlus Nord CE 5G
    • Android Version: 11
    • Version of the game: 0.31.6
    bug 
    opened by Bamarin 0
  • Asteroids: sound bug

    Asteroids: sound bug

    Describe the bug Issue occurs every now and then, when playing Asteroids. When tapping the "move forward" button, the propulsion sound plays. When tapping the button very often within a short time (e.g. 5 times per second), the sound will continue to play, even if you exit Asteroids and go back to the main screen of the app. Only thing that helps to stop the propulsion sound is closing the app in task manager.

    To Reproduce Steps to reproduce the behavior:

    1. Go to 'Asteriods'
    2. Play for a while and
    3. Click on 'move forward' button several times in a high frequency (e.g. 5 times per second)
    4. The issue is not always reproducible.
    5. Hear the error: propulsion sound never stops playing, until you exit the app.

    Expected behavior Propulsion sound only plays when the respective button is pressed. Pressing the button in high frequency should not cause the described bug.

    Screenshots n/a

    Smartphone (please complete the following information):

    • Device: OnePlus 8T
    • Android Version: 11
    • App Version: 0.31.3
    opened by franok 0
Releases(0.31.6)
Owner
Super Retro Mega Wars
Super Retro Mega Wars
🛥 Stream Draw - a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose

?? Stream Draw is a real-time multiplayer drawing & chat game app built entirely with Jetpack Compose. Draw and guess words with your friends! This pr

Stream 286 Dec 20, 2022
Multiplayer Dots and Boxes game for Android

Multiplayer Dots and Boxes game for Android. One player is the server, and the rest connect to them. Has player customization and in-game chat! Still in development, but fully compatible with version 2.0 of my NetDot protocol.

Matthew 0 May 8, 2022
This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and there is a button to continue playing and the game determines the result of each player

Game-X-O This is an application that is about an X / O game. You can enter the names of the game, and there is also a screen for those who win and the

Mohamed Rafat 2 Aug 20, 2022
Game made with Korge (Kotlin Multiplatform game engine)

MolesAttack Kotlin Multiplatform Game Play Html/js: https://feliperce.github.io/MolesAttack-Distribution/ Jar: https://feliperce.github.io/MolesAttack

Felipe Rodrigues 10 May 30, 2022
Our maze game is an 2d-animation game developed using android studio.

Our maze game is an 2d-animation game developed using android studio. The game consists of a ball and a board with a hole in the center of it. We are using accelerometer as controller to guide ball towards the hole. T

Suraj Devgan 6 Nov 29, 2022
An easy open source Android Native Game FrameWork.

JustWeEngine - Android Game FrameWork An easy open source Android Native Game FrameWork. Engine Flow Chart How To Use? Import Engine's module as Libra

JustWe 767 Dec 8, 2022
Desktop/Android/HTML5/iOS Java game development framework

Cross-platform Game Development Framework libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux

libgdx 20.9k Jan 8, 2023
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

cocos2d 16.7k Dec 31, 2022
Free Android 2D OpenGL Game Engine

AndEngine Donations While developing AndEngine was a lot of fun, it also also consumed many(!) months of my life. It actually continues to cost me a s

Nicolas Gramlich 3.2k Jan 5, 2023
A cross-platform Java game Engine (Framework) , support JavaFX / Android / IOS / HTML5 / Linux / MAC / Windows

Loon Game Engine (Java Game Framework) EN / KR Free Game Resources Links Download Loon Game Engine Only Android-studio Template : androidstudio-templa

cping 502 Jan 4, 2023
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d-x Win32 Others cocos2d-x is a multi-platform framework for building 2d games, interactive books, demos and other graphical applications. It is

cocos2d 16.7k Jan 7, 2023
QRGame - storage a game inside a qr code

QRGame Can we storage a game inside a qr code? Yes! At least in theory. That was the question that started that entire project. QRGame is an Android p

Aislan Tavares 10 Mar 13, 2022
In-game editor for item NBT

Building Gradle - Dependency Management The GradleWrapper in included in this project. On Windows: gradlew.bat clean build On MacOS/Linux: ./gradlew

TabooLib Project 12 Dec 27, 2022
Basic template to create a game using minigdx

MiniGDX Game Template Create your first game using miniGDX by clicking the "Use this Template" button above. The game will be configured for: the JVM

MiniGDX 22 Dec 16, 2022
Android Kotlin: Matching Kitties: A Game Inspired by Cats

Android Kotlin: Matching Kitties: A Game Inspired by Cats A kotlin based Android memory game Screenshots | | | | | | | | | Viewing the App You can clo

Ryan Jandrick B. Obeles 20 Aug 1, 2022
a bitcoin key collision game for android

BitteryApp BitteryApp is an opensource bitcoin key collision game for Android. How to Build BitteryApp source code build in chromium building environm

null 3 Jul 12, 2021
Flappy Bird game

Flappy Bird by Compose ?? Description Flappy Bird game built with Jetpack Compose. ?? Motivation and Context All UI built with Jeptack Compose Images

Ellison Chan 172 Dec 30, 2022
The second iteration of the Xlite game.

Xlite 2.0 Xlite is a modular kotlin based RSPS. The goal of Xlite 2.0 is to provide the community with a stable and powerful sandbox to experiment wit

Jordan 3 Aug 11, 2021
The Xlite Game Server.

Xlite 2.0 Xlite is a modular kotlin based RSPS. The goal of Xlite 2.0 is to provide the community with a stable and powerful sandbox to experiment wit

null 11 Nov 19, 2021