desktop-tux
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.
Current, specific "TO-DO":
- display images in OpenGL
- find 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 screen
- clean up code
- Decide how to implement sound capabilities & start working on them
implement 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