Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
|
42a0d56173 | ||
|
aea5ca958a |
3 changed files with 24 additions and 6 deletions
6
CONTRIBUTORS.md
Normal file
6
CONTRIBUTORS.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Contributors
|
||||||
|
|
||||||
|
- Hartmut Seichter (dev lead)
|
||||||
|
- Robin Rottstädt (image loader)
|
||||||
|
- Tim Gösselmann (Win32 fixes)
|
||||||
|
- Hannes Brothuhn (Flappy Bird clone)
|
|
@ -4,6 +4,7 @@ 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)
|
||||||
|
|
||||||
|
@ -15,11 +16,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 assset
|
- [ ] introspection of file system if we load asset
|
||||||
|
|
||||||
## Design
|
## Design
|
||||||
|
|
||||||
- [ ] replace some of the 'unkown source' assets
|
- [ ] replace some of the 'unknown 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
|
||||||
|
@ -27,10 +28,11 @@ 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
|
||||||
|
|
||||||
|
|
||||||
# Issues
|
# Performance
|
||||||
|
|
||||||
|
For such a small engine, this should never happen:
|
||||||
|
|
||||||
```sh
|
```bash
|
||||||
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,8 +1,7 @@
|
||||||
/**
|
/**
|
||||||
* paradiso - Paradigmen der Softwareentwicklung
|
* paradiso - Paradigmen der Softwareentwicklung
|
||||||
*
|
*
|
||||||
* (c) Copyright 2023-2025 Hartmut Seichter and Contributors, Robin Rottstädt,
|
* (c) Copyright 2023-2025 Hartmut Seichter and Contributors
|
||||||
* brxxh (Hannes Brothuhn)
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -13,12 +12,16 @@
|
||||||
#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;
|
||||||
|
@ -38,6 +41,7 @@ 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");
|
||||||
|
@ -91,6 +95,8 @@ 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");
|
||||||
|
|
||||||
|
@ -115,6 +121,8 @@ struct Pipe {
|
||||||
|
|
||||||
void update() {
|
void update() {
|
||||||
|
|
||||||
|
// TODO improve state handling
|
||||||
|
|
||||||
if (game_over == true) {
|
if (game_over == true) {
|
||||||
paused = true;
|
paused = true;
|
||||||
}
|
}
|
||||||
|
@ -174,6 +182,7 @@ 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{
|
||||||
|
@ -244,6 +253,7 @@ 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