WIP desktop-goose clone for X11 (currently moving the rendering to OpenGL, I wanted to use Vulkan but decided to go for OpenGL for backwards compatibility).
Working on getting all the basic mechanics working. Haven't worked with X11/Xlib and documentation is a bit spotty, but I'm figuring it out.
A short demo of the current status (as of 5/2/2020) can be seen here. The recorded footage is 60fps 4480x1080 and shows off the use of both .xpm files and .png files, although using .png without a compositor has issues because of transparancy (note that .xpm does not need a compositor for this, but it still helps with the rendering & overall smoothness).
Once I feel like the overall structure of the program (especially rendering and input handling) is solid, I will start implementing the "AI" for the Tux/goose/whathaveya.
TO-DO as of 2021:
- Start working on this again
- Smooth out the 1000 rough edges
- Implement window dragging
- Implement proper animations
- Implement AI
Current, specific "TO-DO":
Decide how to implement sound capabilities & start working on themdisplay images in OpenGLfind a way to display at least .gif (maybe .mp4 and/or .webm as well? ) so that the Tux can drag a gif onto the user screenclean up codeimplement OpenGL rendering (finally found a way to achieve a transparent window, see here)investigaste multiple screen width/height issue (on multiple monitors the physical max height seems to follow the max height of the screen from which the program is started and I haven't found a way to distinguish between single physical monitors) (issue fixed but not committed, since the rendering will be rewritten I'm going to incorporate this in #5)
Current overall "plan":
- Establish a solid foundation of structures and methods that are working , to build up on
- Customizable characters/animations (both in at least the .xpm and .png file formats)
- Customizable sound effects in both .mp3 and .ogg
- Different behaviors that are independent from one another so that you can toggle whatever you want
- Customizable typed messages