Thank you for the update! Outdated graphics driver could be on my end. In which case, congratulations on your first bug-report-that's-actually-the-user's-fault! It's a big milestone in game dev, I've heard.
nervous sweating
Kaiju Cuddlebug
Creator of
Recent community posts
repeatedly crashes on launch 😢
Error given in game window:
While running game code:
File "renpy/common/00start.rpy", line 275, in script
python:
File "renpy/common/00start.rpy", line 275, in script
python:
File "renpy/common/00start.rpy", line 1621, in <module>
Exception: Could not set video mode.
The game exited unexpectedly.
More information may be available in the browser console or contained in the log.
log.txt:
Fri Feb 23 12:03:03 2024 Emscripten-3.1.24-wasm32-32bit Ren'Py 8.1.3.23091805 Bootstrap to the start of init.init. took 0.00s Early init. took 0.02s Loader init. took 0.04s Loading error handling. took 0.34s Loading script... Loading script. took 6.25s Loading save slot metadata. took 0.06s Loading persistent. took 0.01s Failed to initialize steam: ModuleNotFoundError("No module named '_ctypes'") Set script version to: (8, 1, 3) Running init code. took 0.13s Loading analysis data. took 0.04s Analyze and compile ATL. took 0.01s Reloading save slot metadata. took 0.03s Index archives took 0.01s Dump and make backups. took 0.01s Cleaning cache. took 0.00s Making clean stores. took 0.00s Initial gc. took 0.04s DPI scale factor: 1.000000 Creating interface object. took 0.01s Cleaning stores took 0.00s Init translation took 0.10s Build styles took 0.02s Load screen analysis took 0.01s Analyze screens took 0.03s Save screen analysis took 0.03s Prepare screens took 0.19s Save pyanalysis. took 0.00s Save bytecode. took 0.08s Running _start took 0.01s Interface start. took 0.07s Initializing gles2 renderer: primary display bounds: (0, 0, 1920, 1080) swap interval: 1 frames Windowed mode. Could not get pygame screen: error('Could not create EGL context (call to eglCreateContext failed, reporting an error of EGL_BAD_MATCH)') Initializing gles renderer: primary display bounds: (0, 0, 1920, 1080) swap interval: 1 frames Windowed mode. Could not get pygame screen: error('Could not create EGL context (call to eglCreateContext failed, reporting an error of EGL_BAD_MATCH)') Full traceback: File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script python hide: File "/renpy/ast.py", line 1138, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "/renpy/python.py", line 1122, in py_exec_bytecode exec(bytecode, globals, locals) File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module> python hide: File "renpy/common/_layout/screen_main_menu.rpym", line 1616, in _execute_python_hide File "/renpy/ui.py", line 299, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "/renpy/display/core.py", line 3539, in interact self.start() File "/renpy/display/core.py", line 2431, in start self.set_mode() File "/renpy/display/core.py", line 2765, in set_mode raise Exception("Could not set video mode.") Exception: Could not set video mode. While running game code: Exception: Could not set video mode. Full traceback: File "renpy/common/00start.rpy", line 275, in script python: File "/renpy/ast.py", line 1138, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "/renpy/python.py", line 1122, in py_exec_bytecode exec(bytecode, globals, locals) File "renpy/common/00start.rpy", line 1621, in <module> File "/renpy/game.py", line 349, in call_in_new_context return renpy.execution.run_context(False) File "/renpy/execution.py", line 955, in run_context context.run() File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script python hide: File "/home/tom/ab/renpy-build-fix/tmp/install.web-wasm/lib/python3.11/site-packages/future/utils/__init__.py", line 444, in raise_ File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script python hide: File "/renpy/ast.py", line 1138, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "/renpy/python.py", line 1122, in py_exec_bytecode exec(bytecode, globals, locals) File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module> python hide: File "renpy/common/_layout/screen_main_menu.rpym", line 1616, in _execute_python_hide File "/renpy/ui.py", line 299, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "/renpy/display/core.py", line 3539, in interact self.start() File "/renpy/display/core.py", line 2431, in start self.set_mode() File "/renpy/display/core.py", line 2765, in set_mode raise Exception("Could not set video mode.") Exception: Could not set video mode. While running game code: File "renpy/common/00start.rpy", line 275, in script python: File "renpy/common/00start.rpy", line 1621, in <module> Exception: Could not set video mode. Full traceback: File "/renpy/bootstrap.py", line 275, in bootstrap renpy.main.main() File "/renpy/main.py", line 670, in main run(restart) File "/renpy/main.py", line 144, in run renpy.execution.run_context(True) File "/renpy/execution.py", line 955, in run_context context.run() File "renpy/common/00start.rpy", line 275, in script python: File "/home/tom/ab/renpy-build-fix/tmp/install.web-wasm/lib/python3.11/site-packages/future/utils/__init__.py", line 444, in raise_ File "renpy/common/00start.rpy", line 275, in script python: File "/renpy/ast.py", line 1138, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "/renpy/python.py", line 1122, in py_exec_bytecode exec(bytecode, globals, locals) File "renpy/common/00start.rpy", line 1621, in <module> File "/renpy/game.py", line 349, in call_in_new_context return renpy.execution.run_context(False) File "/renpy/execution.py", line 955, in run_context context.run() File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script python hide: File "/home/tom/ab/renpy-build-fix/tmp/install.web-wasm/lib/python3.11/site-packages/future/utils/__init__.py", line 444, in raise_ File "renpy/common/_layout/screen_main_menu.rpym", line 28, in script python hide: File "/renpy/ast.py", line 1138, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "/renpy/python.py", line 1122, in py_exec_bytecode exec(bytecode, globals, locals) File "renpy/common/_layout/screen_main_menu.rpym", line 28, in <module> python hide: File "renpy/common/_layout/screen_main_menu.rpym", line 1616, in _execute_python_hide File "/renpy/ui.py", line 299, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "/renpy/display/core.py", line 3539, in interact self.start() File "/renpy/display/core.py", line 2431, in start self.set_mode() File "/renpy/display/core.py", line 2765, in set_mode raise Exception("Could not set video mode.") Exception: Could not set video mode. While running game code: File "renpy/common/00start.rpy", line 275, in script python: File "renpy/common/00start.rpy", line 275, in script python: File "renpy/common/00start.rpy", line 1621, in <module> Exception: Could not set video mode.
I, uh, happen to have a heartbreaker lying around that's already formatted entirely in markdown. I look back on it less as a game and more "oh, so here's all the things I was frustrated about when trapped in the D&D ecosystem". I believe the word is "cringe". But in the spirit of the jam, here's an excerpt.
(oh god the cringe)
---
# Chapter One: Core Rules
## Materials For Play
+ At least six (6) six-sided die; the more, the better
+ One (1) completed character sheet per player
+ Spare pen and paper
+ Cynicism, three (3) quarts
## The Basics
Cynic System is an all-in-one roleplaying game for two or more people and/or lizardpeople. Players take the role of fictional characters in a unique story of your own creation. You could be soldiers surviving horrors in a modern war, knights battling evil in a fantasy universe, aliens invading planets in another galaxy, stoners watching paint dry, marketers promising more than their roleplaying game can handle, or anything else you could think of. If you can think it, Cynic System can do it! Probably.
One person, designated before play, acts as **Game Master (GM)**. This special position crafts the story's setting, manages the game, and steps in as referee. They don't have a character of their own, though they can control **non-player characters (NPCs)**, or the fictional characters that the players interact with. Everyone else takes the role of a **player character (PC)**, or fictional character controlled by a player. You probably already know this if you're reading some nobody designer's rulebook, but I'm detailing the uber-basics just in case.
During play, the GM describes the scene to the players, who then describe their character's actions. The GM then describes the results of their actions. For instance:
>**Susan (GM):** "In front of you is a rickety wooden bridge, suspended with rope, crossing a deep chasm bathed in subtle moonlight."
>**Steve (Player):** "I test the bridge to see how stable it is."
>**Susan:** "How so?"
>**Steve:** "I put one foot on the bridge and try to rock it back and forth."
>**Susan:** "The bridge sways, and the wood oh-so-slightly bends under your foot."
There are no limits on what a player can attempt. However, if a PC's action requires luck or skill (remember this wording), the GM makes the player roll a six-sided die. The higher the number, the closer they get to your goal.
>**Steve:** "I'll try to cross the bridge."
>**Susan:** "Roll for it."
>**Steve:** "Uh...2? That isn't good, is it?"
>**Susan:** "No. No, it's not. You dash across the bridge as fast as possible, but the rope snaps halfway across, and you start falling into the chasm."
Because not every character has the same set of skills, each player can customize their PC with advantages and disadvantages. Advantages let you fudge the dice in your favor, while disadvantages force you to take penalties.
>**Steve:** "I grab the rope! I swing across."
>**Susan:** "Roll it."
>**Steve:** "1...but my [athletic] advantage gives me another roll!...6!"
>**Susan:** "You grab the rope as you're falling, grip it firmly, and effortlessly swing across. You now rest, feet planted against the opposite chasm wall, about twenty feet from the ledge above."
You can also gain advantages and disadvantages from your current status. Carrying a sledgehammer could let you fudge rolls to break things, but the extra weight could slow you down. And taking a bullet to the leg might slow you down.
>**Steve:** "All right, I'll use my grappling hook to get up. That'll let me roll two dice and ignore the lower roll."
>**Susan:** "Got it. Roll."
>**Steve:** "...1 and 3. So, uh, 3?"
>**Susan:** "Hmm. Not bad, but not good either. You zip up to the ledge, but you nick your arm on the hook. There's a throbbing pain, and you're now injured."
>**Steve:** "Ow."
>**Susan:** "Why didn't you take the helicopter, again?"
Cynic System is modular. That is, the GM decides ahead of time what (if any) special rules will be used. For instance, if the PCs are WWII soldiers, the GM could use a Combat Module to add depth to combat.
>**Susan:** "You hear footsteps approaching from the darkness."
>**Steve:** "I hide. What's around?"
>**Susan:** "There's some short grass and a dirt path. Nothing big enough to hide behind."
>**Steve:** "Okay, I'll dangle from the ledge."
>**Susan:** "Just to be clear, we're using Lite Stealth. I'll roll to test the enemy's perception; you'll need to roll higher then them. You're carrying yourself on the ledge, so your injury applies; you'll need to roll two dice and ignore the highest. And the enemy's aware, so they'll be rolling two dice and ignoring the lowest. Are you sure you want to-"
>**Steve:** "Yes!...2 and 1."
>**Susan:** "They got a 3 and 5. The strain on your arms forces you to groan. You can't see from your position, but you hear heavy footsteps coming closer."
>**Steve:** "I jump off and swing across the chasm with my grappling hook! ...1."
>**Susan:** "There was an attempt."
And that's the basics! There's more nuances, but if you've got some friends that know the rules, you can start playing right now!
I'm in love with microsystems myself, and so default to Roll for Shoes as a base whenever I'm creating something. It allows players to quickly develop their own skills during play according to what your character rolls well doing. It's great for lighthearted on-the-fly improv; I've welded it onto other systems in the past as the skill component.
Another personal favorite: Fate. Uses what are effectively d3s known as Fudge or Fate dice to fine-tune the curve of each roll. And the Aspects system allows great (and fast) character customizability.
Anyways, big scary dinos go rawr stomp chomp chomp but why can't you be a dino? I plan to incorporate this element, probably to the exclusion of human PCs, because humans are boring and puny and DINOS GO RAWR STOMP CHOMP. Maybe a roleplaying "remake" of The Creature That Ate Sheboygan?
I have a younger relative who's the sneaky sort, and would absolutely hide a monster from their parents purely because they can. They want to feel smarter than everyone else, and will make stuff up just to pretend they're an expert. And they always want to be the center of attention, so they'd totally invite over friends without telling anyone's parents.
What I'm trying to say is, thank you for the nightmares.