Skip to content

Ali-Al-Khuwaja/Defold-beginner-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Roadmap v1.4

Welcome to Defold

Here's a roadmap for learning Defold, made for beginners:

Important

While following this roadmap, your goal is not to write perfect code. Your goal is to understand why things work and why they break.


Phase 1: Foundations

  • Install Defold: Download and install the Defold editor from the official website here.
  • Editor Basics:
    • Familiarize yourself with the editor interface: project view, scene editor, properties panel, console, it's very minimal and easy to understand.
  • Learn the four core concepts of Defold:

For now, focus on what exists in Defold, don't try to master just yet.

  • Learn about the building blocks of Defold, game objects, components and collections.

  • Learn about Addressing, Code that controls a running game must be able to reach every object and component to manipulate what the player sees and hears, and Defold’s addressing mechanism makes this possible.

  • Learn about message passing, message passing is a mechanism for Defold game objects to communicate with each other.

  • Learn about application lifecycle.

  • Explore the Defold Manual:

    • skim over the Defold manuals to get a better understanding of the engine and its features.
    • While reading, focus on recognizing names and ideas, not memorizing details.

You can move on from Phase 1 when:

  • You know what game objects, components, and collections are
  • You understand that objects communicate using messages
  • You don’t fully understand everything — and that’s okay 😉

Phase 2: Scripting and Game Logic

  • Lua Scripting Basics:

    • Learn enough Lua to read and slightly modify Defold scripts (not to master Lua): variables, data types, operators, control flow (if statements, loops), functions, there you will be given all the resources you will ever need to learn Lua.

    Beginner habit:

    • Use print() often to see what your code is doing
    • Errors are normal and expected
    • Reading error messages is part of learning
    • Understand how to attach scripts to game objects and use the init(), update(), and on_message() functions.
  • Basic Game Mechanics (input → logic → result):

  • Example Projects: Start with very simple game ideas:

    • "Hello World" with interactive elements (e.g., a button that changes color when clicked).
    • A simple "dodge the falling objects" game or just do a tutorial like snake.

    When following a tutorial:

    • Pause and predict what the code will do before running it
    • Change small things (values, names, speeds) to see what breaks
    • If something breaks, that’s progress

Common Beginner Traps (Read when you feel stuck)

  • “I must understand everything before moving on”

    • You don’t. Recognition comes before understanding.
  • “My code is messy, so I’m doing it wrong”

    • Messy code is normal at this stage. Clarity comes later.
  • “This tutorial makes sense, but I can’t do it alone”

    • That’s expected. Tutorials teach exposure, not mastery.
  • “I should restart from zero”

    • Only restart if you know why. Otherwise, continue.
  • “Everyone else gets this faster than me”

    • You’re only seeing results, not confusion.

If you’re stuck for more than 30–60 minutes:

  • Take a short break
  • Ask a specific question
  • Or move on and come back later

Phase 3: Intermediate Concepts

  • Collections and Factories:

    • Learn how to use collections to organize your game objects.
    • Understand how to use factories to create instances of game objects at runtime.
  • Animation:

    • Learn how to create and use sprite animations.
    • Implement animation based on game events (e.g., walking animation when moving).
  • User Interface (UI):

    • Learn how to create and manage UI elements (buttons, text, images).
    • Implement basic UI interactions.

    Tip: UI (GUI scripts) should usually not control gameplay directly.

  • Sound and Music:

  • More Complex Projects:

    • A simple platformer with basic movement, jumping, and collision, there is an example game already made if you need.
    • A top-down shooter with basic enemy AI.

Phase 4: Advanced Topics and Polish (Ongoing)

You do not need this phase to make and publish simple games.

  • Physics: Dive deeper into the physics engine for more realistic movement and interactions.
  • Advanced Scripting: Learn more advanced Lua techniques, such as object-oriented programming.
  • Shaders: Explore shaders to create visual effects.
  • Networking: If you're interested in multiplayer games, learn about networking concepts and Defold's networking capabilities.
  • Optimization: Learn how to optimize your game for performance.
  • Publishing: Learn how to build and publish your game to different platforms, it's all in the manual.
  • Community and Resources:
    • Engage with the Defold community on the forum and Discord.
    • Explore community-created extensions and libraries.
    • Continue learning through tutorials, documentation, and example projects.

Tips:

  • Start small: Don't try to create a complex game right away. Start with small, manageable projects and gradually increase the complexity.
  • Focus on understanding the fundamentals: Make sure you have a solid understanding of the basic concepts before moving on to more advanced topics.
  • Don't be afraid to ask for help: The community forum is very helpful and welcoming to beginners, also check the discord server.
  • Official examples: Work through the examples, These are a great starting point and cover the basics effectively.

Note

This roadmap is not a checklist. It’s a map you return to as your understanding grows.

You are learning correctly if:

  • You feel confused but curious
  • You often say “oh, that’s why”
  • You break things by experimenting
  • You don’t remember everything, but recognize it later

It's okay to use AI for explaining concepts

This Roadmap is being cooked on calm fire, by me and ChatGPT in a controlled, gradual way. I will keep improving weak points every now and then, every line here is been discussed with psychological effect in mind.

A Roadmap is important for the confused newcomers like myself, I aim to :

  • Reduce pressure on the learning journey
  • Clarify when to move on
  • Normalize confusion
  • Add enough direction

This is possible thanks to the defold manual and ChatGPT, I'm myself, also a confused newcomer who haven’t found a roadmap, that's why I decided to make it myself with the help of the internet🙂.

About

A beginners road-map for learning Defold game engine . V1.4

Topics

Resources

License

Stars

Watchers

Forks

Contributors