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:
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.
Ciro once commented that the best game is an infinitely hard one, where you can progress infinitely. To which his great friend J. replied:
Fine, so the perfect game for you is mathematics. Stage one: prove the Riemann hypothesis!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.
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.
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!
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 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
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
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.
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:
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
- 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.
- Worms clone
- pokemon clone:
- Tuxemon. Worked on Ubuntu 21.10. 20ea4181e1c0db04934ee69951ea1836a3b1f642
- Diablo II clones:v1.12 download Worked well on Ubuntu 21.10.
- 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.debso 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:
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 (= 18.104.22.168-2) but 22.214.171.124-6 is to be installed
Server status: Online: 9 playersSad.
- 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 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
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
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.
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.
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:
There are a few different versions:
- github.com/n64decomp/sm64 for emulator (i.e. or real hardware), tested at 9214dddabcce4723d9b6cda2ebccbac209f6447d
- Full screen with F10.
- github.com/sm64pc/sm64ex: fork of sm64-port, untested by Ciro Santilli, but more new amazing usability features, notably:
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
--skip-intro: skips the annoying pipe intro and the need to wait for Lakitu to bring Peaches message!
- in-game menu:
- hide HUD!
- no level selection yet, but a matter of time?
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.
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:
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;
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.
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.
Yet another case of Chinese thing better known in the West as Japanese.
A discrete 2D game on a rectangular grid: towardsdatascience.com/reinforcement-learning-implement-grid-world-from-scratch-c5963765ebff
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.
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?
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.
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.
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.
gobattle.io/#! 2D top down dungeon crawler/brawler, controls feel good.
A recreational computer simulation!
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.
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.