Social deduction games are usually designed with multiple players in mind, but what if these games are stripped off any of the social play and retained
Delve into the enthralling world of Pocket Mirror ~ GoldenerTraum, the acclaimed RPG Maker gothic horror game that'll take you on a moving journey of self-discovery.
As an avid fan of co-operative video games, there is nothing more insulting than hearing a video game you are passionate about be simplified down in online spaces as “typical friendslop”.
Friendslop is a term that refers to low-budget and low-cost co-operative indie games. Usually, “friendslop” is the type of game you play with some friends for a while before dropping it entirely and playing something else; a form of disposable media based upon short game length and cheap consumer cost.
You are a disease. Infect the human body as a lone pathogen in this cellular roguelike shooter. Collect organelles to evolve your parasite in a microscopic arms race against your host's immune system. Conquer a beautiful, procedurally generated world of tiny proportions.
Protect your train with your drones as it rolls through a monster-infested wasteland. Reach new stations to buy new weapons, wagons, and upgrades. Keep rolling until you or the game crashes. Isometric bullet heaven roguelite.
Hello everyone. It has been a long while since the last zine. I have been busy in life, so I could not find enough time to work on it, and I kept pushing the release further and further back. Well, finally I got around and finished it, and here it is.
We have news as usual: open-source, indie, and homebrew news.
An article on early video games.
Game Boy homebrew release schedule.
Free game in python
Top 10
And some memes.
News
Open Source game news
Hades Revisited 0.20.3 (2026-09-18)
Gameplay
Gameplay
Hades Revisited is a game in development. The goal of this project is to create a deep and complex survival and terraforming game set on a far-away volcanic planet.
Currently, the game is mostly a sandbox game.
Version 0.20.3 released. This is small bugfix update.
Lazarr! is a 3D puzzle game. You’re a pirate on the search for treasure. Sail to different places of the world and find all gold blocks in treasure chests.
But there’s a catch: The chests are locked by an advanced security mechanism and the only way to unlock them is by solving puzzles with lasers.
You can interact with the environment by taking, placing and rotating mirrors and various other blocks. It starts simple but will become more challenging later on.
Version 2.2.4 released! This minor update utilizes new features that came with Luanti 5.17.
Fix warning about parrot textures
Hiding HUD no longer hides damage overlay (Luanti 5.17+)
Parallel Overhead is a colorful endless runner game where you take control of the ships Truth and Beauty on a groundbreaking trip through hyperspace. A stable hyperspace tunnel has finally been achieved with the two ships supporting it on opposite walls of the tunnel. Well, almost stable... Keep the ships from falling through the cracks!
This release introduces:
Unstable Pulse by oglsdl to the soundtrack
highest score tracking
and fixes:
game time sometimes running faster than real time
HUD rendering with sdl2-compat
building with the -std=gnu23 GCC flag (default in GCC 15)
building with the -Werror=format-security GCC flag (#14, submitted by Marcin Ser
Unciv is an open source, mod-friendly Android and Desktop remake of Civ V, made with LibGDX. Build your civilization, research technologies, expand your cities and defeat your foes!
Fixed repair functions for when there is only a pillaged road
Avoid ANRs when opening civilopedia
By SomeTroglodyte:
- Fix Future Tech not counting for Contest Technologies quest
- Fix ImprovementPicker not offering Improvements needing a removal
Reduce autosave memory spikes - By mvanhorn
AI: Better picking of next unit to construct - By WhoIsJohannes
Crude mod author block list - By unciv-loof
Fixed crash when activating 2 cityscreen arrow buttons at the same time
Pixelpusher 0.91.0 (2026-08-12)
Pixelpusher is a drone-based team combat game that emphasizes positioning and momentum above all else. Control space and manage risk with every move of your drones. Play capture the flag with up to 32 players.
Best played with a two-button mouse.
v0.91.0
Gameplay
- Decrease drone radius by 10%
- Capture the flag
- Change controls for picking up flags
- Overseers no longer pick up flags automatically
-To pick up flags, press or hold the flag button
- Gradually increase flag carrier burn damage during flag stalemates
- Templar
- Reduce psi-storm slow (+30% drag -> +22% drag)
- Phantom
- Remove blink cast range reduction in CTF mode
- Slightly increase collision damage of overlapping entities (e.g. after blinking on top of a target)
Visuals
- Make CTF flag stalemate radius more visible
Misc
- Rendering optimizations
Indie game news
Check Out This Indie Hand-Painted Adventure Game Bridgebourn That Looks 3D But Isn't
Bridgebourn
The game features a story-rich narrative, where you assume the role of an adventurer wandering with your group of friends and exploring the wilderness of Fadelands, dungeons, woods, and more. The world is infused with magic – acquire magical loot while exploring its expanses, battle foes with custom spells, and experiment with powerful reactions by combining abilities.
Sucker for Love: Crush Landing Impressions – The Crush is Coming From Inside the House
Sucker for Love
Sucker for Love
Sucker for Love is, despite being a niche game in a niche genre, a bit of an indie institution at this point. Its first iteration spun out of a game jam title and was successful enough to greenlight a sequel that came only two years later, and now, two years after that, we have a third entry that seems to be a bit of a shake-up.
Celeste Co-Creator Is Making A Gorgeous New Game Boy-Style Metroidvania
City of None
There’s a gorgeous new pixely Metroidvania on the way next year that I now have my eye on. It’s called City of None, and it’s made by one of the co-creators of Celeste, and published under the same studio label.
Snowboarding Racing Game Hyperyuki: Snowboard Syndicate Is Unapologetically SSX-Coded
Hyperyuki: Snowboard Syndicate
Wearing your influences up your sleeves proudly can either come off as a copycat or an inspired choice. Developer Wabisabi Games is hoping that it comes across as the latter with their new game Hyperyuki: Snowboard Syndicate, which is undoubtedly inspired by the greatest snowboarding racing game series to hit the 2000s, SSX.
“We started developing Slumbering Woods two years ago, inspired by our love of rainforest walks and the incredible ecosystems they support,” shared the Chunky Quail team in a press release. “We wanted to create a world that captures the wonder of discovering strange fungi in nature while also reflecting how fragile these ecosystems can be and how easily they can be disrupted. Turning that inspiration into exploration and puzzle-solving has been an exciting challenge, and we’re happy to finally share the game publicly and bring it to BitSummit for players to experience for the first time.”
Mythic Kart Maker is a low-poly combat racing game developed and published by Dream Mix Games, and it looks just like the Mario Kart Maker a lot of us have been dreaming of for years.
Who let the ducks out? Microphone-Driven Co-op Quack Quack Up
Gameplay
As professional (but overwhelmed) duck herders, you and your friends must use your lung capacity to guide a flock of oblivious ducks through treacherous terrain. These ducks don’t speak human, they don’t follow rules, and they love falling off cliffs.
There Is No Next Stop, a psychological horror visual novel set aboard a train that never stops, gets Steam demo
Gameplay
South Korean indie developer HANPAGE released a demo for the psychological horror visual novel There Is No Next Stop on June 3 via Steam. The full game is scheduled to launch in August 2026.
True to its title, the setting of There Is No Next Stop is a train that never stops. The protagonist, a high school senior called Mia, finds herself trapped in a parallel dimension one day after hearing the unusual announcement, “There is no next stop” during her daily commute. She wakes up with no memories, surrounded by grotesque, mindless creatures called Guests out to hunt and devour her.
Witchspire Is The Cozy Witchy Valheim Alternative I've Been Waiting For
Magic makes everything better
Gameplay
There’s a point in Witchspire when a little Froblin (frog goblin, naturally) comes croaking out of the woods, lobbing magical attacks at me with all the confidence of a creature that has never looked in a mirror. The sensible response would be to fight back. My response was ‘oh my god, look at him!’ Within seconds, I had gone from defending myself to trying to figure out if this lovely little creature could be convinced to live in my home.
Cozy Builder Preview: A Family Studio’s Healing Sandbox About Rebuilding an Earthquake
Gameplay
No combat. No failure. No time limits. In a serene valley where vineyards stretch toward sunlit hills, peaceful hours unfold as you build your dream château alongside friends. Cozy Builder, the healing sandbox builder from small family studio Pangea Game Studios
Paralives Early Access Preview: A Beautiful Beginning
Gameplay
Gameplay
Life sim games are an ideal outlet for escapism, a way to live many different lives. We can build a big house that we could never hope to afford in real life
Lootbound is a love letter to the fans of the atmospheric, dark fantasy action genre, and it wears its inspiration proudly on its sleeves. Fans of Blasphemous and The Last Faith, even though the genre is different, will instantly feel at home. Lootbound, however, carves its own identity through strategic turn-based combat with DnD mechanics thrown in the mix.
Lo-fi first-person narrative exploration game Springs, Eternal will launch for PC via Steam in November, newly revealed publisher Serenity Forge and developer Fullbright announced.
We Are So Cooked: Free Ragdoll Co-Op Stealth Game Launches October 15 on Steam
We Are So Cooked
You and up to three friends have accidentally killed someone. This is the game's only opening premise, offered with cheerful certainty and no further detail. Someone is dead. You are responsible. The building is full of people who will scream if they see a body, guards who will arrest you if they hear a scream, cameras that watch the hallways.
Twenty-four islands. Zero procedural generation. Over 1,000 individual hand-drawn animation frames for a single character. Pequi Studios’ Mayday: The Survival Island sets its release date at PAX West with a specific creative bet: that in a genre defined almost entirely by algorithmically generated worlds, an entirely handcrafted open world is worth the labor it costs.
A forgotten puzzle-platformer from 1993 is finally getting its long-awaited second chance. Indie developer BitHunch has announced that Babylonian Twins will launch on Steam this fall, with a free demo already available for players who want to try it ahead of release.
Astral Possession is a simple arcade style platformer Gameboy Color Game. You play as a cute ghost that can possess 2 different NPC characters. Avoid giant spiked balls and collect coins. Collect 10 coins and you get teleported to a new level. Try to beat all 9 levels.
Have you ever wondered how gaming started? Which was the first video game? The first arcade machine?
If yes, keep reading :)
But before we start, we have to define what a video game is. Which is actually harder than one would imagine.
The term "video game" implies that a video signal is transmitted to a display, but that is not always the case. Games like Nintendo's Game & Watch series and other LCD games do not have a video signal, these instead have all possible character poses and objects permanently etched directly into the liquid crystal layers.
So a more appropriate definition would be something like: any game that is played on electronic hardware that uses logic circuits and uses some kind of interactivity between the game and the player.
Proto-game
The cathode-ray tube amusement device is considered the ancestor of all video games. This was a device that used a cathode-ray tube connected to an oscilloscope. The CRT projected a spot on the display and used the knobs and switches on the oscilloscope to move and expand the size of the spot. There was no software running on the device, no program was executed. Instead, plastic targets were put on the display that light spot needed to hit, and then once they were hit, they needed to be removed manually.
The first real video games.
Turochamp is the earliest known computer game to enter development, but was never completed by Turing and Champernowne, as its algorithm was too complex to be run by the early computers of the time such as the Automatic Computing Engine. Turing attempted to convert the program into executable code for the Ferranti Mark 1 computer in Manchester, but he was unable to do so. Turing played a match against computer scientist Alick Glennie using the program in the summer of 1952, executing it manually step by step, but by his death in 1954 had still been unable to run the program on an actual computer. Champernowne did not continue the project, and the original program was not preserved and it is considered a lost game.
Nimrod computer
A lot of early computer games were developed for unique hardware to show off the capabilities of specific large computers and impress people.
They were usually not ported to another computer and were typically discarded after fulfilling their purpose. There is very little information about them, who worked on them, when the games were publicly displayed and for how long. Thus, making it impossible to determine exactly which one is the first one.
One of those games built for demonstration purposes is a tic-tac-toe game by Josef Kates in 1950. In the year 1951, the Ferranti company demonstrated Nimrod, a computer designed to play Nim.
OXO
And one year later, Christopher Strachey created a Checkers game. Also in 1952, Sandy Douglas created OXO another tic-tac-toe game on the EDSAC, allowing players to play tic-tac-toe on a CRT screen.
Around the same time, The University of Michigan developed a pool game using MIDSAC, one of EDSAC's successors, in 1954, which continuously updated graphics on screen.
Tennis for two
In 1958, William Higinbotham created Tennis for Two at Brookhaven National Laboratory, displaying a simplified tennis match on an oscilloscope. This is considered one of the first games created for entertainment instead of research.
In the year 1962, Spacewar! Was developed for the PDP-1 minicomputer at MIT by Steve Russell and his colleagues. It became the first widely shared video game, circulating across universities that had PDP-1 computers. Modifications introduced features like a moving starfield, simulated gravity, and external controllers.
Spacewar!
Despite the PDP-1's high cost and rarity, Spacewar! Inspired others in programming communities to create their own games. During the 1960s, other games also appeared on mainframes, including The Sumerian Game by Mabel Addis and early simulations written in general-purpose languages like BASIC.
Read issue #7 of Bside Gaming for more info about BASIC.
The first game arcade machines
The first video game to spread beyond a single computer installation, Spacewar!, was developed by students and staff at MIT on a PDP-1 mainframe computer in 1962. As the group that developed it moved across the country to different schools, they took Spacewar!'s source code to run on other mainframe machines at those schools. It inspired two different groups to attempt to develop a coin-operated version of the game.
Computer Space Arcade Machine
Around 1970, Nolan Bushnell was invited by a colleague to see Spacewar! running on Stanford University's PDP-6 computer. Bushnell got the idea of recreating the game on a smaller computer, a Data General Nova, connected to multiple coin-operated terminals. He and fellow Ampex employee Ted Dabney, under the company name Syzygy, worked with Nutting Associates to create Computer Space, the first commercial arcade game.
Pong Arcade
Bushnell got the idea for his next game after seeing a demonstration of a table tennis game on the Magnavox Odyssey, the first home video game console that was based on the designs of Ralph H. Baer. Deciding to go on their own, Bushnell and Dabney left Nutting and reformed their company as Atari Inc. and brought on Allan Alcorn to help design an arcade game based on the Odyssey game. In August 1972, Pong was first released in limited numbers in November 1972.
By the end of 1974, more than fifteen companies, both in the United States and Japan, were in the development of arcade games. A key milestone was the introduction of microprocessor technology to arcade games with Midway's Gun Fight , which could be programmed more directly rather than relying on the complex interaction of integrated circuitry (IC) chips. Based around two Old West cowboys armed with revolvers and squaring off in a duel, it was the first video game to depict human-to-human combat. The game's concept was adapted from Sega's 1969 arcade electro-mechanical game Gun Fight.
The game was a global commercial success. In Japan, Western Gun was among the top ten highest-grossing arcade video games of 1976.
import json
import os
def title(name):
if name == "":
name = input(" Enter your name: ")
print(" ███╗ ███╗██╗ ██╗████████╗██╗ ██╗██╗██╗ ██╗██╗ ██╗\n"
" ████╗ ████║╚██╗ ██╔╝╚══██╔══╝██║ ██║██║╚██╗██╔╝██║ ██║\n"
" ██╔████╔██║ ╚████╔╝ ██║ ███████║██║ ╚███╔╝ ███████║ \n"
" ██║╚██╔╝██║ ╚██╔╝ ██║ ██╔══██║██║ ██╔██╗ ╚════██║\n"
" ██║ ╚═╝ ██║ ██║ ██║ ██║ ██║██║██╔╝ ██╗ ██║\n"
" ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═╝\n")
print(f" Welcome Back {name}")
print(" You enter the temple you just opened.")
print(" Enter 1: To continue, Press 0 to exit")
return name
def temple_one(color, reset, tasks):
print(color)
print("'.----. .----. .----. '.----.'")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print(" |' '| |' '| |' '| |' '| ")
print("'''''''' '''''''' '''''''' ''''''''")
print(reset + " The temple entrace. Exits: 'N'.")
print(" You find yourself in a large room with\n")
print(" filled with Pillars. \n")
return True
def temple_two(color, reset, tasks):
print(color)
print("|.'', ,''.|\n"
"|.'.'', ,''.'.|\n"
"|.'.'.'', ,''.'.'.|\n"
"|.'.'.'.'', ,''.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|,',',',',| |,','.',',|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.',' /*********\\ ','.'.'.'.|\n"
"|.'.'.',' /***********\\ ','.'.'.|\n"
"|.'.',' /*************\\ ','.'.|\n"
"|.',' /***************\\ ','.|\n"
"|;____________/*****************\\____________;|\n")
print(reset + " A large corridor connects 2 temple rooms: 'N' and 'S'.")
return True
def temple_three(color, reset, tasks):
print(color)
print("__________ __________ __________ __________")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("---------- ---------- ---------- ----------")
print("__________ __________ __________ __________")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("---------- ---------- ---------- ----------")
print("__________ __________ __________ __________")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("---------- ---------- ---------- ----------")
print("__________ __________ __________ __________")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("|////////| |////////| |////////| |////////|")
print("---------- ---------- ---------- ----------")
print(reset + " You are in a large room with a tiled floor. ")
print(" Exits: 'N', 'S' 'E' and 'W'.")
return True
def temple_four(color, reset, tasks):
print(color)
print(" @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
"\n @ : : : : : : : : : : : : : : @"
"\n @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@"
"\n | |"
"\n | |"
"\n \\ /"
"\n \\ /"
"\n \\ /"
"\n \\ ___ ___ ___ ___ ___ /"
"\n ( __ ___ __ __ ___ )"
"\n (888888888888888888)"
"\n --\\ ---------- /--"
"\n ((((((o)))))))"
"\n \\ /"
"\n | | | | | |"
"\n | | | | | |"
"\n | | | | | |"
"\n | | | | | |"
"\n _(IIIIIIIIIII)_"
"\n ___/_______________\\___"
"\n /_________________________\\"
"\n (___________________________)")
print(reset + " You see a giant altar in the form of cup")
print(" in the middle of the Exit: 'S'.\n")
return True
def temple_five(color, reset, tasks):
print(color)
print("|.'', ,''.|\n"
"|.'.'', ,''.'.|\n"
"|.'.'.'', ,''.'.'.|\n"
"|.'.'.'.'', ,''.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|,',',',',| |,','.',',|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.',' /---------\\ ','.'.'.'.|\n"
"|.'.'.',' /-----------\\ ','.'.'.|\n"
"|.'.',' /-------------\\ ','.'.|\n"
"|.',' /---------------\\ ','.|\n"
"|;____________/-----------------\\____________;|\n")
print(reset, "A large corridor connects 2 temple rooms. Exits: 'E' and 'W'.")
return True
def temple_six(color, reset, tasks):
print(color)
print("|.'', ,''.|\n"
"|.'.'', ,''.'.|\n"
"|.'.'.'', ,''.'.'.|\n"
"|.'.'.'.'', ,''.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|,',',',',| |,','.',',|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.',' /---------\\ ','.'.'.'.|\n"
"|.'.'.',' /-#########-\\ ','.'.'.|\n"
"|.'.',' /-###########-\\ ','.'.|\n"
"|.',' /-#############-\\ ','.|\n"
"|;____________/-----------------\\____________;|\n")
print(reset, "A large corridor connects 2 temple rooms. Exits: 'N' and 'E'.")
return True
def temple_seven(color, reset, tasks):
print(color)
if "water_container" not in tasks:
print("═══════**══*═***════╗")
print(" ║")
print(" ║")
print("═══════**══O═***════╝")
else:
print("═══════**══*═***════╗")
print(" ║")
print(" ║")
print("═══════**══*═***════╝")
print(reset, "You find yourself in a small room with some pipes and cogs")
if "water_container" not in tasks:
print(" An cog seems to be missing Exit 'S'. \n")
else:
print(" Exit 'S'")
return True
def temple_eight(color, reset, tasks):
print(color)
print("|.'', ,''.|\n"
"|.'.'', ,''.'.|\n"
"|.'.'.'', ,''.'.'.|\n"
"|.'.'.'.'', ,''.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|,',',',',| |,','.',',|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.',' /---------\\ ','.'.'.'.|\n"
"|.'.'.',' /-----------\\ ','.'.'.|\n"
"|.'.',' /-------------\\ ','.'.|\n"
"|.',' /---------------\\ ','.|\n"
"|;____________/-----------------\\____________;|\n")
print(reset, "A large corridor connects 2 temple rooms. Exits: 'E' and 'W'.")
return True
def temple_nine(color, reset, tasks):
print(color)
print("|.'', ,''.|\n"
"|.'.'', ,''.'.|\n"
"|.'.'.'', ,''.'.'.|\n"
"|.'.'.'.'', ,''.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|,',',',',| |,','.',',|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.'.| |.'.'.'.'.|\n"
"|.'.'.'.',' /---------\\ ','.'.'.'.|\n"
"|.'.'.',' /-----------\\ ','.'.'.|\n"
"|.'.',' /-------------\\ ','.'.|\n"
"|.',' /---------------\\ ','.|\n"
"|;____________/-----------------\\____________;|\n")
print(reset, "A large corridor connects 2 temple rooms. Exits: 'N' and 'W'.")
return True
def temple_ten(color, reset, tasks):
print(color)
print(" ______\n"
" ,-' : : `-.\n"
" ( : : : . )\n"
"| : : : : |\n"
"| . :)(: : |\n"
"| (OO) |\n"
"| : :;: (o) |\n"
"| : : : |\n"
"I : : : : |\n"
"| : : : : |\n"
"| : : : : |\n"
"|____.----.____|\n")
print(reset, " In front of you is a large metal door. Exit 'S'.")
return True
def ending(color, reset, tasks):
print(color)
print(" _______________\n"
"( )\n"
"( )\n"
"| |\n"
"| |\n"
"| |\n"
"| |\n"
"| |\n"
"I |\n"
"| |\n"
"| |\n"
"| |\n")
print(reset, "The door opens and you exit back into the forest")
print(" To be continued in part 5.")
print(" Score, inventory and spells saved. You can use the save,json file to")
print(" import the score into the third part of the game.")
print(" Press enter to exit.")
return False
def main():
print()
# variables
loop = True
room = 'title'
info = ""
game_score = 0
name = ""
direction = "n"
# Colors
color = ''
green = '\033[32m'
yellow = '\033[33m'
blue = '\033[34m'
red = '\033[31m'
gray = '\033[90m'
reset = '\033[m'
search_counter = 0
inventory = []
tasks = []
spells = {
"ao": "open",
"xyzzy": "teleport",
"mo": 'summon magic item'
}
rooms = {
"t1": temple_one,
"t2": temple_two,
"t3": temple_three,
"t4": temple_four,
"t5": temple_five,
"t6": temple_six,
"t7": temple_seven,
"t8": temple_eight,
"t9": temple_nine,
"t10": temple_ten,
"end": ending,
}
colors = {
"t1": gray,
"t2": blue,
"t3": gray,
"t4": blue,
"t5": blue,
"t6": blue,
"t7": red,
"t8": blue,
"t9": blue,
"t10": red,
"end": red,
}
move_south = {
"t10": "t9",
"t7": "t6",
"t4": "t3",
"t3": "t2",
"t2": "t1",
}
move_north = {
"t1": "t2",
"t2": "t3",
"t3": "t4",
"t6": "t7",
"t9": "t10",
}
move_west = {
"t3": "t5",
"t5": "t6",
"t8": "t3",
"t9": "t8",
}
move_east = {
"t3": "t8",
"t8": "t9",
"t6": "t5",
"t5": "t3",
}
no_action_rooms = [
'exit',
'title',
'end',
]
# Try to load save data from precious part
if os.path.exists('ms3.json'):
with open('ms3.json', 'r') as sv:
loaded_data = json.load(sv)
game_score = loaded_data['game_score']
name = loaded_data['name']
for item in loaded_data['inventory']:
inventory.append(item);
info = " Import successful"
# Main game loop
while loop:
print()
if room == 'title':
name = title(name)
print("*" * 60)
print(f" Name: {name}", end="")
space = 45 - len(name)
print(" " * space, end="")
print(f"Score: {game_score}")
if room in rooms:
loop = rooms[room](color, reset, tasks)
if room not in no_action_rooms:
print(green)
if direction == "n":
print(" ⣿⣿⣿N⣿⣿⣿")
print(" ⣿W + E⣿")
print(" ⣿⣿⣿S⣿⣿⣿")
if direction == "s":
print(" ⣿⣿⣿S⣿⣿⣿")
print(" ⣿E + W⣿")
print(" ⣿⣿⣿N⣿⣿⣿")
if direction == "e":
print(" ⣿⣿⣿E⣿⣿⣿")
print(" ⣿N + S⣿")
print(" ⣿⣿⣿W⣿⣿⣿")
if direction == "w":
print(" ⣿⣿⣿W⣿⣿⣿")
print(" ⣿S + N⣿")
print(" ⣿⣿⣿E⣿⣿⣿")
print(reset)
print(" Enter the letters corresponding exits to go there")
print(" Enter 'F: Search', 'I: Inventory', 'M: Magic Spells'")
# Display Text and input prompt
print(yellow + info + reset)
info = ""
print("*" * 60)
command = input(" Command: ")
command = command.lower()
if command == "0":
loop = False
if command == "1" and room == "title":
room = "t1"
# Search area actions
if command == "f":
info = " You searched the area but found nothing"
if room == 't1':
if search_counter == 0:
info = " The the second pillar in the third colun is Marked with an 'O' Symbol"
search_counter += 1
if "O" not in tasks:
print("here")
tasks.append("O")
game_score += 1
else:
if "cog" not in tasks:
info = " You see something on top of the columns but you have no way of reaching it."
search_counter = 0
if "top_pillar" not in tasks:
tasks.append('top_pillar')
game_score += 1
if room == 't3':
print("Which tile do want to check")
tile = input("Enter Column and row (1x1): ")
if tile == "2x3" or tile == "2 x 3":
if "levitation_spell" not in tasks:
info = "There is a locked chest hidden under the tile"
if "hidden_chest" not in tasks:
tasks.append("hidden_chest")
game_score += 2
if room == "t4":
info = " The Cup is empty, some pipes hang above it."
if "water_container" in tasks:
if "Large_Key" not in tasks:
info = " You found a Large Key floating in the water filled Altar. " \
"\n It must have fallen through the water pipes. You grab it "\
"\n before the water drains from the cup."
inventory.append("Large_Key")
tasks.append("Large_Key")
game_score += 2
if room == 't6':
info = " You see a trap door on the floor with no way of opening it."
if "trap_door" not in tasks:
tasks.append("trap_door")
game_score += 1
if room == 't10':
info = " There is a large keyhole in the door"
if "checked_keyhole" not in tasks:
tasks.append("checked_keyhole")
game_score += 1
# inventory items commands
if command == 'i':
print("*" * 60)
print(" Inventory: ")
print(red, inventory, reset)
print("\n Enter the name of the inventory item you want to use")
if command == "key":
info = " What key?"
if "key" in inventory:
info = " You cannot use the key here"
if room == 't3':
if "hidden_chest" in tasks:
if "omm" not in spells:
info += "\n You unlock the chest and find a scroll it reads:"
info += "\n ██ ██ ▓█"
info += "\n ██ ██ █▓"
spells["oom"] = "Levitate"
game_score += 3
inventory.remove("key")
tasks.append("levitation_spell")
if room == 't10':
info = " The key does not fit into the door key hole it is to small."
if command == "cog":
info = " What cog"
if "cog" in inventory:
info = " You cannot use the cog here"
if room == 't7':
info = "You hear water filling a container"
if "water_container" not in tasks:
inventory.remove("cog")
tasks.append("water_container")
game_score += 2
if command == "large_key" or command == "large key":
info = " What large key?"
if "Large_Key" in inventory:
info = " You cannot use the key here"
if room == 't10':
info = " You open the big metal door and exit the temple"
inventory.remove("Large_Key")
game_score += 5
data_to_save = {
"name": name,
"game_score": game_score,
"inventory": inventory
}
with open('ms4.json', 'w') as sv:
json.dump(data_to_save, sv)
room = "end"
if command == "coin":
info = " What coin?"
if "coin" in inventory:
info = " You cannot use the coin here"
# Movements
if command == 's':
if room in move_south:
room = move_south[room]
direction = 's'
elif command == 'n':
if room in move_north:
room = move_north[room]
direction = 'n'
elif command == 'e':
if room in move_east:
room = move_east[room]
direction = 'e'
elif command == 'w':
if room in move_west:
room = move_west[room]
direction = 'w'
#Magic commands
if command == "m":
print(yellow)
print(spells)
print("\n Enter a spell name to use it")
print(reset)
if command == "ao":
if room == "t6":
if "key" not in tasks:
info = " The trap door opens and you find a small key"
inventory.append("key")
tasks.append("key")
game_score += 3
else:
info = " The trap door opens you find nothing"
else:
info = " Nothing happens"
if command == "mo":
info = " Nothing happens"
if command == "oom" and "oom" in spells:
if room == "t1":
info = " You begin to levitate and find a cog on one of the pillars"
if "cog" not in tasks:
tasks.append("cog")
inventory.append("cog")
game_score += 2
else:
info = " You begin to levitate but find nothing interesting up in the air"
if command == "xyzzy":
info = " You hear a loud noise and strange symbols appear in the air\n █ ██ ██\n ██ ▓▓ ██ ██ ▓▓\n" \
" You have teleported."
room = "t4"
if room in colors:
color = colors[room]
main()
TOP 10
Top 10 indie games of all time based on votes Bside gaming community.
Note: Downvotes are ignored and only games that are directly linked to the community, links to game reviews or news on another site are not counted.
Dinoblade is an intense action RPG set in a prehistoric world forever changed by a cataclysmic event. Step into the role of a young Spinosaurus, wielding a colossal Great Sword. Confront rival dinosaurs, some armed with weapons of their own, all in a desperate fight to prevent a looming extinction.
Explore a dense, interconnected labyrinth, and unravel its many secrets. Collect items to manipulate your environment in surprising and meaningful ways. Encounter beautiful and unsettling creatures, as you attempt to survive what lurks in the dark. There is more than what you see.
Tiny Glade is a small diorama builder where you doodle whimsical castles, cozy cottages & romantic ruins. Explore gridless building chemistry as the game adorns your glades with procedural detail. No management, combat or goals: just kick back and turn forgotten meadows into lovable dioramas.
A dark fantasy city builder where you must rebuild civilization in the face of apocalyptic rains. As the Queen’s Viceroy, lead humans, beavers, lizards, foxes, and harpies to reclaim the wilderness and secure a future for civilization’s last survivors.
Explore a land filled with lost legends, ancient powers, and ferocious monsters in TUNIC, an isometric action game about a small fox on a big adventure.
Brace yourself for a wild ride where music meets mayhem! Look Mum No Computertakes you to the quirky, pixel-art universe of Soldersworth in this twin-stick shooter action-RPG. Join Sam and his synthesizer sidekick, Kosmo, as you battle rogue machines and fix them from the inside — one electrifying beat at a time!
CARRION is a reverse horror game in which you assume the role of an amorphous creature of unknown origins, stalking and consuming those that imprisoned you.
A series of murders is shocking Hollywood! Use your detective skills: search the crime scene, find clues, solve the mystery. Who is pulling the strings behind these Confidential Killings?
A series of murders is shocking Hollywood! Use your detective skills: search the crime scene, find clues, solve the mystery. Who is pulling the strings behind these Confidential Killings?
RIG Riot is a roguelike third-person mech-action shooter. Fight increasingly difficult enemies while completing objectives, level up, and choose the Weapons and Volatile Mods that will let you return from your raids victorious. Discover thousands of permanent parts, and build a RIG unlike any other.
For indie game devs, though, where success calls for clever ideas and endless labor on platforms that prioritize constant publicity and engagement, vibe-coded knockoffs and pre-emptive clones are a more alarming threat.
Pony Island is a suspense puzzle game in disguise. You are in limbo, trapped in a malevolent and malfunctioning arcade machine devised by the devil himself. It is not a game about ponies.
Celebrating the 40th anniversary of the Transformers' first big screen adventure, it's time for a video that's beyond good, beyond evil, beyond your wildest ...
Silver Pines is a survival horror metroidvania set in small town America. Fight nightmarish terrors and solve puzzles, while carefully managing your scarce resources as you uncover the mysteries that could hold the key to redemption.