Skip to content

Instantly share code, notes, and snippets.

View ComplexPlane's full-sized avatar

ComplexPlane ComplexPlane

View GitHub Profile
@ComplexPlane
ComplexPlane / notes.md
Last active September 24, 2022 17:02
SMB2 challenge mode course format notes
@ComplexPlane
ComplexPlane / smb1-noclip.md
Last active May 28, 2022 23:33
Super Monkey Ball 1 Noclip TODO

General

  • View specular TEV layer
  • World specular TEV layer
  • Planar reflections
  • Jamabars
  • Raycasts
  • Banana shadows
  • Name entry stage / buttons
@ComplexPlane
ComplexPlane / smb2-smal-strats.txt
Created January 30, 2021 02:40
ComplexPlane's collective SMAL notes
# 28:15 timesaves
~6s on Spinning Top (failed 2nd frame, retry)
~0.75s on Stepping Stones (too far left before first stepping stone, speed bump, got clip)
~3s on Giant Comb (idk how I failed this)
~0.2s on Beehive (slow Alist Beehive)
~0.4s on Arthropod (went off a little early so did slow ending)
~0.5s on Seesaw Bridges (got 33.63, slow first clip and wide first turn on last seesaw)
~0.6s on Fluctuation (bad bounce pattern)
~0.2s on Punched Seesaws (too deep clip)
@ComplexPlane
ComplexPlane / postgoalcamera.cpp
Created January 11, 2021 04:19
Super Monkey Ball 2 Post-Goal Camera Function
static void custom_camera_goal_func(mkb::Camera *camera, mkb::Ball *ball) {
Vec3f ball_delta_camera = VEC_SUB2D(ball->pos, camera->pos);
f32 dot = VEC_DOT(ball_delta_camera, camera->vel); // Positive if camera moving towards ball
mkb::vec_normalize_len(&ball_delta_camera);
f32 adjusted_dot = dot * -0.01f;
// Adjust camera velocity
camera->vel.y *= 0.97; // Slow down Y speed
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [1002:67df] (rev ef) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd Radeon RX 570 Gaming 4G [1458:22f7]
Flags: bus master, fast devsel, latency 0, IRQ 140
Memory at 90000000 (64-bit, prefetchable) [size=256M]
Memory at a0000000 (64-bit, prefetchable) [size=2M]
I/O ports at 3000 [size=256]
Memory at a2300000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at 000c0000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: amdgpu
00:00.0 Host bridge: Intel Corporation 8th Gen Core 8-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] (rev 0a)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 0a)
00:08.0 System peripheral: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th Gen Core Processor Gaussian Mixture Model
00:12.0 Signal processing controller: Intel Corporation Cannon Lake PCH Thermal Controller (rev 10)
00:14.0 USB controller: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller (rev 10)
00:14.2 RAM memory: Intel Corporation Cannon Lake PCH Shared SRAM (rev 10)
00:16.0 Communication controller: Intel Corporation Cannon Lake PCH HECI Controller (rev 10)
00:17.0 SATA controller: Intel Corporation Cannon Lake PCH SATA AHCI Controller (rev 10)
00:1b.0 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #17 (rev f0)
00:1b.2 PCI bridge: Intel Corporation Cannon Lake PCH PCI Express Root Port #19 (rev f0)
// Fill out your copyright notice in the Description page of Project Settings.
#include "Ball.h"
// Sets default values
ABall::ABall() :
NotDoomed(NewObject<UGarbage>())
{
PrimaryActorTick.bCanEverTick = true;
@ComplexPlane
ComplexPlane / complexplanebot.md
Last active May 1, 2019 08:46
ComplexPlaneBot

bot profile small

ComplexPlaneBot

This is a bot written in Python 3 by ComplexPlane for the stream! It supports looking up stuff on speedrun.com, some normal stream commands, and hopefully some more cool stuff in the future.

You get a free cookie from me if you can crash it. Feature suggestions are welcome too!

If you want any of these features in your own Twitch chatroom, let me know.

@ComplexPlane
ComplexPlane / gimmick.md
Created April 15, 2019 03:37
Gimmick pause frame notes

59.83 -> 54.78 -> 53.80 -> 52.70

DL -> 52.65 -> L -> 52.58 -> DL after clip

59.83 -> 54.78 -> 53.78

DR -> 53.76 -> UR -> 52.63

DL -> 51.85 -> UL (slow)

ComplexPlane SMAL Phase III Plans

The next step for my SMAL grind is to head back to the drawing board and learn a lot of the strats I skimped out on before I got my PB of 31:34. In general I want to focus on learning almost every unique non-pause strat regardless of timesave, but not necessarily every microoptimization, backup frame, or very risky pause strat.

I would also like to maintain world record in Monkeyed Ball SMAL. I think I would cap out at around a time of 23:20, but I'm also just happy with having WR even if it's not that time.

Learn Now TODO