<img src="pixel_daruma.png" style="display: block; margin: 0 auto; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;" alt="" width="256">
---
# What is Daruma Dev Lab?
> **An online after-school club for secondary and A-Level students in Brighton and beyond.** Learn real-world programming, game design, and applied STEM by building video games from scratch.
This class is an antidote to my students saying *Maths has no use outside of school* and my colleagues in the Games and Finance industry saying they wish *they had invested **more** in Maths*. It doesn't add up!
<a href="https://forms.gle/stGreL6UQcJSmgMS8" class="btn">Fill out registration form</a>
---
# What will you learn?
<div style="display: flex; align-items: flex-start; margin-bottom: 20px;">
<img src="pixel_daruma.png" width="64" style="flex-shrink: 0; margin-right: 15px; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;" alt="">
<span style="font-size: 17px;"><strong>Learn through play and exploration.</strong> Early sessions focus on playing games together which are hand-designed to explore a Mathematical topic and then facilitate a group discussion.</span>
</div>
<div style="display: flex; align-items: flex-start; margin-bottom: 20px;">
<img src="pixel_daruma_right_wink.png" width="64" style="flex-shrink: 0; margin-right: 15px; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;" alt="">
<span style="font-size: 17px;"><strong>Learn the basics of coding through logic activities.</strong> E.g. We practice giving robots strict instructions and playing out what they will do with them.</span>
</div>
<div style="display: flex; align-items: flex-start; margin-bottom: 20px;">
<img src="pixel_daruma.png" width="64" style="flex-shrink: 0; margin-right: 15px; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;" alt="">
<span style="font-size: 17px;"><strong>Learn game design through projects and collaboration.</strong> We'll do prototyping, paper design, discussion activities, fulfilling briefs and game jams.</span>
</div>
<div style="display: flex; align-items: flex-start; margin-bottom: 20px;">
<img src="pixel_daruma_left_wink.png" width="64" style="flex-shrink: 0; margin-right: 15px; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;" alt="">
<span style="font-size: 17px;"><strong>Learn Python first, a popular language with many uses. </strong> Make your first digital games in Pygame and write your own gameplay and graphics code.</span>
</div>
<div style="display: flex; align-items: flex-start; margin-bottom: 20px;">
<img src="pixel_daruma.png" width="64" style="flex-shrink: 0; margin-right: 15px; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;" alt="">
<span style="font-size: 17px;"><strong>Learn data-orientated languages like C/C++/Odin. </strong> Take control of the computer's data and write efficient code ready to ship in commercial games.</span>
</div>
<div style="display: flex; align-items: flex-start; margin-bottom: 20px;">
<img src="pixel_daruma_blink.png" width="64" style="flex-shrink: 0; margin-right: 15px; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;" alt="">
<span style="font-size: 17px;"><strong>Learn how computers actually work. </strong> Demystify modern technologies like the internet, GPUS and AI models by breaking them down step by step.</span>
</div>
---
# <img src="pixel_maths_teaching.png" class="pixelart" alt="" width="64" style="vertical-align: middle; margin-right: 10px; image-rendering: -moz-crisp-edges; image-rendering: crisp-edges; image-rendering: pixelated;"> Why is this helpful?
We take exam topics from maths and physics and apply them into our own code and goals. We see them visualised by graphics and then get to explore by tweaking them and observing what happens.
<span style="font-size: 1.5em; font-weight: bold;">+</span> Use the shape of **Sin & Cos graphs** with **transformations** as an easy way to loop animations.
<span style="font-size: 2.0em; font-weight: bold;">-</span> We need **vectors** and **forces** to simulate physics like Newtonian motion or collisions.
<span style="font-size: 1.5em; font-weight: bold;">×</span> **Solve equations** to perfectly format our scene, menus or UI.
<span style="font-size: 1.5em; font-weight: bold;">÷</span> Did you know that all computer graphics are drawn into triangles? We need our **coordinate calculations** and **2-D geometry** to draw anything precisely.
A lot of these start will start with playing with the fundamentals of a topic, but can evolve into what would be the challenge questions in an exam.
>E.g. *How do we transform a sine wave to oscillate between 0 and 100 over our desired duration? Or what is the biggest circle you can fit into a given triangle?*
*I really can't overstate how useful and present maths and physics is in game development, and you probably have to try it yourself to truly appreciate it.*
---
# Session Structure
We've designed our 90 minute sessions to provide low-pressure high-impact learning.
Every weekly online session is carefully paced to combine structured learning with creative freedom:
| Session Structure |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **1. Core Concept Starter (20-30 Mins)**<br>We design a shared starter activity around a topic that we find useful in game dev. We'll have an explanation and introduction, as well as practice and challenge questions.<br> |
| **2. Personal Project or Guided Activity (45-60 Mins)**<br>Students can either work on their personal projects with the help of shared resources and support. Or participate in a directed collaborative activity like deconstructing a classic game to code it from scratch as a group. |
| **3. Q&A and Showcase Wrap-Up (Up to 15 Mins)**<br>Come back together with time for any questions that arose over the session. Share progress or findings, play test mechanics and support each other.<br> |
What if you've seen a topic before?
> I try to write extensions/challenges to the level where I would benefit from revising with them. If you're already a master then see if you can knock up a game jam or create a classic title like Tetris, Pac-Man or Mario Bros from scratch.
*Note: Our drop-in modular format ensures that if a student misses a week due to school commitments, they can seamlessly pick up right where they left off without falling behind.*
---
## Flexible Groups for Every Age & Stage
We organise small, tailored groups based on shared goals and experience levels:
- **GCSE Students (Years 9–11):** Reinforce core GCSE Maths, Physics, and Computer Science concepts through introductory Python game dev.
- **A-Level Students (Years 12–13):** Explore advanced mechanics, Further Maths proofs, low-level C/C++ memory management, and data structures.
- **Parent & Youth Pairs:** Perfect for parents looking for a meaningful technical hobby to share with their child while reinforcing school learning.
**Brighton Community Note:** We are actively planning local, in-person workshops in Brighton! Register your interest today to be notified early.
---
# Interested in upcoming sessions?
<a href="https://forms.gle/stGreL6UQcJSmgMS8" class="btn">Fill out registration form</a>
---
# Other Options
✉ **Any Questions?** Write to us at: `
[email protected]`
🌍 **Explore your options:** [[Services/Home|Home]]
🌠 **Book Tutoring Sessions:** [[Book Tutoring Sessions | Book Tutoring]]
👾 **Who are we**: [[About Us]]