Project Description

Immersive system to run interactive tutorials, hacking learning lessons or just games that integrates with your system. The main idea is to have an INK language engine to process the tutorial scripts and provide an interactive user interface to the user. The system should be able to listen to different Linux events (like filesystem changes, process is running, the current date, etc) and modify the tutorial state depending on that.

Example: * We've a tutorial to learn about how to use the linux terminal, a bash introduction * The tutorial gives to the user a brief explanation about how to create a directory and waits for the directory to be created * Once the system detects that directory, it automatically go forwards, says congrats to the user and continues with the next step

The main idea is to build the base system with Python and provide a generic interface (dbus, socket, cli) to be able to extend and use from different languages.

This idea is based on the Hack Computer concept, but trying to make it simpler and not tied to the desktop. It's a simple concept to have a way to create a more fun learning experience using a Choose Your Own Adventure like tutorial flow, with different user input that can happen in a different process.

Goal for this Hackweek

This is the full list of goals that will be great to have, in order of importance:

  1. Build a basic python Ink language interpreter
  2. Create the base system that runs the tutorial, keep the state and provide an API to be used
  3. Make the base system extensible with listeners that can wait for different kind of events:
    • user option selection
    • user text input
    • new file
    • date change
    • launch program, close program
    • system reboot?
    • ...
  4. Create initial tutorial about how to write lils tutorials / games
  5. Create different graphical user interfaces (GNOME shell plugin, desktop application, web interface...)

https://github.com/danigm/lils

Resources

python game tutorial learning scripting ui

Looking for hackers with the skills:

python game learning scripting tutorial

This project is part of:

Hack Week 22

Activity

  • about 2 years ago: cdywan liked this project.
  • about 2 years ago: robert.richardson liked this project.
  • over 2 years ago: ybonatakis liked this project.
  • over 2 years ago: kstreitova liked this project.
  • over 2 years ago: dgarcia started this project.
  • over 2 years ago: dgarcia added keyword "python" to this project.
  • over 2 years ago: dgarcia added keyword "game" to this project.
  • over 2 years ago: dgarcia added keyword "learning" to this project.
  • over 2 years ago: dgarcia added keyword "scripting" to this project.
  • over 2 years ago: dgarcia added keyword "tutorial" to this project.
  • over 2 years ago: dgarcia originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Resurrect NWS CLI project by seanmarlow

    Project Description

    Many years back I created a simple python based CLI package that wrapped the NWS API to get weather forecasts, discussions and current conditions. Meanwhile I have not had time to keep it up-to-date so many pieces are broken or using deprecated features of the REST API. The package is useful to get weather information much quicker from CLI than clicking through the NWS website.

    Goal for this Hackweek

    The goal for this project is update and fix the package as well as add new features. Also, the documentation can be updated to be more thorough and useful.

    Project URL: https://github.com/smarlowucf/wxcast

    Tasks

    • [x] Use Github actions instead of travis
    • [x] Move metar to nws api
    • [x] Convert string formatting to use F strings
    • [x] Add get WFO info
    • [x] Get a list of stations for wfo
    • [x] Get station info
    • [x] Fix 7 day forecast
    • [x] Add temp unit option to metar
    • [x] Add alias to metar for decoded version with conditions
    • [x] Add/update documentation
    • [x] Release new major version


    Symbol Relations by hli

    Description

    There are tools to build function call graphs based on parsing source code, for example, cscope.

    This project aims to achieve a similar goal by directly parsing the disasembly (i.e. objdump) of a compiled binary. The assembly code is what the CPU sees, therefore more "direct". This may be useful in certain scenarios, such as gdb/crash debugging.

    Detailed description and Demos can be found in the README file:

    Supports x86 for now (because my customers only use x86 machines), but support for other architectures can be added easily.

    Tested with python3.6

    Goals

    Any comments are welcome.

    Resources

    https://github.com/lhb-cafe/SymbolRelations

    symrellib.py: mplements the symbol relation graph and the disassembly parser

    symrel_tracer*.py: implements tracing (-t option)

    symrel.py: "cli parser"


    Saline (state deployment control and monitoring tool for SUSE Manager/Uyuni) by vizhestkov

    Project Description

    Saline is an addition for salt used in SUSE Manager/Uyuni aimed to provide better control and visibility for states deploymend in the large scale environments.

    In current state the published version can be used only as a Prometheus exporter and missing some of the key features implemented in PoC (not published). Now it can provide metrics related to salt events and state apply process on the minions. But there is no control on this process implemented yet.

    Continue with implementation of the missing features and improve the existing implementation:

    • authentication (need to decide how it should be/or not related to salt auth)

    • web service providing the control of states deployment

    Goal for this Hackweek

    • Implement missing key features

    • Implement the tool for state deployment control with CLI

    Resources

    https://github.com/openSUSE/saline


    SUSE AI Meets the Game Board by moio

    Use tabletopgames.ai’s open source TAG and PyTAG frameworks to apply Statistical Forward Planning and Deep Reinforcement Learning to two board games of our own design. On an all-green, all-open source, all-AWS stack!
    A chameleon playing chess in a train car, as a metaphor of SUSE AI applied to games


    Results: Infrastructure Achievements

    We successfully built and automated a containerized stack to support our AI experiments. This included:

    A screenshot of k9s and nvtop showing PyTAG running in Kubernetes with GPU acceleration

    ./deploy.sh and voilà - Kubernetes running PyTAG (k9s, above) with GPU acceleration (nvtop, below)

    Results: Game Design Insights

    Our project focused on modeling and analyzing two card games of our own design within the TAG framework:

    • Game Modeling: We implemented models for Dario's "Bamboo" and Silvio's "Totoro" and "R3" games, enabling AI agents to play thousands of games ...in minutes!
    • AI-driven optimization: By analyzing statistical data on moves, strategies, and outcomes, we iteratively tweaked the game mechanics and rules to achieve better balance and player engagement.
    • Advanced analytics: Leveraging AI agents with Monte Carlo Tree Search (MCTS) and random action selection, we compared performance metrics to identify optimal strategies and uncover opportunities for game refinement .

    Cards from the three games

    A family picture of our card games in progress. From the top: Bamboo, Totoro, R3

    Results: Learning, Collaboration, and Innovation

    Beyond technical accomplishments, the project showcased innovative approaches to coding, learning, and teamwork:

    • "Trio programming" with AI assistance: Our "trio programming" approach—two developers and GitHub Copilot—was a standout success, especially in handling slightly-repetitive but not-quite-exactly-copypaste tasks. Java as a language tends to be verbose and we found it to be fitting particularly well.
    • AI tools for reporting and documentation: We extensively used AI chatbots to streamline writing and reporting. (Including writing this report! ...but this note was added manually during edit!)
    • GPU compute expertise: Overcoming challenges with CUDA drivers and cloud infrastructure deepened our understanding of GPU-accelerated workloads in the open-source ecosystem.
    • Game design as a learning platform: By blending AI techniques with creative game design, we learned not only about AI strategies but also about making games fun, engaging, and balanced.

    Last but not least we had a lot of fun! ...and this was definitely not a chatbot generated line!

    The Context: AI + Board Games


    Make more sense of openQA test results using AI by livdywan

    Description

    AI has the potential to help with something many of us spend a lot of time doing which is making sense of openQA logs when a job fails.

    User Story

    Allison Average has a puzzled look on their face while staring at log files that seem to make little sense. Is this a known issue, something completely new or maybe related to infrastructure changes?

    Goals

    • Leverage a chat interface to help Allison
    • Create a model from scratch based on data from openQA
    • Proof of concept for automated analysis of openQA test results

    Bonus

    • Use AI to suggest solutions to merge conflicts
      • This would need a merge conflict editor that can suggest solving the conflict
    • Use image recognition for needles

    Resources

    Timeline

    Day 1

    • Conversing with open-webui to teach me how to create a model based on openQA test results

    Day 2

    Highlights

    • I briefly tested compared models to see if they would make me more productive. Between llama, gemma and mistral there was no amazing difference in the results for my case.
    • Convincing the chat interface to produce code specific to my use case required very explicit instructions.
    • Asking for advice on how to use open-webui itself better was frustratingly unfruitful both in trivial and more advanced regards.
    • Documentation on source materials used by LLM's and tools for this purpose seems virtually non-existent - specifically if a logo can be generated based on particular licenses

    Outcomes

    • Chat interface-supported development is providing good starting points and open-webui being open source is more flexible than Gemini. Although currently some fancy features such as grounding and generated podcasts are missing.
    • Allison still has to be very experienced with openQA to use a chat interface for test review. Publicly available system prompts would make that easier, though.


    SUSE Prague claw machine by anstalker

    Project Description

    The idea is to build a claw machine similar to e.g. this one:

    example image

    Why? Well, it could be a lot of fun!

    But also it's a great way to dispense SUSE and openSUSE merch like little Geekos at events like conferences, career fairs and open house events.

    Goal for this Hackweek

    Build an arcade claw machine.

    Resources

    In French, an article about why you always lose in claw machine games:

    We're looking for handy/crafty people in the Prague office:

    • woodworking XP or equipment
    • arduino/raspi embedded programming knowledge
    • Anthony can find a budget for going to GM and buying servos and such ;)