My ENTIRE system for making games without an engine

randy
27 Jun 202517:18

Summary

TLDRIn this video, a full-time game developer with five years of experience shares insights on how to create games without using traditional game engines. The focus is on a personal blueprint of systems for rapid game development, emphasizing the importance of gameplay programming over tech infrastructure. Key systems include a simple sprite renderer, sound design using FOD, and an entity system that streamlines adding new content. The approach aims to minimize friction, allowing for faster iterations and more effective game creation. It's a hands-on, flexible method designed to empower developers to jump straight into making games.

Takeaways

  • ๐Ÿ˜€ Focus on making the game first, not building a generic engine. Create a blueprint and expand as needed.
  • ๐ŸŽฎ The 'No Engine' approach emphasizes creating game content with minimal technical setup and friction.
  • ๐Ÿ’ป The system is designed for rapid iteration, allowing developers to quickly test and refine game assets like graphics and sound.
  • ๐ŸŽจ The graphics system uses a simple 2D sprite renderer with a customizable shader, enabling quick visual experimentation without complex pipelines.
  • ๐Ÿ”Š Sound design is crucial for game feel, and rapid iteration is key. Use tools like FOD to make sound creation easy and fast.
  • โš™๏ธ The entity system is central to gameplay programming, enabling quick integration of new entities and their behaviors.
  • ๐Ÿง  Simplify systems to avoid unnecessary complexity. Start with a basic structure and add complexity only as problems arise.
  • โšก Keep the workflow frictionless by using tools that allow for quick changes, ensuring more iterations and better content.
  • ๐Ÿ› ๏ธ Avoid trying to solve hypothetical problems before they arise. Focus on solving actual issues as they come up during development.
  • ๐Ÿš€ The main goal is to speed up the game development process and enable rapid prototyping and playtesting.
  • ๐ŸŽฏ Iterating quickly on game mechanics and content creation leads to better feedback loops and ultimately a better game.

Q & A

  • What is the main difference between using a game engine and the 'no engine' approach described in the video?

    -The 'no engine' approach focuses on directly writing code for game systems without relying on a pre-built engine or framework. This allows for more flexibility and control, as you design and implement only the specific systems required for your game, rather than using a generic engine that may include unnecessary features.

  • Why does the speaker prefer using Odin as their programming language for game development?

    -The speaker prefers Odin because they believe it is the best language for their daily development needs. Although they donโ€™t go into full detail about the pros and cons compared to other languages like C++ or C, Odin is their language of choice for its advantages in terms of performance and workflow.

  • What is the 'blueprint' the speaker refers to in the video, and how does it help in game development?

    -The blueprint is a condensed repository of systems and code that the speaker uses for game development. It includes the necessary tools and code for quickly starting gameplay programming without worrying about tech details like graphics or entity structure. It allows developers to focus on making the game itself rather than setting up complex systems from scratch.

  • What is the primary benefit of using the 2D sprite renderer in the blueprint?

    -The 2D sprite renderer simplifies the process of creating and updating sprites in the game. The system allows for fast iteration, where changes to sprites or animations can be seen almost immediately in the game, improving the workflow and making it easier to refine the art.

  • How does the speaker address the challenge of graphics programming when not using an engine?

    -The speaker avoids the complexities of graphics programming by using a simple 2D sprite renderer that requires minimal effort to display sprites. While more advanced graphics work could be necessary in the future, this system allows developers to get started quickly without needing to dive into complex graphics pipelines.

  • Why is sound design considered crucial, and how does the speaker streamline it?

    -Sound design is crucial for creating a compelling game experience, as it contributes significantly to the overall feel of the game. The speaker streamlines sound design by using FOD (a sound design tool) and creating a simple workflow where sounds can be quickly tested and iterated, leading to better and more immersive game audio.

  • What are the advantages of the entity system described in the video?

    -The entity system provides a simple, flexible way to manage game objects by grouping their behaviors and states into a single structure. It simplifies adding and modifying entities like enemies, weapons, or items by centralizing their logic into one spot. This leads to faster development and easier scalability as the game grows.

  • How does the entity system's design help avoid common problems in game development?

    -The entity system's design prevents common issues like missing code references when adding new content, such as enemies or weapons. By centralizing the logic in one place, developers don't need to worry about adding new entities in multiple spots throughout the code, reducing the risk of errors and crashes.

  • Why does the speaker suggest focusing on solving real problems instead of hypothetical ones in game development?

    -Focusing on real problems ensures that developers spend their time addressing issues that actually affect the gameโ€™s performance or gameplay, rather than prematurely optimizing or complicating the code. By solving problems as they arise, the development process remains efficient and adaptable.

  • How does the speaker recommend handling content creation as the game develops?

    -The speaker recommends making content creation as easy as possible by having a simple system in place that allows developers to quickly add new content, such as enemies, items, or environments. This reduces friction and encourages rapid iteration, which in turn leads to a more engaging and polished game.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This
โ˜…
โ˜…
โ˜…
โ˜…
โ˜…

5.0 / 5 (0 votes)

Related Tags
No Engine GamedevGame Development2D Pixel ArtSound DesignEntity SystemGame PrototypingRapid IterationGame DesignProgramming SystemsIndie DevelopersGame Framework