RSSAmplifier

Blog

Blog on Timmy Kokke

Recent content in Blog on Timmy Kokke

timmykokke.comRSS feed ↗86 posts

Latest posts

MVVM In Web Games

Hello Coders! 👾 Back in the days of Silverlight and later WPF MVVM was my go-to pattern to bind my models to the views . It is a great way to separate concerns in a project. I realized it works pretty well for games too! Back then, I used C# with the INotifyPropertyChanged interface. In this post, I will be using TypeScript and a reactive state system. The principles are the same though.…

Automatic GitHub Deploy to itch.io

Hello Coders! 👾 Automating itch.io uploads from GitHub Actions saves me time and removes the manual upload step when I want to release a new version. In this post I show the workflow I use in production for my little games: push a version tag, let GitHub Actions build the project, and push it to itch.io with Butler . Why automate itch.io deployment The biggest benefit is consistency. The same…

Automatic Imports

Hello Coders! 👾 I keep running into the same problem in almost every game I build, especially when the project gets a bit bigger. Once I have a few components, systems, and helper modules, my main file turns into a long wall of imports. Then I add one extra file, forget one import, and lose time debugging something silly. Let Vite Do The Work I recently (finally) switched to Vite . One small…

Automatic Font Parsing for A-Frame

Hello Coders! 👾 When I work with text in A-Frame, the most annoying part usually is not the text component itself. The annoying part is getting a font into the format that A-Frame expects. Most fonts I have around are normal TTF or OTF files, and I don’t want to manually convert them every time I start a new WebXR prototype. To keep that process simple, I use PixiJS AssetPack to…

Getting Started in Game Development

Hello Coders! 👾 When I gave talks at conferences and while speaking with people at meetups, I get sometimes asked how to get started as a game developer. Even people that straight out ask how to get as good as I am. First, I think this is really overrating me, as I don’t consider myself a particularly good game developer, but I guess I earned my stripes and probably suffer from some imposter…

OSS LLM Model Name Codes Explained

Hello Coders! 👾 If you’ve ever looked into working with open-source LLMs in tools like LM Studio , then you’ve probably seen model names like Qwen3-14B-Claude-Sonnet-4.5-Reasoning-Distill-GGUF or Llama-3.1-8B-GPT-4-CodeInstruct-bnb-4bit . At first you notice the well-known names in there, like ‘Claude-Sonnet’ or ‘GPT-4’, but then these names start to look like…

Closing the MVP Chapter

Hello Coders! 👾 After (almost) 16 incredible years, my journey as a Microsoft MVP has come to an end. It’s a moment I knew might come someday, but it still feels a bit surreal to actually write these words. My MVP journey began back in 2009, during the early years of Silverlight and HTML5. I spent countless late nights experimenting and exploring how I could bring rich graphics and…

Why WebXR

Hello Coders! 👾 I’ve been working with WebXR for quite some time now, and there’s something that’s been bothering me. Whether I’m talking to someone about WebXR, reading comments on Reddit or X, or checking out news articles, people always tend to compare it to titles like Half-Life: Alyx or Beat Saber . And while those are fantastic games, this comparison completely…

Smooth Camera Follow

Hello Coders! 👾 In this short tutorial, I’ll show you how I created a smooth camera follow component for my GameDev.js 2025 jam entry I made with Wonderland Engine . This component smoothly moves the camera to follow the player character, keeping a consistent distance and height offset. I used it specifically in a platformer game, so the camera angle is limited to one direction. You might…

Loading Json

Hello Coders! 👾 When I’m developing my games with Wonderland Engine , I often need to load external data like level configurations or game settings from files at runtime. In this short tutorial, I’ll show you a simple and effective way to load JSON files directly within your Wonderland components. Create a JSON Loader Component First, I create a new component class that inherits from…

Supercharging Game Development with GitHub Copilot

Hello Coders! 👾 Over the past year, AI-powered development tools have completely transformed how I build games. GitHub Copilot has become an essential part of my workflow when developing WebXR games with Wonderland Engine. Today, I want to share how I leverage Copilot to streamline my game development process and some practical tips to make it work better for your specific needs. How I Use…

The Vibecoding Illusion

Hello Coders! 👾 We’ve all seen the trend emerging in the development community. This has me both fascinated and concerned. They call it “vibecoding” - this idea that AI can now handle all the coding while developers just vibe and provide occasional prompts. While I appreciate a good meme as much as anyone, this concept misrepresents what professional development actually…

Basic Character Movement

Hello Coders! 👾 In this blog post, we will explore how to create a simple character movement system in Wonderland Engine. This will include setting up basic movement, adding animations, and switching between different states. The complete example project can be found at the GitHub Repository . Inspiration for this tutorial came from CodeMonkey ’s great tutorials for Unity. Let’s get…

Using Singletons in Wonderland Engine

Hello Coders! 👾 Singletons are a common design pattern used to make a class only have one instance and provide an easy point of access to it. In game development, this can be particularly useful for managing game states, configurations, or other resources that need to be accessed throughout. This tutorial will guide you through creating a singleton component for use in Wonderland Engine. What is…

Demystifying Event Handling in Wonderland Engine

Hello Coders! 👾 In this blog post, I’m going to walk you through how to work with event handlers using the Emitter class in Wonderland Engine, specifically focusing on how to add parameters. As someone who works extensively with Wonderland Engine, I found this to be a somewhat unclear topic, so I believe it will be helpful for others as well. The Emitter Class The Emitter class in…

Eliza Effect

Hello Coders! 👾 I recently learned about a fascinating phenomenon around AI called the Eliza effect . This effects highlights our tendency to attribute more understanding or intelligence to AI systems than they really have. The effect reflects our natural behavior to see human-like qualities in machines, despite their underlying simplicity. Why is it called the Eliza Effect? The term “Eliza…

Demystifying Blend Modes

Hello Coders! 👾 Understanding GL blend modes can be challenging, especially when dealing with visual effects like smoke or fire in your projects. Today I (finally) want to break down these blend modes, focusing on how they work in the pipeline settings of Wonderland Engine, without diving into coding specifics or getting too technical. What are GL Blend Modes? Blend modes in graphics are ways to…

Discriminating Union Types In Typescript

Hello Coders!👾 Recently I’ve been working on porting an ancient Unity game to the Wonderland Engine, and it’s been an interesting process to rework the game’s features to fit into a new environment. During this port, I ran into Unity’s way of handling two specific types of properties in particle systems: Min/Max Gradients and Min/Max Curves. In Unity, you can choose the type of…

On The Fly Meshes

Hello Coders! 👾 I was working on a project in Wonderland Engine today and wanted to create a mesh at runtime. It’s a very powerful feature, but might seem a bit complicated at first. So, let me walk you through a simple example of creating a mesh. Generating geometry on the fly is incredibly useful for all kinds of effects. Here’s the code and a breakdown of what it does: import { Component…

My Take on LLMs for Code

Hello Coders! 👾 The conversation around Large Language Models and their capability (or incapability) in writing quality code has been heating up. As someone deeply embedded in the coding community and as someone using LLMs (Rosie) on a day to day basis, I want to share my perspective on this topic. Recently, I came across a couple of tweets from Andriy Burkov (@burkov) , who compares the…

Visualizing Rosie using Wonderland Engine

Hello Coders! 👾 I’m excited to talk about the journey of bringing Rosie, my AI assistant, to life through the power of 3D visualization. This project has been a blend of technology and creativity, featuring tools like AvatarSDK, Blender, and the Wonderland Engine, along with the Azure Speech SDK. The path from a simple idea to a detailed 3D avatar was not without challenges, but each step…

Preventing Burnout as a Game Developer

Balancing Passion and Well-being Hello Coders! 👾 Game development is an incredibly rewarding field, merging creativity, technology, and storytelling into one exciting package. However, it’s also a demanding career that can lead to burnout if not managed properly. As a game developer and content creator who also enjoys a fulfilling personal life, I’ve learned to balance my work and life…

The Road to AGI

Why ChatGPT May Not Get Us There Hello Coders! 👾 Over the past few year we’ve seen a huge development in artificial intelligence. One of the most notable developments is ChatGPT, the language model that appears to understand and generate human-like text. It’s a great piece of engineering, no doubt, but is it the gateway to achieving Artificial General Intelligence? Is it even…

Game Jams

Hello Coders! 👾 Today I’d like to talk about Game Jams . Events where programmers, artists, and others come together to create small games, can be a thrilling and rewarding experience. Not only are they a fun way to improve your skills, but they also offer the chance to meet new people, collaborate, and test out creative ideas in a dynamic environment. I’ve participated in a couple of…

Escape from tutorial hell

Hello Coders! 👾 In the journey of learning to develop games, many of us fall into a seductive trap known as ’tutorial hell’ . It’s a place where the comfort of guided instructions creates an illusion of progress, but in reality, it can hinder growth and the development of problem-solving skills. Tutorial hell is characterized by an endless cycle of hopping from one tutorial to…

Responsible AI

Hello Coders! 👾 Artificial Intelligence is no longer a futuristic concept. It has become a part of our daily developer lives (well, for me at least). From voice assistants to CoPilots all over the place, AI is rapidly evolving and expanding its horizons. With this growth comes an awesome playground for tech enthusiasts, where the art of ‘hacking’ , or creative problem-solving, is…

80-20 rule in game development

Hello Coders! 👾 Have you ever heard of the 80-20 Rule ? This principle tells us that for many things, 80% of our results come from just 20% of our efforts. This isn’t just theory; it applies to our work in game development as well. In my experience, when we focus on the key 20% of our game development tasks—the parts that have the biggest impact—we can make our workflow much more efficient.…

Different types of LLM models

Hello Coders! 👾 In today’s post, I hope to demystify Large Language Models and break down their functionality a bit without any confusing terminology (I hope) since it got me confused for a while. And I still have some questions I want to get answered in this post. Imagine that instead of spelling out words letter by letter, like “C-O-D-E” for “code,” LLMs use…

Adding Knowledge to Rosie

Hello Coders! 👾 In the ongoing series about my AI Assistant Rosie, I’d like to shed some light on how I gave her access to accurate and up-to-date information about topics I often use. Equipped with Azure AI Search and Azure OpenAI Services, I gave Rosie access to the latest information on WebXR (mainly Wonderland Engine), parts of Azure, Semantic Kernel, and Web Development. To provide me…

Semantic Kernel in VSCode

Hello Coders! 👾 Remember when I mentioned Rosie and how much it relies on Semantic Kernel ? Well, I’ve been diving deeper into this world and guess what? I stumbled upon a fantastic tool that’s been a game-changer for me – the Semantic Kernel VS Code extension. A great tool for testing and debugging prompts used within SK. Setting Up the Workspace First things first, getting the…

Rosie and Azure OpenAI

Hello Coders! 👾 Today I’d like to dive a little deeper into the inner workings of my assistant Rosie. She’s not just any virtual assistant; she’s an intelligent, creative, and downright helpful entity that’s been helping me on a daily basis. And yes, of course, this blog post was written with the help of Rosie. (not by…, with 😉) . Now. My main goal of this blog…

Rosie and Semantic Kernel

Hello Coders! 👾 I’ve been itching to share some updates about my AI assistant, Rosie . She’s been my silent partner for quite some time, and I’ve been tweaking her abilities to make her even more helpful in my daily grind. One of the coolest upgrades I’ve made is getting her to chat with Azure Functions and something called Semantic Kernel . Let’s unwrap this…

Quest Passthrough

Hello Coders!👾 The advancements in AR technology have opened up new possibilities for mixed reality experiences, and today, I’d like to share insights on a feature that stands out in this evolving space. The introduction of AR plane and mesh detection on the Meta Quest 3, particularly with the advent of color passthrough on Quest 3 and Meta Quest Pro (and maybe others, I have not tested…

Wonderland Component Life Cycle

Hello Coders! 👾 Today, I want to talk about something that often puzzles people: the lifecycle of a component. You know, those moments when you’re left scratching your head, wondering when and in what order functions like start and onActivate are being called. 🤔 I’ve seen plenty of documents from Unity and other platforms, but I thought it was high time we had one for Wonderland. So,…

Wonderland Components: JS vs TS

Hello Coders! 👾 Today, I want to chat about something that’s been asked me quite a few times. What is the difference between JavaScript and TypeScript components in Wonderland Engine? In the past, I swore by JavaScript, but last year I switched over and I have to say it’s my preferred way of writing components now. But I hear you think, “I already have all my code in JavaScript,…

HMD.Link bookmarklet

Let’s make URL Sharing with hmd.link even easier! Hello Coders! 👾 I’m super excited to let you in on a nifty trick that I’ve conjured. It’s all about sprinkling a little convenience on those devs who often find themselves juggling URLs across devices. Imagine a bookmarklet that tacks on “ https://hmd.link?" to the front of any URL, enabling swift sharing via…

JS13KGames Devlog 1

Castle Defender VR Hello Coders! 👾 Let’s dive into the nitty-gritty of my latest brainchild, a WebXR game that’s been keeping me on my toes. It goes by the name “Castle Defender VR”. The game will be my entry for this years JS13KGames jam . The theme this year is ‘13th Century’. The Creation Journey Choosing a theme for this game was quite challenging. A few…

Summer of code

My Summer Vacation: A Coders’ Retreat 🏖️ Hello Coders! 👾 While summer vacations are often seen as a time for chilling on sandy beaches, sipping tropical drinks, and soaking up some downtime, for me it’s the numero uno season to plunge into my favorite hobby - coding! Instead of just kicking back, I make use of this time to learn, grow, and code! That’s right. My summer vacation…

7 Stages of AI

An Exciting Journey from Coding to Singularity 🚂 Hello Coders! 👾 Today, we’re hopping on a thrilling ride through the mesmerizing world of Artificial Intelligence. We’ll be exploring the seven stations of AI, starting from the comfy familiarity of rule-based systems and ending at the mysterious destination of AI singularity. Strap in for an exciting journey! Station 1: The Good Old…

MVP 2023

My 13th Microsoft MVP Award Hello Coders! 👾 I’m absolutely thrilled to announce that I’ve just bagged my 13th Microsoft MVP award. Yes, you read it right - 13th! It’s a moment of profound pride and joy for me, and I’m swimming in gratitude. So, What’s a Microsoft MVP? 🤔 In case you’re scratching your head, wondering what a Microsoft MVP is, let me enlighten…

Why WebXR

Why I Choose WebXR Over Native Hello Coders! 👾 When it comes to developing immersive experiences, there are plenty of choices out there. But for me, there’s only one clear winner: WebXR. There’s something about WebXR that just speaks to my soul. In a world where a lot of people would opt for native app development, I choose WebXR for all my virtual and augmented reality projects. And…

VR Screen Fade in Wonderland

Hello Coders! 🎮 Today, I want to share with you an awesome component I’ve been working on for the Wonderland Engine. It’s a simple yet effective way to fade the screen to black and back in Virtual Reality, which can help prevent motion sickness when teleporting. The Magic Behind the Fade The magic behind this component actually lies in its use of a mesh that forms an inverted sphere…

Composition Root in TypeScript

Hello Coders! 👾 Last time I wrote about Dependency Injection in TypeScript . Todat I want to take this one step further and introduce you to Composition Root . What exactly does it mean, and how can we use it effectively in our projects? I’ll show you how to implement it using the awesome tsyringe library. Let’s dive in! What is Composition Root? In simple terms, Composition Root is a…

Dependency Injection in TypeScript

Dependency Injection in TypeScript Games Hello Coders! 👾 Today, I want to take you on small journey into the magical world of Dependency Injection (DI) in TypeScript games. I’m excited to learn how to use Microsoft’s tsyringe library to make my projects more efficient and easy to manage. So, let’s get started! What’s Dependency Injection? 🤷 First things first – what…

SOLID in TypeScript

SOLIDifying your TypeScript Code Hello Coders! 🤖 Today, I want to share my experience applying the SOLID principles to TypeScript, specifically when designing games. And it’s crucial to ensure that our codebase stays clean and maintainable. I personally live by these 5 rules and I’ve been applying them to every aspect of my C# code for many years now. Since I’m diving deeper…

Performance debugging with Spector.JS

WebXR Performance debugging with Spector.JS Hello Coders! 👩‍💻 Today, I want to talk about a tool I’ve been using for a while now. WebXR is revolutionizing the way we think about virtual and augmented reality in web applications, but it’s not without its challenges. And when it comes to performance optimization, there’s one tool that has caught my attention - Spector.JS. So…

My Game Development Tools

My Ultimate List 🛠️ Hello Coders! 🎮 As a WebXR game developer, I’m always experimenting with different tools and software to improve my workflow and bring my ideas to life. I’ve received numerous questions about the software I use, so I thought it was about time to share my ultimate list of tools with you all! Keep in mind a lot of tools are not free, but definitely worth it.

VR Game Design Principles

VR Game Design Principles Creating Engaging and Immersive Gameplay Experiences that players love Hello Coders! 👩‍💻 Today, I want to share some design principles that are specifically useful when creating virtual reality games. VR has become more and more popular in recent years, literaly bringing a whole new level of immersion to gaming. But with that added dimension comes a unique set of…

GameDev.tv Game Jam 2023 - Final

Devlog Day 9: Life at Pixel Farm The final sprint 💨 Hello fellow devs! 🌱 I’m excited to share the final DevLog for my casual VR farming game, “Life at Pixel Farm,” which I’ve built for the GameDev_tv Game Jam. With just 26 seconds to spare before the deadline, I managed to submit my game (phew!). Earlier this week, I spent some time working on the Itch.io page, and it…

GameDev.tv Game Jam 2023 - Day 8

Devlog Day 8: Life at Pixel Farm Fine-tune & Polish ✨ Hello fellow devs! 🌱 Today, I’ll share my progress on Day 8 of developing a casual VR farming game for the GameDev․tv Game Jam . The game is built with Unity and has a 2D aesthetic despite being in VR to follow the theme of the jam, “Life in 2 dimensions”. There’s just one problem - I miscalculated the duration of the…