A rhythm game from absolute scratch in C (if I stop procrastinating)
Find a file
Speykious f78e0904f3
Introduce another build system because why not
This is riftbuild, which is currently in closed alpha.
It looks good so I'm gonna use it.
2024-06-02 21:13:37 +02:00
.vscode Introduce another build system because why not 2024-06-02 21:13:37 +02:00
include/sanitizer Revert "NO I AM NOT USING C++" 2024-06-01 21:09:22 +02:00
src Introduce another build system because why not 2024-06-02 21:13:37 +02:00
.clang-format Finally, a good build system for C 2024-03-08 00:37:41 +01:00
.clangd Quick audio stuff, small changes 2024-06-01 20:26:08 +02:00
.gitattributes Getting rid of C++ was easier than I thought 2024-06-01 21:04:20 +02:00
.gitignore Introduce another build system because why not 2024-06-02 21:13:37 +02:00
build.zig BigBuffer allocation 2024-06-02 03:15:10 +02:00
build.zig.zon Finally, Zig 0.12 2024-05-31 13:17:53 +02:00
c4.build Introduce another build system because why not 2024-06-02 21:13:37 +02:00
common.buildvars Introduce another build system because why not 2024-06-02 21:13:37 +02:00
LICENSE Add MIT license 2024-03-20 14:19:17 +01:00
notes.md 2024-06-01 - notes: zig update, leaks 2024-06-01 21:05:41 +02:00
README.md XCreateSimpleWindow segfaults and I have no idea why 2024-03-21 02:14:02 +01:00
suppr.txt Quick audio stuff, small changes 2024-06-01 20:26:08 +02:00

C4

A rhythm game from absolute scratch in C (if I stop procrastinating)

This is my attempt at making anything that resembles a game from absolute scratch, doing everything myself, from memory management to windowing to graphics to audio. Honestly knowing myself I don't think it's gonna go anywhere since I procrastinate a lot, but maybe this time I'll go somewhere.

I'll keep notes about my experience coding it as I go.

Status

I barely have the start of a platform layer. This is gonna take a while.

  • platform layer

    • allocators
      • arena
    • allocating virtual memory
    • windowing (Linux, X11)
      • open and close windows
      • poll events
    • audio (Linux, ALSA)
      • how's the audio latency??
    • graphics (framebuffer)
  • audio

    • audio mixer
    • FFT analyzer (optional)
    • audio spectrum (optional)
  • graphics (2D)

    • text rendering
    • simple shapes
    • images
  • game (bruh)

    • separate threads (rendering, input, update, audio)
    • rendering: simple sprites
    • game mechanics (basic 4k vsrg)
      • slap music on top of it
    • simple immediate-mode UI
    • chart file format

License

This project is licensed under the MIT license.