Git Product home page Git Product logo

desktop-tux's Introduction

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.

TO-DO as of 2021:

  1. Start working on this again
  2. Smooth out the 1000 rough edges
  3. Implement window dragging
  4. Implement proper animations
  5. Implement AI

Current, specific "TO-DO":

  1. Decide how to implement sound capabilities & start working on them
  2. display images in OpenGL
  3. 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
  4. clean up code
  5. implement OpenGL rendering (finally found a way to achieve a transparent window, see here)
  6. 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

You like my work? Feel free to donate :)
donation

desktop-tux's People

Contributors

farfalleflickan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.