A browser game to explore and learn about solar variance.

High-Level Project Summary

A lot of factors can feed into the variable brightness of a star in the night sky. Our interactive web-based puzzle game provides a gentle introduction to a number of these by presenting the player with a model solar system along with a target light-curve graph of the star's relative brightness - the player is challenged to interactively manipulate features of the star and wider solar system to produce the target curve. While the puzzles start out relatively simple they all tie into real features demonstrated in stellar observation, and include information about real-world celestial bodies that exhibit them.Playable at https://strangelytyped.github.io/dot-slash-star/

Detailed Project Description

What we did

We have a designed a web based puzzle game which introduces players to - and challenges them to work with - different stellar features to tune the observed brightness of a star. As players progress through the game 's learning path the levels will gradually introduce new contributing factors that can affect observed brightness of a star, both intrinsic and extrinsic, with problem difficulty increasing over time as well to provide continued challenge.


Each level - while simulated simplistically with circular orbits and other ideal assumptions for the purposes of game playability - is based on real phenomena observed in real data, and the level summary aims to provide references and examples to frame the context as well as utilising publicly available data sets and how they are both generated and used by established projects such as the Kepler Space Telescope.


Our initial set of levels seek to familiarise the player with the effects of stellar pulsation and planetary occlusion on observed relative brightness - allowing them to manage quantity and attributes of planets in a solar system, and create and tune compound pulsation frequencies. Both of these features are illustrated in the solar system view in the middle, while the results of the users changes are immediately reflected in the simulated light-curve chart on the left. A (planned) scoring system will rate the user's resulting light-curve against the objective, with higher scores resulting from more precise matching of the target state of the solar system.


This form of interactive challenge requires the player to be significantly more engaged in the material than simply reading a document, and also strongly encourages a deeper understanding by providing immediate feedback on the effect of changes the user makes, and encouraging the user to explore the problem space as they seek a solution.


Tools and Frameworks

We developed a web-based application using the widely-adopted React.js framework, along with additional open source libraries such as MUI, chart.js, and KonvaJS to simplify and accelerate development. The application is hosted on github pages, with git used for source control.


Design Considerations

We chose to stick to a frontend only implementation to make the app more sharable and accessible as a classroom or university resource. The project's README contains getting started instructions, however they're as simple as "npm install" and "npm start".


Data Sources

Although our in-app simulations use synthetic data for practical reasons, we sourced original data from the TESS APIs and used an open-source library named lightkurve to chart lightcurves for our example charts and as references for level design.

Our image references are either fontawesome (open-source) or NASA sourced.


Future Plans

Several features were deliberately omitted from our initial scope due to time constraints, while others were simply not completed in time. Given the opportunity to spend more development time on the project we would like to add the following:




  • Additional stellar features such as binary star occlusion, sunspots, etc
  • Although planned, we did not have opportunity to implement a scoring system to compare produced and 'goal' light-curve charts
  • A more comprehensive tutorial and introduction to the game and controls


Longer-term goals include the ability to have a star picker that can dynamically produce levels for chosen or random stars by pulling data from the TESS API and other internet sources, and providing a custom level creator for user-generated content

Space Agency Data

We used Imagery from https://images.nasa.gov/ (exact sources cited in the project README)

We modelled our stars using data from https://archive.stsci.edu/missions-and-data/tess (MAST API, Kepler and TESS data, accessed via https://github.com/lightkurve/lightkurve)

The game uses these real stars simplified for playability.

Hackathon Journey

Space Apps was an awesome time, we got to collaborate with local teams working on a variety of challenges from ML to hardware hacking with microbits in an awesome venue (the MET office UK). The global discord allowed us to reach out to participants all over the world sharing resources!


We chose this challenge because we felt we could contribute something valuable to teachers everywhere! Our app simulates a solar system with easy to understand sliders and progressing complexity to help communicate concepts in an accessible way.


We started by exploring datasets and ideas of functionality, we considered a bitmoji style 'star builder' people could generate and share, a story exploring stars in the universe and settled on this simulator.


The maths was hard and took a significant investment in time, one team member focussed here. Finding the right data was a challenge that took 2 people for the first day.


As always, time management across such a short event was difficult, with the morning of day 2 involving significant pressure, however we were able to pull through and produced something we could demonstrate for our afternoon presentations.

References

https://images.nasa.gov/

https://archive.stsci.edu/missions-and-data/tess

https://github.com/lightkurve/lightkurve

https://simple.wikipedia.org/wiki/Variable_star

Tags

#game #solarluminance #star #learning #react #playable #TESS #kepler