Compare commits
No commits in common. "main" and "v0.0.4" have entirely different histories.
3 changed files with 6 additions and 24 deletions
|
@ -1,6 +0,0 @@
|
||||||
# Contributors
|
|
||||||
|
|
||||||
- Hartmut Seichter (dev lead)
|
|
||||||
- Robin Rottstädt (image loader)
|
|
||||||
- Tim Gösselmann (Win32 fixes)
|
|
||||||
- Hannes Brothuhn (Flappy Bird clone)
|
|
|
@ -4,7 +4,6 @@ Here some ideas for improving this tiny engine:
|
||||||
|
|
||||||
## Rendering
|
## Rendering
|
||||||
- [ ] replace the OpenGL renderer with a Vulkan backend
|
- [ ] 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 animatable sprites (access to UV mapping and tiling)
|
||||||
- [ ] add a SDF based renderer (parametric tiles and font rendering)
|
- [ ] add a SDF based renderer (parametric tiles and font rendering)
|
||||||
|
|
||||||
|
@ -16,11 +15,11 @@ Here some ideas for improving this tiny engine:
|
||||||
## System Level
|
## System Level
|
||||||
|
|
||||||
- [ ] add a `Asset` handler to load cache and manage assets
|
- [ ] 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
|
## Design
|
||||||
|
|
||||||
- [ ] replace some of the 'unknown source' assets
|
- [ ] replace some of the 'unkown source' assets
|
||||||
|
|
||||||
## Build / Dev Support
|
## Build / Dev Support
|
||||||
- [ ] add a test rig either with Snitch or Catch2
|
- [ ] 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
|
- [ ] 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':
|
Performance counter stats for 'bin/paradiso_pong':
|
||||||
|
|
||||||
555,35 msec task-clock:u # 0,042 CPUs utilized
|
555,35 msec task-clock:u # 0,042 CPUs utilized
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
/**
|
/**
|
||||||
* paradiso - Paradigmen der Softwareentwicklung
|
* 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/renderer.hpp>
|
||||||
#include <paradiso/shader.hpp>
|
#include <paradiso/shader.hpp>
|
||||||
#include <paradiso/sprite.hpp>
|
#include <paradiso/sprite.hpp>
|
||||||
#include <paradiso/utils.hpp>
|
|
||||||
#include <paradiso/vector.hpp>
|
#include <paradiso/vector.hpp>
|
||||||
#include <paradiso/window.hpp>
|
#include <paradiso/window.hpp>
|
||||||
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
#include <thread>
|
#include <thread>
|
||||||
|
|
||||||
// TODO remove all hard coded 'magic' values!
|
|
||||||
|
|
||||||
// TODO - remove global variables
|
|
||||||
const int frame_rate = 60;
|
const int frame_rate = 60;
|
||||||
bool game_over = false;
|
bool game_over = false;
|
||||||
float risky_pos_x;
|
float risky_pos_x;
|
||||||
|
@ -41,7 +38,6 @@ struct Background {
|
||||||
|
|
||||||
paradiso::Renderer renderer{};
|
paradiso::Renderer renderer{};
|
||||||
|
|
||||||
// TODO no constructors in rule of zero
|
|
||||||
Background() {
|
Background() {
|
||||||
auto backgroundImage =
|
auto backgroundImage =
|
||||||
paradiso::BitmapIO::get().load("background-day.png");
|
paradiso::BitmapIO::get().load("background-day.png");
|
||||||
|
@ -95,8 +91,6 @@ struct Pipe {
|
||||||
|
|
||||||
bool pos_reset = false;
|
bool pos_reset = false;
|
||||||
|
|
||||||
// TODO no constructors in rule of zero
|
|
||||||
|
|
||||||
Pipe() {
|
Pipe() {
|
||||||
auto pipe_image = paradiso::BitmapIO::get().load("pipe-green.png");
|
auto pipe_image = paradiso::BitmapIO::get().load("pipe-green.png");
|
||||||
|
|
||||||
|
@ -121,8 +115,6 @@ struct Pipe {
|
||||||
|
|
||||||
void update() {
|
void update() {
|
||||||
|
|
||||||
// TODO improve state handling
|
|
||||||
|
|
||||||
if (game_over == true) {
|
if (game_over == true) {
|
||||||
paused = true;
|
paused = true;
|
||||||
}
|
}
|
||||||
|
@ -182,7 +174,6 @@ struct Grass {
|
||||||
paradiso::Renderer renderer1{};
|
paradiso::Renderer renderer1{};
|
||||||
paradiso::Renderer renderer2{};
|
paradiso::Renderer renderer2{};
|
||||||
|
|
||||||
// TODO no constructors in rule of zero
|
|
||||||
Grass() {
|
Grass() {
|
||||||
auto grassImage = paradiso::BitmapIO::get().load("base.png");
|
auto grassImage = paradiso::BitmapIO::get().load("base.png");
|
||||||
grassLeft = paradiso::Sprite{
|
grassLeft = paradiso::Sprite{
|
||||||
|
@ -253,7 +244,6 @@ struct QuickWings {
|
||||||
|
|
||||||
int collision_counter = 0;
|
int collision_counter = 0;
|
||||||
|
|
||||||
// TODO no constructors in rule of zero
|
|
||||||
QuickWings() {
|
QuickWings() {
|
||||||
float scaleh = 0.08f;
|
float scaleh = 0.08f;
|
||||||
float scalew = 0.158f;
|
float scalew = 0.158f;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue