Alien Agenda v3.0 Multi Player - by entropy 2025. This is the sequel to the great single player game: "Alien Agenda". This game is a fully featured Space Invaders / Galaga style 2d shoot em up multi player game.
You can play with up to 10 clients at once, either on the internet or the LAN (or both at the same time). It's also fun playing alone!
This game records your points / levels / time / accuracy and all your ammunition (for later use).
In this game, there are 7 different weapons, 7 different powerups and 5 different kinds of alien ships. You can also use your favorite joystick in this game.
This game has 2 files for storing values. The client.ini and server.ini.
You can modify the server.ini either by commands in the Server Window, or by hand. If you edit server.ini by hand, you will need to restart the server for changes to take effect.
To play one player, simply double-click the alien-server.exe, wait a few seconds, then double-click the alien-client.exe and hit enter to connect.
You can download the server & client by clicking here: alien(MULTI).zip (122MB). You can download the single player by clicking here: alien(RETAIL).zip (120MB)
This game was originally compiled on a 64 bit Windows 10 platform. It is unknown if it works on a 32 bit platform.
Kenneth`: "Multiplayer Alien Agenda is a really exciting game to play! You get to play with your friends in different locations. You shoot different aliens in the game using your mouse with all kinds of different weapons and extra goodies. One of my favorite weapons are the heat seeking missiles. There is a giant boss alien every 50 levels also that is harder to kill. I can't think of anything I would change for it to be better and I've played it for many months now. I would give it a 5/5."
Alan: "Multiplayer Alien Agenda is an absolute blast!! 🔥 You and your friends can squad up from anywhere and take on waves of wild alien enemies. The action never stops, and the weapons? INSANE. I’m obsessed with the heat-seeking missiles—they lock on and BOOM, so satisfying. Every 50 levels, there’s a giant boss alien that really puts your skills to the test. It’s intense in the best way. I’ve been hooked for months and seriously, there’s nothing I’d change. This game is a straight-up 5/5. You need to play it"
Do you have any questions? Concerns? New feature ideas? Or just want to talk? Send me an email by clicking here. Or, manually: orbitalirc@gmail.com
If you would like to chat with me on IRC, you can click here. Channel: #alienagenda on the UnderNet IRC network is the official IRC channel/network of this game. My nickname on IRC is: ent (or entropy).
I started development of this masterpiece at: 12:31 AM 08/07/2024
I started this from scratch from a Youtube PYGAME Space Invaders tutorial. Watch the tutorial that got me hooked on python here.
Main coder: entropy (ent) and ChatGPT
This game was created with pygame 2.1.3 (Python 3.11.0).
Do NOT modify/remove any of the files in this archive (except server.ini and client.ini). It may crash the game!
This game is free of any charge, and has no copyright. If any images/sounds violate a copyright, please let me know as soon as possible and i will remove them.
Note: The window will be terminated in any case of a fatal error receiving/sending data (logs to client.log/server.log enabled).
When you edit server.ini, you need to put: "public = on" if you want your server to be printed in the master server's list, then port forward your server's port and disable any firewalls. This will expose your IP address.
If others are getting: "Game Error: Connection timed out.", check if your ISP is blocking your Port: yougetsignal.com.
If you change the "master" in server.ini and client.ini, make sure it's an official "Alien Agenda v3.0 Master Server" otherwise you will get strange & inaccurate results. Email me asking for the master's setup file if you want to host a Master Server of your own. You will need APACHE/PHP/MYSQL/PHPMYADMIN.
When changing MAX ammo for the weapons (say the weapon is LASERS), make the LASERSTART so is is a multiple of 3 for MAXLASERS. Say if LASERSTART is 1000, MAXLASERS is 3000 (multiple of 3). These values only work if INFINATELASERS is "no".
In Windows 10/11, It says it's a Possible Unwanted Application (or PUA). Click "Allow" and run anyways to play.
You will need to white list alien-server.exe and alien-client.exe in all your AV. They flag these files as having viruses, but there are no viruses in these applications. They are harmless python exe's.
Also, you might wanna make frequent backups of the server.ini!
First, i would like to thank Kenneth` and Colin for some of the great ideas, beta testing and motivating me.
Also, I would like to thank voicegenerator.io for the free text to speech female announcer voice.
Also, I would like to thank 101soundboards.com for the free text to speech male announcer voice.
Also, I would like to thank MaxKoMusic for the free background MP3's.
These are the people that gave me great ideas and helped beta test this game.
Remove the "" when saving/updating the ini!
The "settings" section of client.ini:
ip # The IP to connect to. Default: "127.0.0.1". port # The Server's Port. Default: "27500". bindip # The IP address to bind to. If you are # playing on a LAN, specify your LAN IP # address eg: "127.0.0.1". Default: # "0.0.0.0" (any). bindport # The local PORT to bind to. Default: # "0" (any). master # Set the Master Server URL. Default: # "https://mircscripts.info/alien/". mastertimeout # Set the Master Timeout. Default: "2". buffer # Max buffer size in bytes (make this # large, default is: "16192"). name # Your name. Default: "player". timeout # Timeout in seconds before canceling # connection if not connected. Default: # "5" seconds. wait # The seconds to wait on the connection menu # before starting the game. Default: "1". sensitivity # The sensitivity of the joystick. # Default: "15". controls # The controls. Either: "mouse", or "joystick". # Default: "mouse". announcer # Announcer Gender: "male" or "female". # Default: "female". sounds # Mute all sounds if "no", "yes" to enable all # sounds. Default: "yes". bgsounds # Mute background MP3 sounds if "no", "yes" to # enable background sounds. Default: "yes". announcersounds # Mute announcer sounds if "no", "yes" to # enable announcer sounds. Default: "yes". effectsounds # Mute sound effects if "no", "yes" to # enable effects. Default: "yes". ontop # Window Ontop of all windows "yes" or "no". # Default: "no". mousedelay # Set the mouse delay in milliseconds. # Minimum "40". Default: "40". autoswitch # Auto switch weapons when you pick them up # if "yes", otherwise, "no". Default: "yes". ship # Your Ship. Can be any of these: "player.png", # "player2.png", "player3.png", "player4.png", # "player5.png", "player6.png", "player7.png", # "player8.png", "player9.png", "player10.png", # "player11.png", "player12.png", "player13.png", # "player14.png", "player15.png". # Default: "player.png". display # Window display: "window" for window, # "fullscreen" for fullscreen. Default: # "window". theme # The game theme. Available: "blue", # "red", "green", "yellow". Default: # "blue". logos # The logos to use. Logo can be one of # these: "logo.jpg", "logo2.jpg", "logo3.jpg" # "logo4.jpg", "logo5.jpg", "logo6.jpg", # "logo7.jpg", "logo8.jpg", "logo9.jpg". Or, # specify the full list of logos to use. # Default is all of them.
Remove the "" when saving/updating the ini!
The "bans" section of server.ini:
103.133.107.82 = Leave us alone!
255.* = Lamer!
This is formatted with the IP and reason. Reason is required. You can use wildcards for Banning IP's.
The "settings" section of server.ini:
ip # Server IP to listen for connections. # Default: "0.0.0.0" (all IP's). port # Server Port. Default: "27500". public # Enlist your server to the master as # public, if "on", otherwise "off". # Default: "off". master # Set the Master Server URL. Default: # "https://mircscripts.info/alien/". mastertimeout # Set the Master Timeout. Default: "2". description # The Server's Description. # Default: "Alien Agenda v3.0 Server". bindip # The Server bind IP address. For # use when not online. Default: # "127.0.0.1". continue # Continue on the last level played # if 'yes', else reset level to start # level when all players quit. # Default: 'no'. senddelay # Sets the delay in seconds before the # server's message to the master # fails. Default: "5". fps # Frames Per Second. Default: "70". delay # Delay between game iterations. # Default: "0.01429". buffer # Max buffer size in bytes (make this # large, default is: "16192"). timeout # Timeout in seconds before canceling # connection if not connected or when # you get no reply from the client in # N seconds. Default: "10" seconds. flood # Flood protection in seconds. # Default: "10". lives # Start Lives for all clients. # Default: "3". windowwidth # The window width. Minimum: "852", Max: # "1024". Default: "852". windowheight # The window height. Minimum: "458", # Max: "768". Default: "458". windowx # The window X coordinate. Default: "0". windowy # The window Y coordinate. Default: "0". resize # The server window is resizable. Either # "yes" or "no". Default: "yes". fontsize # The font size of the server window. # Min: "9", Max: "13". Default: "11". font # The font of the server window. Pick # one of these: "Consolas", "Courier New", # "Lucida Console", "MS Gothic", "Terminal", # "Fixedsys", "Liberation Mono". # Default: "Liberation Mono". experience # Experience points gained for completing # a level. Default: "5". endexperience # Experience points gained for beating the # game. Default: "50". endbossexperience # Experience points gained for destroying # the ENDBOSS. Default: "10". modifier # The experience points awarded every Nth # level. 5 for every 5 levels, 1 for every # level, etc. Default: "10". lasersprice # Experience points to purchase lasers. # Default: "5". rocketsprice # Experience points to purchase rockets. # Default: "10". bombsprice # Experience points to purchase bombs. # Default: "25". spreadprice # Experience points to purchase spread. # Default: "15". crescentprice # Experience points to purchase crescents. # Default: "15". grenadesprice # Experience points to purchase grenades. # Default: "15". beamprice # Experience points to purchase beam. # Default: "20". shoptimeout # Shop timeout in seconds. This feature will # Expire the SHOP after N seconds. Default: # "120". pausetimeout # Paused timeout in seconds. This feature will # Expire the PAUSE after N seconds. Default: # "300". elapsed # Invulnerablility in seconds after # getting hit for all clients. # Default: "5". enemyelapsed # Invulnerability in seconds after enemy # gets shot. Default: "2". invulnerability # Invulnerability in seconds after # picking up the invulnerability # item. Default: "30". triad # Triple damage in seconds after # picking up the triad item. # Default: "30". backgrounds # The backgrounds to use. The background # can be one of these: "repeat.jpg", # "repeat2.jpg", "repeat3.jpg", # "repeat4.jpg", "repeat5.jpg", # "repeat6.jpg", "repeat7.jpg", # "repeat8.jpg", "repeat9.jpg", # "repeat10.jpg", "repeat11.jpg", # "repeat12.jpg". Or, specify the # full list of backgrounds to use. # Default is all of them. movement # The enemy movement pattern. Either # "standard" for the enemies to move off # the screen and start back at the top, # or "advanced" to bounce all over the # screen. Default: "standard". allclientitems # Award all clients the items/weapons # when you pick them up with "yes", self # only with "no". Default: "yes". shooting # Shooting style. Either: "standard", or # "excessive". Excessive deducts all the # weapon's INTERVAL by half (makes the # weapon time between shots twice as # fast). Default: "standard". centermessages # The Center Message status. Default: # "yes". topmessages # The Top Message status. Default: "yes". messagesduration # The duration for center/top messages in # milliseconds. Default: "2000". iteminterval # Appearance of items, every Nth level. # Default: "6". backgroundinterval # Change the background every Nth level. # Default: "20". weaponinterval # Appearance of weapons, every Nth level. # Default: "8". preiteminterval # The item interval for levels less than # "MAXENEMIES". Default: "8". preweaponinterval # The weapon interval for levels less # than "MAXENEMIES". Default: "10". namedelay # The delay in seconds to time out if the # client doesn't give a name to assign to # the client on connection. Default: "2". itempickup # Pickup weapons/items no matter what if # "yes". Otherwise if "no", only pickup # weapons/items if you have less then the # maximum limit. Default: "yes". badcommandban # Automatically ban connections that give # unknown commands to the server. Hacker # deterrent. Either "yes" or "no". Default: # "yes". infinatelasers # Infinate LASERS ammo. Default: "yes". infinaterockets # Infinate ROCKETS ammo. Default: "no". infinatebombs # Infinate BOMBS ammo. Default: "no". infinatespread # Infinate SPREAD ammo. Default: "no". infinatecrescent # Infinate CRESCENT ammo. Default: "no". infinategrenades # Infinate GRENADES ammo. Default: "no". infinatebeam # Infinate BEAM ammo. Default: "no". levelpoints # Points for completing a level. # Default: "1000". maxitems # Max items and weapons on the screen at # one time. Default: "5". maxshards # Max shards on the screen at one time. # Default: "5". maxenemies # Max enemies at once. Minimum "2", # maximum "40". Default: "30". maxclients # Max clients. Default: "5", maximum: "10", # minimum: "2". maxlasers # Maximum lasers ammo. Default: "3000". maxrockets # Maximum rockets ammo. Default: "600". maxbombs # Maximum bombs ammo. Default: "9". maxspread # Maximum spread ammo. Default: "3000". maxcrescent # Maximum crescent ammo. Default: "150". maxgrenades # Maximum grenades ammo. Default: # "150". maxbeam # Maximum beam ammo. Default: "150". maxhealth # Maximum health for each client. # Default: "200". maxshields # Maximum shields for each client. # Default: "200". maxlives # Maximum lives for each client. # Default: "9". maxexperience # Maximum experience points. # Default: "100". keepkill # Keep Kill Streak Going in milliseconds. # Default: "300". kill # Kills before triggering the EXCELLENT # sound. Default: "5". excellent # Points to add on "EXCELLENT". # Default: "1000". downangles # 7 Downward movement patterns for # enemies. List: "DOWN DOWNLEFT # DOWNRIGHT DOWNLEFTZIGZAG # DOWNRIGHTZIGZAG ALPHA TARGET". # You can specify the patterns # as long as there is at least # one specified. Default: All of # them. upangles # 7 Upward movement patterns for # enemies. List: "UP UPLEFT UPRIGHT # UPLEFTZIGZAG UPRIGHTZIGZAG UPALPHA # UPTARGET". You can specify the # patterns as long as there is at # least one specified. Default: All # of them. startlevel # Start level of the game. Default: "1". endlevel # End level of the game. Default: "300". endpoints # End points for beating the game. # Default: "300000". losepoints # Points lost after losing. # Default: "7000". pointstext # Maximum Seconds for points text to be # displayed. Default: "2". pointstextstatus # Display of the points text status in game. # Default: "on", or use: "off" to disable. saveammo # Save ammo of all clients to use later. # Default: "yes". To disable, use: "no". savetime # Save time of all clients to use later. # Default: "yes". To disable, use: "no". savepoints # Save points of all clients to use later. # Default: "yes". To disable, use: "no". saveaccuracy # Save accuracy of all clients to use later. # Default: "yes". To disable, use: "no". savelevels # Save levels of all clients to use later. # Default: "yes". To disable, use: "no". saveexperience # Save experience of all clients to use later. # Default: "yes". To disable, use: "no". healthstart # Start health. Default: "100". shieldsstart # Shields to increase on item pickup. # Default: "100". healthshard # Health Shard Health. Default: "25". shieldshard # Shield Shard Shield. Default: "25". itempoints # Points on item pickup. Default: "300". defaultlasers # Default lasers ammo on game start. # Default: "500". defaultrockets # Default rockets ammo on game start. # Default: "100". defaultbombs # Default bombs ammo on game start. # Default: "2". defaultspread # Default spread ammo on game start. # Default: "500". defaultcrescent # Default crescent ammo on game start. # Default: "20". defaultgrenades # Default grenades ammo on game start. # Default: "20". defaultbeam # Default beam ammo on game start. # Default: "20". laserspeed # The laser weapon speed. Default: "35". laserdamage # The damage of the lasers. Default: "25". laserinterval # The time between shots for the laser # in milliseconds. Default: "200". laserstart # The ammo increase on laser pickup. # Default: "1000". rocketspeed # The rockets weapon speed. Default: "25". rocketdamage # The damage of the rockets. Default: "50". rocketinterval # The time between shots for the rockets # in milliseconds. Default: "250". rocketstart # The ammo increase on rockets pickup. # Default: "200". bombdamage # The damage of the bombs. Default: "300". bombinterval # The time between shots for the bombs # in milliseconds. Default: "5000". bombstart # The ammo increase on bombs pickup. # Default: "3". spreadspeed # The spread weapon speed. Default: "20". spreaddamage # The damage of the spread. Default: "50". spreadinterval # The time between shots for the spread # in milliseconds. Default: "500". spreadstart # The ammo increase on spread pickup. # Default: "1000". crescentspeed # The crescent weapon speed. Default: "3". crescentdamage # The damage of the crescent. Default: # "100". crescentinterval # The time between shots for the crescent # in milliseconds. Default: "3000". crescentstart # The ammo increase on crescent pickup. # Default: "50". grenadespeed # The grenade weapon speed. Default: "7". grenadedamage # The damage of the grenade. Default: # "100". grenadeinterval # The time between shots for the grenades # in milliseconds. Default: "1300". grenadestart # The ammo increase on grenade pickup. # Default: "50". beamdamage # The damage of the beam. Default: "50". beaminterval # The time between shots for the beam # in milliseconds. Default: "1000". beamstart # The ammo increase on beam pickup. # Default: "50". smallspeed # The small ship speed. Default: "5". smallhealth # The small ship health. Default: "15". smalldamage # The small ship damage. Default: "15". smallpoints # The small ship points. Default: "100". smallshoot # The small ship time between shots in # milliseconds. Default: "2000". smallshootspeed # The small ship shoot speed. Default: "25". enemyspeed # The enemy ship speed. Default: "4". enemyhealth # The enemy ship health. Default: "25". enemydamage # The enemy ship damage. Default: "25". enemypoints # The enemy ship points. Default: "200". enemyshoot # The enemy ship time between shots in # milliseconds. Default: "3000". enemyshootspeed # The enemy ship shoot speed. Default: # "25". enemylevel # The enemy ship first appearance level. # Default: "5". bossspeed # The boss ship speed. Default: "3". bosshealth # The boss ship health. Default: "50". bossdamage # The boss ship damage. Default: "50". bosspoints # The boss ship points. Default: "500". bossshoot # The boss ship time between shots in # milliseconds. Default: "3000". bossshootspeed # The boss ship shoot speed. Default: "25". bosslevel # The boss ship first appearance level. # Default: "15". bigbossspeed # The bigboss ship speed. Default: "2". bigbosshealth # The bigboss ship health. Default: "100". bigbossdamage # The bigboss ship damage. Default: "100". bigbosspoints # The bigboss ship points. Default: "1000". bigbossshoot # The bigboss ship time between shots in # millliseconds. Default: "2000". bigbossshootspeed # The bigboss ship shoot speed. # Default: "25". bigbosslevel # The big boss ship first appearance level. # Default: "30". endbossspeed # The endboss ship speed. Default: "1". endbosshealth # The endboss ship health. Default: "1500". endbossdamage # The endboss ship damage. Default: "200". endbosspoints # The endboss ship points. Default: "10000". endbossshoot # The endboss ship time between shots in # milliseconds. Default: "1000". endbossshootspeed # The endboss ship shoot speed. # Default: "25". endbosslevel # Spawn endboss ship every Nth level. # Default: "50".