Git Product home page Git Product logo

everyday-calendar's Introduction

Everyday-Calendar

A visual representation of the Everyday calendar made by Simone Giertz to track the progress of new year's resolutions throughout the year.

Version 3 - Godot Everyday Calendar Gamification

After learning about the Godot engine and the uses of gamification, I am currently attempting a gamification of the everyday calendar in Godot 4.2.0 . This will take the traditional calendar UI approach, but add gamified incentives towards ensuring the user keeps track of their New Year's Resolution.

With this approach, the game borrows from idle games and how they encourage users to grind away at tasks to improve efficiency of the task and or receive custom character customization as a reward for continuing to interact with the system. In my implementation, your contributions of track your resolution build towards the speed and look of your spaceship that will be travelling through space.

Over time you will gain currency to spend on customization but that has not been implemented yet, however the speed of the ship will increase as you track more days as complete.

Here is a preview of the progress thus far: This is the UI created as a result of these aims:

In addition to the previous features, if this is developed correctly, I can possibly expand the features of this app by adding the ability to add tasks and notes for each day in the calendar as well, along with a productivity section that lets you time work periods and rest periods, in a pomodoro fashion.

Version 2 - Pygame Tradition Calendar

Seeing as my previous version was rudimentary and was only able to handle a single year's worth of data, I realized I needed to make the UI more user friendly and adaptable. For the second attempt at implementing an everyday calendar tracker, I used Pygame again, but with the aim of making a more traditional looking calendar interface and allowing the user to choose a day from it to then add tasks, notes and more to.

But, I wanted to keep the colour changing from the previous version as the motivation for continuing to stay true to your resolution.

This is the UI created as a result of these aims:

Upon getting this far into the UI, I realized there was a flaw in this implementation in comparison to the previous implementation, this being there was a large number of buttons on screen and their sizes had been increased to meet the desired expectations I had, this overwhelmed the CPU as the event handling and drawing for each button was not efficient in Pygame and would not improve regardless of further optimizations without causing great changes in the UI.

This is when I decided to discontinue this version of this project.

Version 1 - Pygame Everyday Calendar

It follows the same principle as the original idea where you essentially press a button to activate the light of a specific day in the year to show you have followed the resolutions for that particular day.

However, as it is made via code, instead of implementing every button as a basic light system, I wanted the button to cycle through an array of colors seamlessly creating an aesthetically pleasing pattern across the board if the user has ensured they follow their resolutions on multiple days consecutively. This is done to ensure the action of pressing the button is fun, pleasing and satisfying to the user, giving them a reward for their effort.

Here is a preview of the usage of the project:

And here is a preview of what a completed calendar would look like:

everyday-calendar's People

Contributors

arcane34 avatar

Watchers

 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.