up    |    index

amazing gamedev tip #1

March 24, 2023

if you hate making your game, your game will turn out shit.

thanks for attending my gdc presentation

In all seriousness though, I feel rather ambivalent about game development right now. I honestly just want to have fun with it again like when I was a kid. I guess actively trying to monetize your hobby has the potential to make you burnout and quit entirely. There's definitely steps I can take to improve my engine (and workflow) so that the next project isn't hell, but I'll be taking my time from now on. In an older log, I said I was learning Euclidean geometry, but I instead decided to switch over to algebra (gelfand) and I swear the cogs in my mind started working again. I think I'm just going to learn mathematics while slowly easing myself back into game development.

I've devised a roadmap for my future gamedev-related endeavors. Here it is if you're interested:

1) Optimize the engine

  • add a general menu navigation library to ease the development of menus and UI
  • optimize gouraud-shaded point light implementation
  • add gouraud-shaded directional lights (use only for dynamic lights; use sparingly and bake the lightings when possible)
  • add occlusion culling
  • add depth cue fog capabilities
  • fix clipping issues (don't use polyclip? use PsyQ clip funcs?)

2) Optimize the workflow

LVL format

  • should have culling options (occlusion, back-face, inverse back-face)
    • culling is limited to MTD files; we need to provide an interface to enable culling in the LVL format
  • turn the LVL script into a proper plugin

MTD format

  • should have options to manually adjust vertex colors and bake them
  • turn the MTD script into a proper plugin

ATD format

  • ensure parity with MTD format
  • use differentials?
  • turn the ATD script into a proper plugin

CXC format

  • add beziers to CXC format
  • add MPR (or GJK) collision
  • implement MPR into file format (and engine)
  • turn the CXC script into a proper plugin

3) Add new features

  • particle system
  • camera follow (for cutscenes)
  • debugging utilities
    • view CPU load
    • view GPU load
    • view frame times

4) Make an even smaller-scoped helicopter demo

  • one level
  • destroy stuff like buildings, billboards, fences, cars, etc..
  • fly around
  • explosions
  • chaos
  • have a game manual that helps the player play the game
  • no music (I don't feel comfortable always having to steal music from others, and I don't want to waste any XA audio channels like in my last project. It'll just be ambient)
  • don't rely entirely on mom for feedback and criticism
  • add "funny accessible stuffs"
  • paper aesthetic

I've also started using Fedora again, and unfortunately I haven't been able to get my capture card to work in OBS. Any future recordings will likely take place on mednafen until I can find a workaround (or make one)...