Compare commits

..

No commits in common. "main" and "v0.0.4" have entirely different histories.
main ... v0.0.4

3 changed files with 6 additions and 24 deletions

View file

@ -1,6 +0,0 @@
# Contributors
- Hartmut Seichter (dev lead)
- Robin Rottstädt (image loader)
- Tim Gösselmann (Win32 fixes)
- Hannes Brothuhn (Flappy Bird clone)

View file

@ -4,7 +4,6 @@ Here some ideas for improving this tiny engine:
## Rendering
- [ ] replace the OpenGL renderer with a Vulkan backend
- [ ] add sprite atlas support (test case Kenny flappy bird)
- [ ] add animatable sprites (access to UV mapping and tiling)
- [ ] add a SDF based renderer (parametric tiles and font rendering)
@ -16,11 +15,11 @@ Here some ideas for improving this tiny engine:
## System Level
- [ ] add a `Asset` handler to load cache and manage assets
- [ ] introspection of file system if we load asset
- [ ] introspection of file system if we load assset
## Design
- [ ] replace some of the 'unknown source' assets
- [ ] replace some of the 'unkown source' assets
## Build / Dev Support
- [ ] add a test rig either with Snitch or Catch2
@ -28,11 +27,10 @@ Here some ideas for improving this tiny engine:
- [ ] add CPU and GPU benchmarks to address various issues
# Performance
# Issues
For such a small engine, this should never happen:
```bash
```sh
Performance counter stats for 'bin/paradiso_pong':
555,35 msec task-clock:u # 0,042 CPUs utilized

View file

@ -1,7 +1,8 @@
/**
* paradiso - Paradigmen der Softwareentwicklung
*
* (c) Copyright 2023-2025 Hartmut Seichter and Contributors
* (c) Copyright 2023-2025 Hartmut Seichter and Contributors, Robin Rottstädt,
* brxxh (Hannes Brothuhn)
*
*/
@ -12,16 +13,12 @@
#include <paradiso/renderer.hpp>
#include <paradiso/shader.hpp>
#include <paradiso/sprite.hpp>
#include <paradiso/utils.hpp>
#include <paradiso/vector.hpp>
#include <paradiso/window.hpp>
#include <chrono>
#include <thread>
// TODO remove all hard coded 'magic' values!
// TODO - remove global variables
const int frame_rate = 60;
bool game_over = false;
float risky_pos_x;
@ -41,7 +38,6 @@ struct Background {
paradiso::Renderer renderer{};
// TODO no constructors in rule of zero
Background() {
auto backgroundImage =
paradiso::BitmapIO::get().load("background-day.png");
@ -95,8 +91,6 @@ struct Pipe {
bool pos_reset = false;
// TODO no constructors in rule of zero
Pipe() {
auto pipe_image = paradiso::BitmapIO::get().load("pipe-green.png");
@ -121,8 +115,6 @@ struct Pipe {
void update() {
// TODO improve state handling
if (game_over == true) {
paused = true;
}
@ -182,7 +174,6 @@ struct Grass {
paradiso::Renderer renderer1{};
paradiso::Renderer renderer2{};
// TODO no constructors in rule of zero
Grass() {
auto grassImage = paradiso::BitmapIO::get().load("base.png");
grassLeft = paradiso::Sprite{
@ -253,7 +244,6 @@ struct QuickWings {
int collision_counter = 0;
// TODO no constructors in rule of zero
QuickWings() {
float scaleh = 0.08f;
float scalew = 0.158f;