<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>GibboGaming</title>
  <link href="https://www.gibbogaming.com/"/>
  <link rel="self" href="https://www.gibbogaming.com/feed.xml"/>
  <id>https://www.gibbogaming.com/</id>
  <updated>2026-10-11T00:00:00Z</updated>
  <author><name>GibboGaming</name></author>
  <entry>
    <title>Building a game from scratch: my own engine, or Unity, Unreal, Godot?</title>
    <link href="https://www.gibbogaming.com/blog/building-a-game-from-scratch-own-engine-or-unity-unreal-godot/"/>
    <id>https://www.gibbogaming.com/blog/building-a-game-from-scratch-own-engine-or-unity-unreal-godot/</id>
    <updated>2026-10-11T00:00:00Z</updated>
    <summary>What a game engine actually does, the best languages for building one, and the pros and cons of making your own versus using Unreal, Unity, Godot, MonoGame and more.</summary>
    <content type="html">&lt;p&gt;So, I want to build a game from the ground up. Before writing a single line of code, there’s a big question to answer: do I build my own engine, or use one that already exists?&lt;/p&gt;
&lt;p&gt;I’ve been reading, watching and asking a lot of questions (AI included), so here’s everything I’ve learned so far. If you’ve been down this road, I’d love to hear what you’d do in the comments.&lt;/p&gt;
&lt;h2 id=&quot;what-is-a-game-engine-anyway&quot;&gt;What is a game engine, anyway?&lt;/h2&gt;
&lt;p&gt;A game engine is all the plumbing that sits underneath a game. When you play something, a lot is happening every frame:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The game loop&lt;/strong&gt;: read input, update the world, draw the frame, repeat 60+ times a second.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rendering&lt;/strong&gt;: talking to the graphics card to draw sprites, models, lighting and effects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Input&lt;/strong&gt;: keyboard, mouse, controllers, maybe touch.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audio&lt;/strong&gt;: music, sound effects, 3D positional sound.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Physics and collision&lt;/strong&gt;: stopping you walking through walls, making things fall and bounce.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assets&lt;/strong&gt;: loading textures, models, sounds, levels and fonts, and packing them for release.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scenes and entities&lt;/strong&gt;: organising everything in the world (lots of engines use an &lt;em&gt;entity component system&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UI&lt;/strong&gt;: menus, health bars, inventories, settings screens.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tools&lt;/strong&gt;: a level editor, debugging overlays, profilers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Platform support&lt;/strong&gt;: building for Windows, Linux, Mac, consoles or the web.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Saving, networking, localisation&lt;/strong&gt;: depending on the game.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A prebuilt engine gives you all of that on day one. Building your own means writing every piece yourself, or stitching together libraries that do some of it.&lt;/p&gt;
&lt;h2 id=&quot;option-1-build-your-own-engine&quot;&gt;Option 1: build your own engine&lt;/h2&gt;
&lt;h3 id=&quot;pros&quot;&gt;Pros&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;You learn an enormous amount.&lt;/strong&gt; Graphics, memory, maths, performance: you understand what’s happening, not just which button to press.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Total control.&lt;/strong&gt; Nothing you don’t need, and nothing working in a way you don’t understand.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No licence terms or fees.&lt;/strong&gt; You decide everything.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Small and fast.&lt;/strong&gt; A custom engine built for one game can be very lean.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bragging rights.&lt;/strong&gt; Let’s be honest, “I built my own engine” sounds cool.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;cons&quot;&gt;Cons&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;It takes a long time.&lt;/strong&gt; Most of the work isn’t the game, it’s the plumbing and tools. Lots of solo projects never get past the engine stage.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tools are the hidden mountain.&lt;/strong&gt; Rendering a cube is a weekend. A level editor, asset pipeline and debugging tools are months.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Everything is your problem.&lt;/strong&gt; Every crash, every platform quirk, every audio driver issue.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fewer tutorials and less help.&lt;/strong&gt; With Unity or Godot, someone has already hit your bug. With your own engine, it’s just you.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shipping is harder.&lt;/strong&gt; Exporting to other platforms, especially consoles, is a big job without an engine that already supports them.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;option-2-use-a-prebuilt-engine&quot;&gt;Option 2: use a prebuilt engine&lt;/h2&gt;
&lt;h3 id=&quot;pros-2&quot;&gt;Pros&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;You start making the game immediately.&lt;/strong&gt; Movement, physics and lighting work out of the box.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editors and tools included.&lt;/strong&gt; Level design, animation, particles, profiling.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Huge communities.&lt;/strong&gt; Tutorials, forums, videos and asset stores.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-platform builds&lt;/strong&gt; often with one click (consoles usually need extra approval and tools).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Proven.&lt;/strong&gt; Thousands of shipped games have already found the rough edges.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;cons-2&quot;&gt;Cons&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Learning the engine’s way of doing things.&lt;/strong&gt; You learn the tool, not always the fundamentals underneath.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Licence terms and business decisions you don’t control.&lt;/strong&gt; Engines have changed their pricing and terms before, so it’s worth reading the current terms properly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bloat.&lt;/strong&gt; A tiny 2D game can carry a lot of engine it never uses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fighting the engine.&lt;/strong&gt; If your idea doesn’t fit how the engine wants to work, it can be painful.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;the-engines-worth-knowing-about&quot;&gt;The engines worth knowing about&lt;/h2&gt;
&lt;p&gt;Licence terms and prices change, so always check the official website before you commit.&lt;/p&gt;
&lt;h2 id=&quot;if-i-build-my-own-which-language&quot;&gt;If I build my own: which language?&lt;/h2&gt;
&lt;p&gt;You also have to choose how to talk to the graphics card: &lt;strong&gt;OpenGL&lt;/strong&gt; (older but easier to learn), &lt;strong&gt;Vulkan&lt;/strong&gt; (powerful but very verbose), &lt;strong&gt;DirectX 12&lt;/strong&gt; (Windows and Xbox), &lt;strong&gt;Metal&lt;/strong&gt; (Apple) or &lt;strong&gt;WebGPU&lt;/strong&gt; (the web, and growing). Libraries like &lt;strong&gt;SDL3&lt;/strong&gt;, &lt;strong&gt;bgfx&lt;/strong&gt; and &lt;strong&gt;sokol&lt;/strong&gt; can hide some of those differences for you.&lt;/p&gt;
&lt;h2 id=&quot;the-middle-ground&quot;&gt;The middle ground&lt;/h2&gt;
&lt;p&gt;There’s a route between “write everything” and “use Unreal”: use a &lt;strong&gt;framework&lt;/strong&gt;. MonoGame, raylib and SDL handle the low-level jobs (opening a window, drawing, input, sound) and leave the game architecture to you. You still learn how engines work, but you’re not writing a graphics driver wrapper before you’ve made your first character move.&lt;/p&gt;
&lt;h2 id=&quot;where-vibe-coding-fits-in&quot;&gt;Where vibe coding fits in&lt;/h2&gt;
&lt;p&gt;This whole site was vibe coded, so it’s a fair question: does AI change the answer?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AI is great at boilerplate&lt;/strong&gt;: setting up a game loop, loading files, writing shaders, explaining maths.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Popular engines have more examples out there&lt;/strong&gt;, so AI tends to give better answers for Unity, Godot or MonoGame than for a brand new custom engine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A custom engine grows fast&lt;/strong&gt;, and the more code there is, the more you need to understand it yourself. AI can help you build it, but you still have to own it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI makes learning low-level stuff much less scary.&lt;/strong&gt; Things that used to need a textbook now come with a patient tutor.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;so-what-am-i-going-to-do&quot;&gt;So, what am I going to do?&lt;/h2&gt;
&lt;p&gt;Honestly, I haven’t decided yet, and that’s partly why I’m writing this. My C# background points towards MonoGame or Godot, but the idea of building at least part of the engine myself is very tempting, both for the challenge and for the dev diary posts it would create.&lt;/p&gt;
&lt;p&gt;Over to you:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Would you build your own engine, use an existing one, or go somewhere in between?&lt;/li&gt;
&lt;li&gt;Which engine or language would you pick, and why?&lt;/li&gt;
&lt;li&gt;Have you shipped something yourself? What do you wish you’d known at the start?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Drop a comment below and help me decide. I’ll write up the decision (and the reasons) in a future dev diary post.&lt;/p&gt;
&lt;p&gt;Gibbo&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Fancy gifting me a game? My wishlist is now on the site</title>
    <link href="https://www.gibbogaming.com/blog/gift-me-games-from-my-wishlist/"/>
    <id>https://www.gibbogaming.com/blog/gift-me-games-from-my-wishlist/</id>
    <updated>2026-10-11T00:00:00Z</updated>
    <summary>You can now gift me games from my Steam wishlist, either through Steam or by sending a code, and get a thank-you shout-out on the blog.</summary>
    <content type="html">&lt;p&gt;Big news (well, big for me)! The Steam panel on the home page now shows my &lt;strong&gt;wishlist&lt;/strong&gt;, and you can help grow my backlog by gifting me a game.&lt;/p&gt;
&lt;h2 id=&quot;how-it-works&quot;&gt;How it works&lt;/h2&gt;
&lt;p&gt;Scroll down to &lt;strong&gt;My wishlist&lt;/strong&gt; on the &lt;a href=&quot;/&quot;&gt;home page&lt;/a&gt; and hit &lt;strong&gt;Gift this game&lt;/strong&gt; on anything that takes your fancy. You get two options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Buy it on Steam.&lt;/strong&gt; This opens the game’s store page, where you can choose &lt;em&gt;Purchase as a gift&lt;/em&gt;. Steam only lets you gift games to friends, so you’ll need to add me on Steam first (there’s a link in the pop-up).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Send me a code.&lt;/strong&gt; Got a spare key lying around? Pop it in the form with your name and an optional message. It comes straight to me and nobody else can see it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;getting-a-shout-out&quot;&gt;Getting a shout-out&lt;/h2&gt;
&lt;p&gt;If you tick the box that says I can thank you by name, I’ll write a thank-you post here on the blog and tell everyone how awesome you are. Prefer to stay anonymous? No problem at all, just leave it unticked.&lt;/p&gt;
&lt;h2 id=&quot;is-it-safe&quot;&gt;Is it safe?&lt;/h2&gt;
&lt;p&gt;Yep. Codes are encrypted the moment they arrive and only I can reveal them. The form is protected by Cloudflare’s anti-bot check, and your name and message are only ever shown publicly if you say so. The &lt;a href=&quot;/privacy/&quot;&gt;privacy page&lt;/a&gt; has the full details.&lt;/p&gt;
&lt;h2 id=&quot;no-pressure&quot;&gt;No pressure&lt;/h2&gt;
&lt;p&gt;This is completely optional. Reading the blog, leaving a comment and following along while I build my game is more than enough. But if you do fancy treating me, it’ll definitely give me a boost (and more to write about)!&lt;/p&gt;
&lt;p&gt;Thanks for being here.&lt;/p&gt;
&lt;p&gt;Gibbo&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Welcome to GibboGaming</title>
    <link href="https://www.gibbogaming.com/blog/welcome-to-gibbogaming/"/>
    <id>https://www.gibbogaming.com/blog/welcome-to-gibbogaming/</id>
    <updated>2026-10-08T00:00:00Z</updated>
    <summary>And the GibboGaming site is live!!</summary>
    <content type="html">&lt;p&gt;The new GibboGaming site is up and running… and so it begins!!&lt;/p&gt;
&lt;p&gt;Who am I?&lt;/p&gt;
&lt;p&gt;I go by the nickname Gibbo. Obvious, I know - it’s right there in the site title!&lt;/p&gt;
&lt;p&gt;I’m your average Joe gamer. I’ve spent most of my gaming life rage-quitting in CoD and reminiscing about the glory days of World at War, Modern Warfare, MW2, and Black Ops 1 and 2. If you know, you know.&lt;/p&gt;
&lt;p&gt;These days, real life takes over, and finding time to game is an ever-dwindling prospect. But I play what I can, when I can. Finding something new and refreshing is half the battle, especially when so much feels like the same rinse-and-repeat, microtransaction-filled money grab.&lt;/p&gt;
&lt;p&gt;So why have I created this site?&lt;/p&gt;
&lt;p&gt;Well, that’s the million-dollar question… and the answer is vibe coding!!&lt;/p&gt;
&lt;p&gt;I did some coding when I was younger and have worked with C# on small projects over the years, but AI has made it much easier to turn ideas into something real. This site is the result.&lt;/p&gt;
&lt;p&gt;I know it won’t be perfect. It’s hardly a multimillion-pound operation with endless CPU and GPU power behind it. But it’s a start, and with AI come new ideas - and with those ideas come new projects.&lt;/p&gt;
&lt;p&gt;Which brings me to the big one: I want to build a game from the ground up, and I’m going to give it a go!!&lt;/p&gt;
&lt;p&gt;How? Well… I haven’t figured that bit out yet. I’m still working through ideas, but I do know I’ll need some motivation to keep me focused. That’s where you lot come in!&lt;/p&gt;
&lt;p&gt;Follow along, share your thoughts, and give me a nudge when I need one.&lt;/p&gt;
&lt;p&gt;So sit back, relax, and let’s see what comes out of this madness!!&lt;/p&gt;
</content>
  </entry>
</feed>
