Skip to content

TODO

Welcome to the TODO section for the website.

Section titled “Welcome to the TODO section for the website.”

This will help with collaboration. Basically, I’m putting my ideas in to a “design doc” which we can flesh out over time.

Two new concepts - sets and paths There are multiple sets of 5 games each. Paths string sets together in order to reach a broader goal.

For the big games list, we should split games up into difficulty classes:

  • You can make this in one or two days
  • You can make this one or two weeks
  • This would take years of work or is impossible for a solo dev. (you can make a single system or vertical slice, though)
  • Bring legacy website online in the new framework.
  • Make sure that the current 10 game challenge
  • Split current list into a path of 2 sets.
  • Expand to 3 paths (from one).
  • Sort games list by difficulty and scope. Separate reproducible games from impossible ones.
  • Add more games and paths over time.

Here is how I’m envisioning this:

The challenge follows a set of paths:

flowchart TD
    A["Your first game! Pong, Jetpack, etc. Make games and focus on the fundamentals"] --> B["2D RTS path -focus on data heavy games like sims and strategy, don't go into 3D"]
    A ---> C["Mixed path - make a 2D platformer, and a 3D shooter. 'Legacy' - this is what we have today. End with Minecraft, because fun :D"]
    A --> D["3D path - build up to complete 3D game with emphasis on graphics, shaders, etc."]
    A ---> E["Etc. There can be multiple paths"]
    B ~~~ C
    D ~~~ E

Here is a formal definition for the challenge. Each color is a difficulty class. Each series of arrows is a path. Games in orange are path capstones and will take longer to make than games within a set.

flowchart TD
    %% Class I Level
    subgraph Class1Level [" "]
        C1T[Intro Level]
        C1A["Intro Set A | Intro Set B"]
    end
    
    %% Class II Level
    subgraph Class2Level [" "]
        C2T[Level II Set]
        C2A[Data-Heavy]
        C2B["Neutral A | Neutral B"]
        C2C[Art-heavy]
        C2D[...]
    end
    
    C3T[Level III Set]
    C3A[Proc Gen]
    %% C3B[...]
    C3C[Adv. Art & Shaders]
    C3D[...]
    
    %% Capstone Level
    subgraph CapstoneLevel [" "]
        CAP0{{Capstone}}
        CAP3{{"C&C"}}
        CAP4{{"Mario 64"}}
        CAP5{{Journey}}
        CAP2{{"Doom"}}
        CAP1{{Minecraft}}
    end
    
    %% Paths
    C1T ==> C2T ==> C3T ==> CAP0
    C1A --> C2A --> CAP3
    C1A --> C2B --> C3A --> CAP1
    C2B --> CAP2
    C1A --> C2C --> CAP4
    C2C --> C3C --> CAP5
    C1A --> C2D --> C3D

    %% Styling
    %% Class I Level - Light Green
    style C1T stroke:#388e3c,stroke-width:2px
    style C1A stroke:#388e3c,stroke-width:2px
    
    %% Class II Level - Light Purple
    style C2T stroke:#7b1fa2,stroke-width:2px
    style C2A stroke:#7b1fa2,stroke-width:2px
    style C2B stroke:#7b1fa2,stroke-width:2px
    style C2C stroke:#7b1fa2,stroke-width:2px
    style C2D stroke:#7b1fa2,stroke-width:2px
    
    %% Class sIII Level - Dark Blue
    style C3T stroke:#0d47a1,stroke-width:2px
    style C3A stroke:#0d47a1,stroke-width:2px
%%   style C3B stroke:#0d47a1,stroke-width:2px
    style C3C stroke:#0d47a1,stroke-width:2px
    style C3D stroke:#0d47a1,stroke-width:2px
    
    %% Capstone Level - Orange
    style CAP0 stroke:#f57c00,stroke-width:3px
    style CAP1 stroke:#f57c00,stroke-width:3px
    style CAP2 stroke:#f57c00,stroke-width:3px
    style CAP3 stroke:#f57c00,stroke-width:3px
    style CAP4 stroke:#f57c00,stroke-width:3px
    style CAP5 stroke:#f57c00,stroke-width:3px
    
    %% Hide subgraph borders
    style Class1Level fill:transparent,stroke:transparent
    style Class2Level fill:transparent,stroke:transparent
    style CapstoneLevel fill:transparent,stroke:transparent

Here are the contents of Intro Sets A and B, as well as Neutral sets A and B. We need to populate each set similarly. (Note that this is using the old list, we may want to tweak the contents of these sets.)

flowchart TB
    subgraph Set1 ["Intro Set A"]
    direction TB
        S1_1["Pong"]
        S1_2["Breakout"]
        S1_3["Space Invaders"]
        S1_4["Asteroids"]
        S1_5["Pac Man"]
        
        S1_1 --> S1_2 --> S1_3 --> S1_4 --> S1_5
    end
    
    subgraph Set2 ["Intro Set B"]
    direction TB
        S2_1["Flappy Bird"]
        S2_2["Jetpack Joyride"]
        S2_3["Frogger"]
        S2_4["Spacewar!"]
        S2_5["Tic-Tac-Toe"]
        
        S2_1 --> S2_2 --> S2_3 --> S2_4 --> S2_5
    end
    
    subgraph Set3 ["Neutral Set A"]
    direction TB
        S3_1["Super Mario Bros."]
        S3_2["Worms"]
        S3_3["Super Monkey Ball"]
        S3_4["Wolfenstein or Doom"]
        S3_5["Minecraft"]
        
        S3_1 --> S3_2 --> S3_3 --> S3_4 --> S3_5
    end
    
    subgraph Set4 ["Neutral Set B"]
    direction TB
        S4_1["Pitfall"]
        S4_2["Dig Dug"]
        S4_3["Star Fox"]
        S4_4["Mario Kart"]
        S4_5["Portal"]
        
        S4_1 --> S4_2 --> S4_3 --> S4_4 --> S4_5
    end

    Set1 & Set2 ==> Set3 & Set4

    %% Styling
    %% Class I Level - Light Green
    style Set1 stroke:#388e3c,stroke-width:2px
    style Set2 stroke:#388e3c,stroke-width:2px
    style Set3 stroke:#7b1fa2,stroke-width:2px
    style Set4 stroke:#7b1fa2,stroke-width:2px

For reference, this is how things currently work. You chose one game out of each step for 10 games total.

flowchart TD
    %% Level 1 - First Games
    subgraph Level1 [" "]
        direction TB
        L1_Pong["Pong"]
        L1_Flappy["Flappy Bird"]
    end
    
    %% Level 2 - Slightly More Complex
    subgraph Level2 [" "]
        direction TB
        L2_Breakout["Breakout"]
        L2_Jetpack["Jetpack Joyride"]
    end
    
    %% Level 3 - Art Focus
    subgraph Level3 [" "]
        direction TB
        L3_Invaders["Space Invaders"]
        L3_Frogger["Frogger"]
        L3_RiverRaid["River Raid"]
    end
    
    %% Level 4 - Advanced Character Controller
    subgraph Level4 [" "]
        direction TB
        L4_Asteroids["Asteroids"]
        L4_Spacewar["Spacewar!"]
        L4_Indy500["Indy 500"]
    end
    
    %% Level 5 - AI Games
    subgraph Level5 [" "]
        direction TB
        L5_Pacman["Pac Man"]
        L5_TicTacToe["Tic-Tac-Toe"]
        L5_GameOfLife["Conway's Game of Life"]
    end
    
    %% Level 6 - Platformer
    subgraph Level6 [" "]
        direction TB
        L6_Mario["Super Mario Bros."]
        L6_Pitfall["Pitfall"]
        L6_VVVVVV["VVVVVV"]
    end
    
    %% Level 7 - Modifiable Terrain
    subgraph Level7 [" "]
        direction TB
        L7_Worms["Worms"]
        L7_DigDug["Dig Dug"]
    end
    
    %% Level 8 - 3D Introduction
    subgraph Level8 [" "]
        direction TB
        L8_MonkeyBall["Super Monkey Ball"]
        L8_StarFox["Star Fox"]
        L8_Crash["Crash Bandicoot"]
    end
    
    %% Level 9 - Full 3D
    subgraph Level9 [" "]
        direction TB
        L9_Doom["Wolfenstein or Doom"]
        L9_MarioKart["Mario Kart"]
    end
    
    %% Level 10 - Advanced 3D Concepts
    subgraph Level10 [" "]
        direction TB
        L10_Minecraft["Minecraft"]
        L10_Portal["Portal"]
    end
    
    %% Connections between levels
    Level1 ==> Level2 ==> Level3 ==> Level4 ==> Level5 ==> Level6 ==> Level7 ==> Level8 ==> Level9 ==> Level10