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