PageSourceSearch

https://www.nullpointer.co.uk/

html nullpointer.co.uk collected 2026-09-24 20:40:38 UTC 14,511 bytes, 12 lines download raw bytes

1<!DOCTYPE html><html lang="en-gb"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>NULLPOINTER</title><meta name="generator" content="Publii Open-Source CMS for Static Site"><link rel="canonical" href="https://tomnullpointer.github.io/gh-pages/"><link rel="alternate" type="application/atom+xml" href="https://tomnullpointer.github.io/gh-pages/feed.xml" title="NULLPOINTER - RSS"><link rel="alternate" type="application/json" href="https://tomnullpointer.github.io/gh-pages/feed.json" title="NULLPOINTER - JSON"><meta property="og:title" content="NULLPOINTER"><meta property="og:site_name" content="NULLPOINTER"><meta property="og:description" content=""><meta property="og:url" content="https://tomnullpointer.github.io/gh-pages/"><meta property="og:type" content="website"><link rel="next" href="https://tomnullpointer.github.io/gh-pages/page/2/"><link rel="preload" href="https://tomnullpointer.github.io/gh-pages/assets/dynamic/fonts/publicsans/publicsans.woff2" as="font" type="font/woff2" crossorigin><link rel="stylesheet" href="https://tomnullpointer.github.io/gh-pages/assets/css/style.css?v=e4d9dbb286ed39acbd89c04735d2c531">
1<script type="application/ld+json">{"@context":"http://schema.org","@type":"Organization","name":"NULLPOINTER","url":"https://tomnullpointer.github.io/gh-pages/"}</script>
1<noscript><style>img[loading] {
2                    opacity: 1;
3                }</style></noscript></head><body class="home-template"><div class="container"><div class="left-bar"><div class="left-bar__inner"><header class="header"><a class="logo" href="https://tomnullpointer.github.io/gh-pages/">NULLPOINTER</a><nav class="navbar"><button class="navbar__toggle" aria-label="Menu" aria-haspopup="true" aria-expanded="false"><span class="navbar__toggle__box"><span class="navbar__toggle__inner">Menu</span></span></button><ul class="navbar__menu"></ul></nav><a class="logo logo--atbottom" href="https://tomnullpointer.github.io/gh-pages/">NULLPOINTER</a></header></div></div><main class="main"><div class="hero"><div class="main__inner"><p><img class="post__image" src="https://tomnullpointer.github.io/gh-pages/media/posts/8/responsive/NP_logo_NoSubtitle-md.png" alt="" width="227" height="136"></p><p>Nullpointer / Tom Betts<br>Game Development, Procedural Generation, Digital Art</p></div></div><div class="main__inner"><article class="c-card"><div class="c-card__meta"><a href="https://tomnullpointer.github.io/gh-pages/tags/explainer/" class="c-card-tag">Explainer</a></div><a href="https://tomnullpointer.github.io/gh-pages/procjam-25-diary-p3-bells-and-whistles.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/33/2025-11-28-10_14_58-.png" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/33/responsive/2025-11-28-10_14_58--xs.png 320w, https://tomnullpointer.github.io/gh-pages/media/posts/33/responsive/2025-11-28-10_14_58--sm.png 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="921" width="1328" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/procjam-25-diary-p3-bells-and-whistles.html">ProcJam 25 Diary - p3 bells and whistles</a></h2><p>This is the final article about my spooky SCP bunker generator that&hellip;</p></header></article><article class="c-card"><div class="c-card__meta"><a href="https://tomnullpointer.github.io/gh-pages/tags/explainer/" class="c-card-tag">Explainer</a></div><a href="https://tomnullpointer.github.io/gh-pages/procjam-25-diary-p2-solids.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/32/2025-11-23-17_06_41-.png" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/32/responsive/2025-11-23-17_06_41--xs.png 320w, https://tomnullpointer.github.io/gh-pages/media/posts/32/responsive/2025-11-23-17_06_41--sm.png 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="952" width="1637" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/procjam-25-diary-p2-solids.html">ProcJam 25 Diary - p2 a 3D dungeon</a></h2><p>This is the second part of my 2025 procjam diary. The previous&hellip;</p></header></article><article class="c-card"><div class="c-card__meta"><a href="https://tomnullpointer.github.io/gh-pages/tags/explainer/" class="c-card-tag">Explainer</a></div><a href="https://tomnullpointer.github.io/gh-pages/procjam-25-diary-p1-dungeon-gen.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/31/2025-11-23-18_48_41-.png" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/31/responsive/2025-11-23-18_48_41--xs.png 320w, https://tomnullpointer.github.io/gh-pages/media/posts/31/responsive/2025-11-23-18_48_41--sm.png 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="688" width="686" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/procjam-25-diary-p1-dungeon-gen.html">ProcJam 25 Diary - p1 dungeon gen</a></h2><p>Procjam Its ProcJam time again https://itch.io/jam/procjam and this year I decided that&hellip;</p></header></article><article class="c-card"><div class="c-card__meta"><a href="https://tomnullpointer.github.io/gh-pages/tags/game-development/" class="c-card-tag">Game Development</a></div><a href="https://tomnullpointer.github.io/gh-pages/should-you-be-able-to-kill-the-king-rpg-design.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/30/1-1527823267-2.jpg" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/30/responsive/1-1527823267-2-xs.jpg 320w, https://tomnullpointer.github.io/gh-pages/media/posts/30/responsive/1-1527823267-2-sm.jpg 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="900" width="1200" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/should-you-be-able-to-kill-the-king-rpg-design.html">Should you be able to kill the quest giver? - RPG design</a></h2><p>I have been prototyping a new game, an RPG of sorts. And&hellip;</p></header></article><article class="c-card"><div class="c-card__meta"><a href="https://tomnullpointer.github.io/gh-pages/tags/game-development/" class="c-card-tag">Game Development</a></div><a href="https://tomnullpointer.github.io/gh-pages/game-post-mortem-highrook.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/25/HIghrook.jpg" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/25/responsive/HIghrook-xs.jpg 320w, https://tomnullpointer.github.io/gh-pages/media/posts/25/responsive/HIghrook-sm.jpg 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="432" width="768" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/game-post-mortem-highrook.html">Indie Game Post-mortem - Highrook</a></h2><p>A rocky road to Highrook So "The Horror At Highrook" has been&hellip;</p></header></article><article class="c-card"><div class="c-card__meta"></div><a href="https://tomnullpointer.github.io/gh-pages/website-refresh.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/24/NullSetAV-2013-03-07-17-23-31-78-2.jpg" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/24/responsive/NullSetAV-2013-03-07-17-23-31-78-2-xs.jpg 320w, https://tomnullpointer.github.io/gh-pages/media/posts/24/responsive/NullSetAV-2013-03-07-17-23-31-78-2-sm.jpg 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="900" width="1440" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/website-refresh.html">Website Refresh</a></h2><p>This is just a short post to accompany the recent site revamp.</p></header></article><article class="c-card"><div class="c-card__meta"><a href="https://tomnullpointer.github.io/gh-pages/tags/archive/" class="c-card-tag">Archive</a></div><a href="https://tomnullpointer.github.io/gh-pages/generating-city-maps.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/23/1480563951209439235-FIwE-uDXMAwGfs4-2.jpg" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/23/responsive/1480563951209439235-FIwE-uDXMAwGfs4-2-xs.jpg 320w, https://tomnullpointer.github.io/gh-pages/media/posts/23/responsive/1480563951209439235-FIwE-uDXMAwGfs4-2-sm.jpg 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="624" width="1200" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/generating-city-maps.html">Generating City Maps</a></h2><p>This post explains how I coded a city map generator for a&hellip;</p></header></article><article class="c-card"><div class="c-card__meta"><a href="https://tomnullpointer.github.io/gh-pages/tags/explainer/" class="c-card-tag">Explainer</a></div><a href="https://tomnullpointer.github.io/gh-pages/generating-a-fantasy-map.html" class="c-card__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/22/1470365535468761092-FGfHYSyWQAcjoWG.jpg" srcset="https://tomnullpointer.github.io/gh-pages/media/posts/22/responsive/1470365535468761092-FGfHYSyWQAcjoWG-xs.jpg 320w, https://tomnullpointer.github.io/gh-pages/media/posts/22/responsive/1470365535468761092-FGfHYSyWQAcjoWG-sm.jpg 480w" sizes="(min-width: 700px) 200px, (min-width: 480px) 160px, calc(100vw - 50px)" loading="lazy" height="626" width="1200" alt=""></a><header class="c-card__header"><h2 class="c-card__title"><a href="https://tomnullpointer.github.io/gh-pages/generating-a-fantasy-map.html">Generating a Fantasy Map</a></h2><p>This post presents the various stages of design and coding that I&hellip;</p></header></article><nav class="pagination desc"><a href="https://tomnullpointer.github.io/gh-pages/page/2/" class="btn btn--gray">Previous</a></nav></div></main><div class="right-bar"><div class="right-bar__inner"><div class="sidebar"><section class="box featured"><h3 class="box__title">Featured Posts</h3><ul class="featured__container"><li class="featured__item"><a href="https://tomnullpointer.github.io/gh-pages/about-me-post.html" class="featured__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/7/responsive/instapic-xs.png" loading="lazy" alt="" height="505" width="505"></a><div><a href="https://tomnullpointer.github.io/gh-pages/about-me-post.html" class="featured__title">About Me</a></div></li><li class="featured__item"><a href="https://tomnullpointer.github.io/gh-pages/about-my-academic-practice.html" class="featured__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/9/responsive/mexico1-md-xs.jpg" loading="lazy" alt="" height="513" width="513"></a><div><a href="https://tomnullpointer.github.io/gh-pages/about-my-academic-practice.html" class="featured__title">Academic Practice</a></div></li><li class="featured__item"><a href="https://tomnullpointer.github.io/gh-pages/cv-bio.html" class="featured__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/15/responsive/Bio-data-format-2-724x1024-3615278986-xs.jpg" loading="lazy" alt="" height="1024" width="1024"></a><div><a href="https://tomnullpointer.github.io/gh-pages/cv-bio.html" class="featured__title">C.V. Bio</a></div></li><li class="featured__item"><a href="https://tomnullpointer.github.io/gh-pages/nullpointer-games.html" class="featured__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/8/responsive/ss_244d42e4eed84c0d5e1413914cb6bef2911d3300.1920x1080-md-xs.jpg" loading="lazy" alt="" height="432" width="432"></a><div><a href="https://tomnullpointer.github.io/gh-pages/nullpointer-games.html" class="featured__title">Commercial Games</a></div></li><li class="featured__item"><a href="https://tomnullpointer.github.io/gh-pages/game-jams-and-freebies.html" class="featured__image"><img src="https://tomnullpointer.github.io/gh-pages/media/posts/14/responsive/2025-10-04-22_31_47-Publii-md-xs.png" loading="lazy" alt="" height="445" width="445"></a><div><a href="https://tomnullpointer.github.io/gh-pages/game-jams-and-freebies.html" class="featured__title">Game Jams and Freebies</a></div></li></ul></section><section class="box tags"><h3 class="box__title">Recommended Topics</h3><ul class="tags__list"><li class="tags__item"><a href="https://tomnullpointer.github.io/gh-pages/tags/about/" class="btn btn--gray">About <sup>(4)</sup></a></li><li class="tags__item"><a href="https://tomnullpointer.github.io/gh-pages/tags/archive/" class="btn btn--gray">Archive <sup>(6)</sup></a></li><li class="tags__item"><a href="https://tomnullpointer.github.io/gh-pages/tags/explainer/" class="btn btn--gray">Explainer <sup>(9)</sup></a></li><li class="tags__item"><a href="https://tomnullpointer.github.io/gh-pages/tags/game-development/" class="btn btn--gray">Game Development <sup>(9)</sup></a></li><li class="tags__item"><a href="https://tomnullpointer.github.io/gh-pages/tags/installation-art/" class="btn btn--gray">Installation Art <sup>(1)</sup></a></li><li class="tags__item"><a href="https://tomnullpointer.github.io/gh-pages/tags/isosurfaces/" class="btn btn--gray">IsoSurfaces <sup>(3)</sup></a></li><li class="tags__item"><a href="https://tomnullpointer.github.io/gh-pages/tags/procedural-generation/" class="btn btn--gray">Procedural Generation <sup>(15)</sup></a></li></ul></section></div></div></div></div>
3<script defer="defer" src="https://tomnullpointer.github.io/gh-pages/assets/js/scripts.min.js?v=b2d91bcadbf5db401b76eb5bb3092eb7"></script>
3<script>var images = document.querySelectorAll('img[loading]');
4        for (var i = 0; i < images.length; i++) {
5            if (images[i].complete) {
6                images[i].classList.add('is-loaded');
7            } else {
8                images[i].addEventListener('load', function () {
9                    this.classList.add('is-loaded');
10                }, false);
11            }
12        }</script>
12</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.