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)
Schedule
Section titled “Schedule”- 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
The current challenge:
Section titled “The current challenge:”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