Ciro Santilli used to play video games when he was young. But after he reached 18 he got bored of them.
The problem is that no matter how you look at, the how to become famous in the real world game is just always more interesting and fulfilling.
Therefore adult Ciro enjoys only the following types of video game content in video form, so that other people waste their lives playing the games while you only see the highlights:
- speedrunning, including:
- tool-assisted speedrun, Ciro's favorite by far
- real-time attack speedrun
- meta breaking glitches, including in speedrunning and on PvP-games.
- Magic: The Gathering
- Video game reviews
The aspect Ciro enjoys about non-PvP games is atmosphere. Not as conveyed by useless story telling, but as conveyed by music and graphics, and the context deep idea. Legend of Zelda and Metroid come to mind.
And too many games commit the sins of dependency of dexterity, no save states, how do I skip this boring part, or jump straight to the beautiful one?
Another important point is; the perfect video game is an infinitely hard one.
It also doesn't help if you are already typing on a computer all day long on your job. Hands get tired. Eyes have an infinite capacity to consume useless YouTube videos however. Medically proved.
As a result, Ciro just watches videos about video games. Notably games he played when he was a teenager and already understand the rules for.
And things got even worse as after Ciro Santilli's Open Source Enlightenment, and he started to feel bad about playing any game that is not open source.
Ciro once commented that the best game is an infinitely hard one, where you can progress infinitely. To which his great friend J. replied:Or more broadly, one may argue that the perfect video game is life itself, or difficult life goals like making money, becoming famous or changing the world.
Fine, so the perfect game for you is mathematics. Stage one: prove the Riemann hypothesis!
Thinking about it, "infinitely hard" is perhaps not a very precise term, as it could be interpreted as impossible. And if you have mathematical proof that something is impossible, it would be "pointless" to try, trying would be equivalent to pure meditation.
Maybe a better way to put it would be in terms of a difficulty curve. Real life also involves a lot of waiting, either for some experiment to finish running, of for you mental energy to restore a bit.
But so be it, you get the idea.
But this is basically what Ciro feels on every video game. It happens too often on PVE games that things are is either:
- too slow and easy (Ciro would rather skip those with saves made by other)
- or too fast hard, Ciro would rather tool-assisted speedrun those parts
Not to mention the incredible breach of suspension of disbelief of most PvE games where enemies are unbelievably stupid. E.g., why doesn't Bowser just build one fucking wall 15 tiles high to prevent Mario from coming through to his castle? And then put a gate and a hundred guards in front of it? TODO there was a YouTube video of this, I think it was Toad pointing it out to Mario that it is quite weird that Bowser is so stupid, it almost feels like he wants to be beaten.
TODO there was one which was relly good, can't find it anymore. One day.
This is true. The level of competition in university entry exams in Asia in insane in the early 21st century compared to the West.
This is actually both good and bad. Good because it selects some very good exam passers. And bad because it selects some very good exam passers.
This is a list of video games that are good to watch other people playing, even if you don't play yourself. And often they are better to watch than to play as you don't have to waste your time as much!
A meta breaking glitch of a video game is a glitch that when discovered significantly breaks the meta.
In non-video game-game, it does sometimes happen that a meta is broken as well, but these events tend to be rarer and less dramatic than meta-breaking due to computer program glitches.
In PvP games, those glitches are generally forbidden by existing rules, and quickly patched after discovered.
In speedrunning however, they are either incorporated in the existing strategy, or may lead to the creation of a new run category for particularly significant glitches.
A non-tool-assisted speedrun.
Ciro Santilli views humans as biological robots, and therefore RTA videos can be thought of as probabilistic TAS with human achievable reflex constraints.
This aspect is especially highlighted in "speed run record evolution videos", which can be quite fun, e.g. www.youtube.com/watch?v=pmS9e7kzgS4 Ocarina of Time - World Record History and Progression (Any% Speedrun, 1990s-2017) by retro (2017)
From a similar point of view, Ciro also sometimes watches/learns a bit about competitive PvP games from a "could a computer play this better than a human" point of view.
Ciro also likes to watch commented manual speedruns of games as a way of experiencing the game at a high level without spending too much time on it, often from Games Done Quick. Their format is good because it generally showcases one player focusing more on the gameplay, and three couch commentators to give context, that's a good setup.
It is a
To some extent, the ultimate achievement of a TAS is to achieve arbitrary code execution (ACE) on a game, although this has been becoming rarer and rarer in newer consoles. The Nintendo 64 is the current interesting ACE discovery frontier as of 2020.
Post ACE, you then get into more subtle categories which tend to be more geometric clipping through wall glitches, but those can still be fun.
The most beautiful TAS content ever made are:
- Super Mario 64
- Super Mario 64 A press challenge
- 1-key any percent run:
- 2016 emulator run: www.youtube.com/watch?v=TkOkJvLKxUY
- AGDQ 2018 commented TASBOT console verification: www.youtube.com/watch?v=xvWOLT9G6tM
- Why we need one key: gaming.stackexchange.com/questions/249969/in-mario-64-speedruns-why-are-the-keys-necessary/351595#351595
- related: Super Mario 64 reverse engineering project
- Super Mario World for the SNES arbitrary code execution
- www.youtube.com/watch?v=OPcV9uIY5i4 with in-game programmed Pong and Snake, 2014
- www.youtube.com/watch?v=HxFh1CJOrTU Seth Bling does the credit warp manually in about 3 minutes, 2015. Later reduced to less than 1 minute: www.youtube.com/watch?v=Jf9i7MjViCE
- www.youtube.com/watch?v=voL3e0iqugo ACE was initially not forbidden in 11 exit rules, so Seth made an in-game manual ACE that programs an in-game accessible "exit stage now" functionality!!! This was later forbidden of course, but it was fun while it lasted.
- then he injected a Flappy Bird clone manually!!! www.youtube.com/watch?v=hB6eY73sLV0, 2016
- Ocarina of Time
- 2020 ACE via use after free including a non-TAS credit warp faster than the 2016 wrong glitch: www.polygon.com/2020/1/24/21080568/zelda-ocarina-of-time-arwing-spawn-video-speedrun-credits-ace-cheat-code ACE later reproduced in Majora's Mask, which has a similar game engine.
- 2016 Zelda Ocarina of Time wrong warp glitch:
- www.youtube.com/watch?v=uCO0jU66g3g 2016 video
- www.youtube.com/watch?v=Gso4MuNSuV8 EZScape explains the glitch, 2016
- Zelda Majora's Mask debug menu
- www.youtube.com/watch?v=2wdchm5Uwp4&t=2086s first video
- www.youtube.com/watch?v=CCubcEgnD6A overview
It is also amusing to see console verification of emulations, e.g.: Video 1. "Super Mario 64 '120 Stars' in 1:20:41.52 Console Verified by Soul Umbreon (2012)".
Ciro Santilli's TODO there:
- robotics simulation with control theory focus, and in particular with a model of uncertainty of measurements and commands. For example, imagine making a robot that plays golf, with the terrain fully known. And it is harder as you cannot control the arm with 100% precision.
Lists:
- trilarion.github.io/opensourcegames/
- www.slant.co/topics/1933/~best-open-source-games
- libregamewiki.org/Main_Page
- www.reddit.com/r/opensourcegames/comments/197luuk/what_is_the_best_open_source_game_in_your_opinion/
- www.pcgamer.com/yall-know-about-these-huge-lists-of-free-open-source-game-clones-right/ is a list of lists
Why would anyone ever waste time playing a closed source game, when this will inevitably lead to endless hours of decompilation down the line when you want to:
- fully understand how the game works, notably to help with TASsing
- improve the game's flaws as devs drop support (or lose source code and have to late reverse-engineer their own fucking game?) :-)
Those who devote their time to the useless development of open source video games, before we even have decent open source development tooling, will, without a doubt, have their place in Heaven.
- tower defense
- www.edopedia.com/demo/pixeldefense possible source github.com/jesseakt/PixelDefense 2020-03 desperately lacks a fast forward button and enemy health bars
- platformer
- 2D platformer
- teeworlds: does not run on Ubuntu 21.10,
X Error of failed request: BadValue
- teeworlds: does not run on Ubuntu 21.10,
- 3D platformer
- 2D platformer
- OpenClonk: Terraria-like 2D mining crafting game. Pretty well done. Not sure if you can have a super huge open world. The fact that the music stops completely so often is a bit saddening.
- Pingus: Lemmings clone. Very good!
- github.com/The-Powder-Toy/The-Powder-Toy: en.wikipedia.org/wiki/Falling-sand_game in C++. No Ubuntu 19.10 package it seems, but was easy to compile from source.
- roguelike
- Worms clone
- Hedgewars
- pokemon clone:
- Tuxemon. Worked on Ubuntu 21.10. 20ea4181e1c0db04934ee69951ea1836a3b1f642
- ARPG
- Diablo II clones:v1.12 download Worked well on Ubuntu 21.10.
- github.com/flareteam/flare-game game engine
- flarerpg.org/mods/flare-empyrean/ game made with the engine
- The Mana World: www.themanaworld.org/ Started somewhat as a loose The Secret of Mana clone, but they've added online play capabilities, effectively making it a MMORPG.Their user acquisition as of 2021 is really bad. Download is a wiki page, there are two client versions, etc. The .deb did not work out o box on Ubuntu 21.10 due to unmet dependencies:fails with:
sudo apt install ./manaplus_amd64.deb
so it won't be able to play without trying to compile and possibly minor ports since the deb does not packs dependencies. Some requests for a release with all dependencies prepacked:Their home page says it all:manaplus : Depends: libpng12-0 (>= 1.2.13-4) but it is not installable Depends: libsdl-gfx1.2-4 (>= 2.0.22) but it is not installable Depends: manaplus-data (= 1.6.4.23-2) but 1.9.3.23-6 is to be installed
Sad.Server status: Online: 9 players
- Diablo II clones:
- Factorio clones:
- github.com/tobspr/shapez.io Also browser based.
YouTube review channels:
This is a really good project. So fun to play around with. Low level IO part only like drawing to screen and handling keyboard inputs.
Ciro Santilli has:
- a few answers on Stack Overflow: stackoverflow.com/search?tab=votes&q=user%3a895245%20%5bsdl%5d
- a small cheatsheet on: github.com/cirosantilli/cpp-cheat/tree/09cb7c9fc1ee4a8bee421f12d0596b81cfd836bd/sdl
This is a good project. Limited scope to 2D card-like games, but very good within that scope.
Ciro Santilli used it for the 2D version of his Ciro's 2D reinforcement learning games.
One of the main children cartoons Ciro Santilli liked to watch. Part of the Pokemon Mania of the 90s of course.
Ciro could not understand why Nintendo won't make a proper 3D MMORPG Pokemon with actually 3D Pokemon roaming the land, which is obviously what everyone wants. There are even fan games getting there!until this explaiend it beautifully Video 1. "The Downfall Of Mainline Pokemon Games by GONZ media (2020)":
- pokemon-mmo-3d.com Interesting concept here, where when you deploy a Pokemon, you start controlling the Pokemon rather than the main character
- www.quora.com/Why-won-t-Nintendo-make-an-open-world-3D-Pokémon-RPG/answer/Ciro-Santilli
- Pokemon became an industrialized yearly game spitting machine, and therefore any new feature is just extra risk
- Pokemon was kept mostly as a handheld exclusive to sell handlhelds, with a few early exceptions such as Pokemon Snap
.
This game was mind blowing to Ciro Santilli and all kids. It felt so real. The perfect contrast between peaceful town work and saving the world. OMG.
Commented and labelled disassembly: gist.github.com/1wErt3r/4048722
Decompilation project: github.com/MitchellSternke/SuperMarioBros-C. That project does not produce the ROM however, it reimplements an emulator + game in a single binary.
OMG, the second half of the game where the world becomes quite open and all backstories are revealed, is one of the best gaming moments ever.
This is the one that hit Ciro Santilli the hardest, coming in at the point in which he started to discern between games and the real world a little better. His parents bought it for him during a trip to Disney World in Florida in 1996 (?), since electronics were much cheaper in the USA.
So as Ciro became older, and turned into a software engineer, he started to become more and more morbidly curious about "N64 internals": tool-assisted speedrun, how the devkit looks like, how games were developed for it, hardware leaks, etc.
Luckily Ciro's mind is not interested enough by that useless shit for Ciro to seriously study it himself. But that's what YouTube is for, right? Why do useless stuff when other more useless people can do it for you?
The console has only 4 MB of RAM memory. It is quite incredible what can be done with 8 MB, from the point of view of a 2020 worls where 16 GB laptops are the norm.
Ah, Ciro Santilli loved this one... games young Ciro Santilli played.
And as a result, adult Ciro really enjoys tool-assisted speedruns of the game.
It is interesting how the Etyptian level, Shifting Sand Land, clearly has Indian classical music, with sitar, tanpura and tabla:Apparenty we don't know what Egyptian music would have sounded like exactly.
No-A press 120 stars tool-assisted speedrun attempts by Pannenkoek:
OMG, both of those just fucking work on Ubuntu 20.04 with README instructions, it is unbelievable, those people don't have lives. And it builds the ROM byte by byte equal from source!
There are a few different versions:
- github.com/n64decomp/sm64 for emulator (i.e. or real hardware), tested at 9214dddabcce4723d9b6cda2ebccbac209f6447d
- github.com/sm64-port/sm64-port Ubuntu native, tested at 6b47859f757a40096fedd6237f2bc3573d0bc2a4Full screen with F10.
- github.com/sm64pc/sm64ex: fork of sm64-port, untested by Ciro Santilli, but more new amazing usability features, notably:
--skip-intro
: skips the annoying pipe intro and the need to wait for Lakitu to bring Peaches message!- in-game menu:
- cheats:
- hide HUD!
- no level selection yet, but a matter of time?
Also reported to work on ARM: www.reddit.com/r/linux/comments/ityg6w/pinephone_playing_super_mario_64_30fps/They also ported to browser with Emscripten: github.com/sm64pc/sm64ex/wiki/Compiling-for-the-web
Tested with the USA ROM at sha1sum 9bef1128717f958171a4afac3ed78ee2bb4e86ce (you need a ROM to extract assets, which the project automates), which is also documented in the project itself: github.com/sm64-port/sm64-port/blob/6b47859f757a40096fedd6237f2bc3573d0bc2a4/sm64.us.sha1. Disclaimer: Ciro Santilli owns a copy of Super Mario 64.
The only dependency missing from Ubuntu packages is the IRIX QEMU user mode which they need for their tooling. The project also has a QEMU fork for that, and provide a working deb.
From this project it was also noticed that certain ROM releases were not compiled with optimizations enabled, presumably because as a release title the compiler had optimization bugs! www.resetera.com/threads/so-apparently-the-ntsc-build-of-mario-64-didnt-use-any-compiler-optimizations.166277/ But now they do have a working compiler, and by turning that switch FPS increases in certain levels!!!
It is good to know that this game will "never die".
Some quick stupid patches:
- jump really high:
diff --git a/src/game/mario.c b/src/game/mario.c index 5b103fa..83c9f40 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -826,7 +826,7 @@ static u32 set_mario_action_airborne(struct MarioState *m, u32 action, u32 actio case ACT_JUMP: case ACT_HOLD_JUMP: m->marioObj->header.gfx.unk38.animID = -1; - set_mario_y_vel_based_on_fspeed(m, 42.0f, 0.25f); + set_mario_y_vel_based_on_fspeed(m, 200.0f, 0.25f); m->forwardVel *= 0.8f; break;
Interesting entry points:
src/game/game_init.c
TODO: enable the level select debug feature! tcrf.net/Super_Mario_64_(Nintendo_64)/Debug_Content#Classic_Debug_Display They actually shipped quite a few debug features into the retail game, and they have been reversed too. I tried this but it didn't work (or I don't know how to enable the level select menu):
diff --git a/src/game/main.c b/src/game/main.c
index 9e53e50..b7443a8 100644
--- a/src/game/main.c
+++ b/src/game/main.c
@@ -65,7 +65,7 @@ s8 sAudioEnabled = 1;
u32 sNumVblanks = 0;
s8 gResetTimer = 0;
s8 D_8032C648 = 0;
-s8 gDebugLevelSelect = 0;
+s8 gDebugLevelSelect = 1;
s8 D_8032C650 = 0;
s8 gShowProfiler = FALSE;
The
enhancements/
folder contains a few sample patches.Some tutorials of hacking it:
- www.youtube.com/watch?v=Jkb7Naczoww SM64 Decomp Tutorial 1: Setting Up and First Code Changes by Bitlytic (2021)
- www.youtube.com/watch?v=IuIpqX4neWg Rovert Decomp Tech Demo by Rovert (2019) Metal cap makes Mario huge.
- www.youtube.com/watch?v=5aG1Iyjo20w Is it Possible to Beat Super Mario 64 as Tiny Mario? (Mini Mario Challenge) coverts the obvious make Mario huge/tiny hack. Huge mario verion: www.youtube.com/watch?v=pR_gol6zlIo. There was a pre-decompilation ROM hack doing that trivial change already: Tiny Huge Mario 64. Sample tool-assisted speedrun: www.youtube.com/watch?v=C7BjzZ_Nkk0
Ciro Santilli really liked the battle mode on this.
It is a shame, but this game just doesn't feel good. The controls are just not as snappy as Mario Kart 64, the levels are too wide which limits player interaction, and the weapons feel clumsy weak and unexciting. These are all aspects that the closed source smashkarts.io gets pretty well.
Quite good, Ciro Santilli played this a lot in 2021/2022, his user ID: ofo5fNy7wRNC1Cw94YVB4KMOW5f2.
The physics not as good as the original Mario Kart 64, and it is notably missing jump gliding, and generally not as sharp! But it is really not bad.
Some of the weapons were too useless that you are just better firing them straight away at wall immediately to get something better, they could have a little better balancing there. I'm talking about you gatling that takes 10 seconds to finish firing, and does not kill enemies immediately. You are better off just firing that gun immediately when you get it to be able to get another gun ASAP. They seem to have done some balancing there however.
It had no chat option, but in a way it was cool to be forced to communicate non-verbally with people whose usernames you got familiar with. Funny you can love people like that, without ever talking to them. The best way of doing so being tea-bagging by going back and forth on a player after winning.
Performance was sometimes a problem. When Ciro tried it again on December 2022, it was unplayable due to the impossibly large lag. Tiings were much better again in 2023 however it seems.
This game (1 or 2, can't remember) made an impression on Ciro Santilli for some reason.
Only many many years after playing it, after Ciro started getting more interested, did he learn that it was actually an adaptation of the Chinese mega-classic Water Margin.
"Suikoden" is the actual Japenese transliteration for the Chinese name of the original Water Margin novel.
Yet another case of Chinese thing better known in the West as Japanese.
The game puts great emphasis on the concept of the 108 Stars of Destiny, which never left Ciro's mind: making 108 allies, the main collectible of the game, allows you to make a more powerful alliance, and unlock better endings.
A discrete 2D game on a rectangular grid: towardsdatascience.com/reinforcement-learning-implement-grid-world-from-scratch-c5963765ebff
This is analogous to many traditional board games such as Chess, the concept is very natural and maps well into computer.
The downsides of gridworld games are:
- it is hard to model speed in discrete worlds. When you 10x faster, when do you collide with something else that is also crossing your path?
- they tend to not use vector representations of objects. So to have an object be 10x longer than another one, the naive implementation has to add 10 smaller objects. This becomes untenable as the number of objects increases.
Although Ciro Santilli is a big fan of plaintext files and of Vim, not so for games. Games must be easy to understand since they are just a toy.
Tilesets to the rescue!
There is great beauty here. Great beauty.
There's a beauty in the portability of browser games.
The fact that the browser is not the main gaming platform as of 2020 shows how crappy web tech is. There is no fundamental reason why it shouldn't be so.
Who needs a hackable general purpose computer, when you can buy a completely locked down computer that only runs useless programs for which you have to pay thousands of dollars to develop for, cannot run a large percentage of major titles from competitor hardware due to business deals (see also) and will inevitably reach planned obsolescence in 4 years?
By company:
Some that Ciro Santilli likes:
He's good. Sometimes a bit repetitive, but generally pretty good.
Only the "original" videos matter. After those it became crap.
www.youtube.com/watch?v=h6DtVHqyYts Big Rigs: Over the Road Racing (PC) (2014) is perhaps his best video.
Reviews mostly old RPG and strategy games. And hentai games when it is possible to hide the porn from YouTube. He also sponsors Hentai and uploads it on his website: www.ssethtzeentach.com/nsfw
Ciro Santilli really likes his sense of humor, always going into "politically incorrect" areas, and often making fun of both dictatorships and the USA. He actually knows a bit about politics. Due to the nature of his humour, many of his earlier videos have been taken down from YouTube apparently, www.ssethtzeentach.com/videos mentions:
Ever since going full time, I'm usually very clean and stay out of trouble, but in the past a fair number of my videos were taken down.
The videos are also incredibly packed full of well selected edited-in "memes jokes". He particularly likes very short snippets of gay porn which cannot actually be taken down as porn, even though the obviously are porn excerpts, like the buffed dude blowing a kiss to his tit.
www.youtube.com/watch?v=sw8v5__Ytf4 Heroes of Might and Magic III (2018) is one of the best reviews. Sseth likes to find and make fun of game breaking imbalances, something that Ciro likes due to his Ciro Santilli's self perceived creative personality.
www.youtube.com/watch?v=rOJdDvf-tUs The Sseth Streaming Experience (2019), being a live stream, likely shows more realistically how Seth actually talks in real life.
www.youtube.com/watch?v=yG9g2byXR2c Might and Magic VI (Re)Review is another good video (2021)
Sseth has a certain vaporwave aesthetic, which Ciro also enjoys.
knowyourmeme.com/memes/people/ssethtzeentach gives his profile image from: www.aljazeera.com/features/2012/7/30/the-two-most-loyal-soldiers-in-the-dr-congo
youtu.be/se6Y2o3OqJQ?t=2 shows what could actually be outside of his real window.
Ciro Santilli's favorites are:He used to also play some first-person shooters as they can be fun to empty your brain.
gobattle.io/#! 2D top down dungeon crawler/brawler, controls feel good.
A recreational computer simulation!
Conveyor belt 2D top down mining like Factorio, but with more emphasis on tower defense/real-time strategy, PvP looks a lot like StarCraft or Age of Empires.
As of pre alpha 135, the most annoying thing is that you can't easily start a campaign scenario from fresh, if you lose you have to start from wave 1 but with everything already half built as you left it. This gives you a huge advantage...
It is also annoying that you have to manually rebuild everything that was destroyed afer each attack, unless you have some unit that you can only unlock later on...
mindustry-unofficial.fandom.com/wiki/Future_Content#New_Google_Play_Listing suggests freemium features being considered, but they are mostly minor or plaform specific. There seems to be no server list by default however, making the Steam multiplayer freemium valuable.
www.youtube.com/watch?v=o5ThSECaAwA suggests code drop is used.
It is a bit annoying that you have to unlock the tech tree little by little in campaign, but it does serve as a reasonable introduction to the general order of development. Games with progression state are boring, except when there is permadeath. But custom play scenarios have everything unlocked immediately, much better.
It is very cool that you can copy chunks of buildings as macros, and save them for later.
The game runs very well it feels like.
The logic blocks are particularly interesting, and allow you to program a block yourself.
The brutality of this game, the fact that you can get killed at any point, and all players accept that, is awesome.
A young Ciro Santilli really liked this game, the way it makes you feel.
Articles by others on the same topic
There are currently no matching articles.