Skip to content

Instantly share code, notes, and snippets.

@wychwitch
Created December 21, 2022 07:32
Show Gist options
  • Save wychwitch/ed01ce5ff1397271a37759c3f29c49e4 to your computer and use it in GitHub Desktop.
Save wychwitch/ed01ce5ff1397271a37759c3f29c49e4 to your computer and use it in GitHub Desktop.
A list of suggestions for getting into programming

Programming + Game dev roadmap

Hello!! Here are some of my personal suggestions on how to not only see if you like programming, but imo the best way to get into it! This is not the most optimal list, it focuses on enjoyment and learning how to solve common logic puzzles that present themselves in programming.

🌟are resources I've personally have experience with ⭐are resources I've heard are great

Games that teach programming logic

These are fantastic for that initial exploring of the specific kind of logic puzzles programming gives you. These games wont teach you how to program in any specific language, but they help to reinforce the skills you'll be learning as you continue on!!

TL;DR

Play infinifactory, then Human Resource Machine, and then explore the Zachtronic selection in any order you'd like!

Zachtronic Games

While many of Zachtronic games lean closer to actual programming than most, it still stands that these are fantastic games !

Infinifactory (steam, gog(drm free)) is by far the most beginner friendly. Think Minecraft redstone/minecarts but with a jetpack!!

My suggested playing order is

  1. 🌟Infinifactory
  2. Spacechem
  3. Opus Magnum
  4. 🌟Exapunks
  5. 🌟Shenzen I/O
  6. TIS-100 ((HARD MODE))

Human Resource Machine

steam App Store Google Play switch

After infinifactory I suggest Human Resource Machine! This is a little less abstracted than Infinifactory, but still has a great presentation and art style!

This actually is an abstracted version of assembly, but it's still a good little introduction, but don't think you'll need to beat it first!!

Scratch

website If you want to try out programing but don't want to start in a real language yet, try out scratch! Its a drag and drop programming language designed to make it easy for kids to learn programming, but adults also love it too.

First real languages

These languages I selected have various reasons why they could/should be among your first! You don't have to learn all these before moving onto others, but I def recommend at least really learning my first pick...

TL;DR

Go for python, take a peak at processing, Javascript or Rust once you're comfortable!

General Resources

tech.io codewars grasshoppper devhints.io

Coding Challenges 🌟Advent of code

Python3

Website Hands down my biggest recommendation for your first real programming language. One reason is that it teaches you psuedocode implicitly, which is great in itself, but it's also extremely popular, and the syntax is stripped away so much it makes it easier to code with.

If you want to hit the ground running and make a whole game in python, I suggest using Renpy! to make a visual novel!

Resources

Videos

Python for beginners - freeCodeCamp

Interactive Courses

python for everybody learn python 3 with jupyter notebooks edublocks - This is a bridge between Scratch and Python! exercism

Text Guides

Godot

Godot!!! Amazing game engine GDScript is very similar to python, so I recommend that!

Next languages to jump into

Programs

Programming software

https://code.visualstudio.com

General software

  • obsidian
    • https://youtu.be/OUrOfIqvGS4
    • I use the minimal theme, be sure to install style settings!
    • Plugins
      • 1: Waypoint v1.4.0
      • 2: Templater v1.16.0
      • 3: Tasks v1.20.0
      • 4: Tag Summary v1.2.0
      • 5: Tag Wrangler v0.5.5
      • 6: Supercharged Links v0.9.3
      • 7: Style Settings v0.4.12
      • 8: Simple Embeds v1.14.0
      • 9: Settings Search v1.2.0
      • 10: Sequence Hotkeys v0.5.1
      • 11: Rollover Daily Todos v1.1.3
      • 12: RPG Manager v3.4.4
      • 13: Recent Files v1.3.5
      • 14: Rant-Lang v0.5.9
      • 15: Quick Monsters 5e v0.6.0
      • 16: QuickAdd v0.8.0
      • 17: Periodic Notes v0.0.17
      • 18: Pane Relief v0.4.1
      • 19: Obsidian42 - Text Transporter v1.0.3
      • 20: Obsidian42 - Strange New Worlds v1.1.1
      • 21: Obsidian42 - BRAT v0.6.36
      • 22: Obsidian Leaflet v5.1.1
      • 23: Obsidian Chess v1.1.3
      • 24: Multi-Column Markdown v0.7.6
      • 25: Minimal Theme Settings v6.1.1
      • 26: Metatable v0.14.3
      • 27: MetaEdit v1.7.2
      • 28: MAKE.md v0.5.6
      • 29: Lumberjack 🪓 🪵 v1.3.0
      • 30: Link Headers Directly v1.0.2
      • 31: Key Promoter v1.2.2
      • 32: Initiative Tracker v8.1.4
      • 33: Icon Swapper v0.0.6
      • 34: Icon Shortcodes v0.9.7
      • 35: Hotkey Helper v0.3.15
      • 36: Graph Analysis v0.15.4
      • 37: Frontmatter Tag Suggest v0.4.1
      • 38: Folder Note Core v1.3.5
      • 39: Fantasy Calendar v2.3.10
      • 40: Excalidraw v1.8.6
      • 41: ePub Reader v1.0.1
      • 42: Embedded Code Title v0.5.5
      • 43: Editor Syntax Highlight v0.1.3
      • 44: Digital Garden v2.27.0
      • 45: Dictionary v2.22.0
      • 46: Dice Roller v8.8.0
      • 47: Dataview v0.5.47
      • 48: Daily Note Outline v0.3.0
      • 49: Commander v0.4.5
      • 50: Colorful Tag v1.3.0
      • 51: Chesser v0.2.1
      • 52: Calendar v1.5.10
      • 53: Buttons v0.4.19
      • 54: AidenLx's Folder Note v0.16.4
      • 55: Advanced URI v1.31.2
      • 56: Advanced Tables v0.18.1
      • 57: Advanced new file v1.5.0
      • 58: Admonition v9.0.5
      • 59: Task Collector (TC) v0.7.8
      • 60: Mathpad v0.8.7
      • 61: Outliner v4.2.0
      • 62: Pretty BibTeX v1.0.0
      • 63: Sortable v0.2.6
      • 64: Daily Notes Editor v0.1.4
      • 65: Frontmatter Links v1.2.7
      • 66: Full Calendar v0.9.1
      • 67: TTRPG Statblocks v2.23.3
      • 68: Workspaces Plus v0.4.16
      • 69: Annotator v0.2.8
      • 70: DB Folder v3.1.0
      • 71: Quick Switcher++ v2.3.5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment