halflife-photomode

A basic photo mode for Half-Life.

Source: https://github.com/nullprop/halflife-photomode

Half-Life photomode


wgpu-renderer

Realtime renderer for learning, Rust, wgpu.

  • PBR
  • Shadow mapping
  • Volumetric fog
  • Runs on WASM and native desktop

Source: https://github.com/nullprop/wgpu-renderer

wgpu-renderer - Sponza

Demo: https://nullprop.sh/wgpu-renderer/
(Note: shadowmaps and volumetric fog are not enabled on WebGL.)
(Note: Demo may take a while to load -- 50MB Sponza scene embedded in WASM.)

  • WASD - Move horizontally
  • Ctrl/Space - Move vertically
  • Mouse - Look around
  • Scrollwheel - Increase/Decrease movement speed


drive

Procedular terrain experiment. C++, Vulkan.

Source: https://github.com/nullprop/drive

procedular terrain & sky

blobby

SDF rendering experiment. C++, bgfx.

Source: https://github.com/nullprop/blobby

signed distance fields


cave

Procedular cubemarched cave experiment. Rust, Bevy.

Source: https://github.com/nullprop/cave

procedular cave


Rootbrew

A game made in less than 48 hours for Finnish Game Jam 2023. C#, Unity.

Brewed in the toxic cauldron of a witch, you are a magical root spreading all across the land. You have been sent forth by your creator to slay all humans of the nearby village.

Source: https://github.com/nullprop/fgj23
GGJ: https://globalgamejam.org/2023/games/rootbrew-8

Team:

  • Piia Kemppainen - Art
    • https://www.artstation.com/piiakemppainen
  • me - Code, Audio
    • https://nullprop.sh
  • Janne Viitala - Art
    • https://www.artstation.com/rarrix
Rootbrew - gameplay

hl-renderer

A modified renderer for Xash3D FWGS (Half-Life) for testing post-processing effects. C, OpenGL.

Source: https://github.com/nullprop/hl-renderer

Color grading
Vignette
Chromatic aberration


my_game

Retro FPS toy project. C, OpenGL.

  • BSP rendering, lighting, collisions
  • MD3 models
  • Console, commands, cvars
  • Model viewer tool
  • Basic AI
  • Quake style movement

Source: https://github.com/nullprop/my_game

Basic AI
Models in game, testing with Q3 assets
Game console
Model viewer


Defence of Mann. Co

Moba gamemode for TF2, VScript.

  • Robots as creeps
  • Sentries as towers
  • Leveling, custom damage, health, etc. for player classes

Source: https://github.com/nullprop/domc

Steam Workshop: https://steamcommunity.com/sharedfiles/filedetails/?id=3308664636



qlsb

A Quake Live strafe bot for solving defrag maps (PQL/Turbo). C, Python.

  • Updated version of minqlx for C and Python API
  • Reversing Linux server and game binaries with IDA and Quake 3 arena source
  • User defined path through level for fitness
  • Strafe algorithm for (mostly) optimal speed gain
  • Simple brute force solver with short lookahead for now, maybe something smarter later
  • Likes to put itself in unrecoverable positions

Source: https://github.com/nullprop/qlsb

Quake Live defrag strafebot - stonestrafe2 (PQL/Turbo)
Quake Live defrag strafebot - dfwc2017-6 (PQL/Turbo)


GA-input

A genetic algorithm implemented in SourceMod that generates input sequences for playing TF2 surf maps.

Source: https://github.com/nullprop/GA-input

Genetic algorithm plays surf_beginner stages 1-4
Genetic algorithm plays jump_haze segmented


Shovel

A heightmap to displacement exporter for Source 2 Hammer editor. C#.

Source: https://github.com/nullprop/Shovel

Shovel - World Creator heightmap to Source 2 Hammer


BridgeSource2Plugin

Plugin for exporting assets from Quixel Bridge to Source 2. C#.

  • Exporting geometry & textures
  • Automatic VMAT and VMDL creation
  • Automatic compiling of exported assets with resourcecompiler.exe
  • Automatic VMDL LOD setup from all exported LODs
  • Automatic .spray -prefab creation from assets with multiple variations
  • Option to specify shaders to use in materials
  • Option to change export scale of 3d assets

Source: https://github.com/nullprop/BridgeSource2Plugin

BridgeSource2Plugin - Asset Sprayer demo
BridgeSource2Plugin - Model exporter demo


Tempus Records

Automated TF2 rocket/sticky jump speedrun recording & uploading to YouTube. JavaScript, Node.js.

  • Game & API automation with Node.js
  • ffmpeg for compression & video effects

Source: https://github.com/nullprop/TempusRecords
YouTube: https://www.youtube.com/tempusrecords

TempusRecords - newjuls on jump_keep_final - 01:17.699


Unity 5.2 - 2D line of sight shader

Unity shader experiment from 2016.

Unity 5.2 - LOS shader

Hammer maps

jump_2d

jump_2d showcase

jump_wallrun

jump_wallrun_b1 showcase

box13

Prompt:

i will send you a randomly sized and shaped room, and you have to put a jump in it. it won't be a boring hollow cube but something vaguely jump shaped. if you think you can fit more than one good jump in, go for it.

you can put anything you want inside your box, but nothing can stick out and you can't change the box i give you. (if it's stuff like regen, nonade or disp edges it can stick out, just make sure your jump and detail is in the box) the box i give you seals the map. if you add map wide entities or a bunch of logic things, please put them all next to each other. you don't have to fill up the box entirely, block off a section if you want.

the detail/theme is quarantine, but the interpretation is up to you. skybox is mpa115, light_env included in the zip.

house1