Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A cross-platform, top-down 2D space shooter written in C using only system libraries.

License

Notifications You must be signed in to change notification settings

gitgitcode/space-shooter.c

Repository files navigation

space-shooter.c

A cross-platform, top-down 2D space shooter written in C using only system libraries.

gif

Dependencies

  • Window management: Win32 (Windows), Xlib (Linux)
  • Rendering: OpenGL
  • Audio: XAudio2 (Windows), ALSA/pthread (Linux)
  • Gamepad: XInput (Windows), evdev (Linux)

Description

space-shooter.c is a cross-platform, top-down 2D space shooter written in standard C11 using only system libraries (with system libraries defined as anything included in the C standard library or supported operating systems). space-shooter.c has been tested on Windows 10 and Ubuntu Linux 16.04. This project drew heavy inspiration from Handmade Hero and pacman.c.

The design and architecture of space-shooter.c is described here [WIP].

Caveat

I am not a professional game developer, nor a professional C programmer, so the design may be unconventional or sub-optimal in many ways. Happy to take feedback from any pros out there!

Building

Windows

  • In a shell with cl set up, run build.bat for a debug build or build.bat release for an optimized build.
  • Run space-shooter.exe from the build/ directory.

Linux

  • Make sure development headers for the Linux kernel, Xlib, glx and ALSA are installed.
    • E.g. on Ubuntu, run the following: sudo apt install linux-libc-dev libx11-dev mesa-common-dev libasound2-dev
  • Run make for a debug build or make release for an optimized build.
  • Run ./space-shooter from the build/ directory.

What About Mac?

I hope to work on a Mac platform layer as soon as I have a Mac machine to work on.

Contributing

Since this project is intended as a personal challenge, I am not accepting external contributions at this time. I am very open to feedback, however, so feel free to open an issue for anything that needs fixing.

Asset Credits

About

A cross-platform, top-down 2D space shooter written in C using only system libraries.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 99.6%
  • Other 0.4%

AltStyle によって変換されたページ (->オリジナル) /