2025-02-07 12:52:48 +01:00
2025-02-07 12:52:48 +01:00
2025-02-07 12:52:48 +01:00
2024-09-14 16:28:15 +02:00
2025-02-02 13:00:05 +01:00
2025-01-05 23:27:31 +01:00
2024-12-03 19:57:33 +01:00
2024-09-18 20:05:23 +02:00
2024-09-13 18:51:39 +02:00
2024-12-03 19:57:33 +01:00
2024-12-29 13:37:16 +01:00
2024-10-15 20:52:55 +02:00

ProtoTank

A quick demonstration of the development of my skills in video games and C++ programming.

It (should be) a "very dirty" 80s-style arcade game with tanks.

I like big-canon, ballistics, retro and simulation, and that's where the initial concept came from. The similarity with Battlezone (Atari, 1980), 3D Tank Duel (ZX Spectrum, 1984) and other tank-like arcade games, their influence on development is limited to the graphic reference. In fact, I was only able to discover some of them during my research phase.

The game itself isn't very polished. Mainly focused on game engine design, state-of-the-art rendering, and CPU-accelerated computing techniques.

This code has been written with experimentation and education in mind. It is subject to the MIT license.

I've used some libs for backend boilerplate like:

  • SFML (window management)
  • tinyobjloader (OBJ file loading)
  • Tweaked DirectXMath (Heavy math duty)

Why ... ?

Why using SFML? I've really wanted to focus on the projection stuff and geometry constructs in first place. SFML is a light library, giving a drawing window access and pretty easy to use, nothing more. I'll look on a direct interface for window management (X11 or gdi32) later...

Why using DirectX for math? Yeah I know GLM exist, but it lacks of SIMD ready functions. And with a MIT license, the question of the proprietary code issue was quickly answered!

About

Actually, 72 coffees have been used to produce this code.

Feel free to ask question about the code: jackcartersmith@jcsmith.fr

Description
A quick concept of a 80s arcade game with tanks
Readme MIT 358 KiB
Languages
C++ 85.3%
C 13.7%
CMake 0.6%
Python 0.4%