0 / 0

T1 Report 2022: Week 3

Leadership & Co

Thoth Tech

Company Structure and Objectives for 2022 Trimester 1

Executive Summary

Thoth Tech (est. 2022) is a new software development company currently building from the ground up in Melbourne Australia. Thoth Tech’s mission is to build, operate, and deploy education technologies, creating tools that enhance education outcomes by empowering students, connecting them with tutors, and facilitating personalised learning experiences. We value our people, and we value excellence: We are people-focused, aim to produce sustainable products of excellent quality, and provide frameworks that provide a safe environment for learning and support of our team.

This report is for stakeholders, investors, and employees, and will outline the company structure, charter, objectives – both short and long term, and explore each product’s goals in depth.

Within the first third of 2022, Thoth Tech has recruited approximately 92 employees including four area leads, three product leads and eleven delivery leads. There will be another recruitment phase during the other two thirds of the year and an expected exit rate of 50 percent, with the potential for internships throughout the company.

Along with recruitment, Thoth Tech has taken onboard three external products, two live and well-established products – OnTrack and SplashKit – and DreamBig, a in development product which will leverage the OnTrack technology stack. Thoth Tech will also be creating our internal architecture and platform for employees throughout this third of the year, referred to as the Internal System project.

Both the OnTrack and SplashKit products have been identified as requiring extensions and additional features to improve the quality and usability of the product. OnTrack is a platform designed to facilitate student learning and reducing the pressure of achieving unrealistic grades. The focus is on providing a tailored learning experience, using tasks and a portfolio assessment. This product is live and is currently being upgraded to newer technology stacks and improving security and documentation. SplashKit is currently a 2D game development Software Development Kit used to teach object-oriented coding to beginners. It has been identified that SplashKit can be expanded to explore other areas and languages. The DreamBig product is in response to a need identified by Deakin, to provide a personalised development roadmaps to enhance students’ employability.

Due to a partnership with the School of IT at Deakin University, Thoth Tech and the subsequent products are funded, supported, and leveraged by Deakin. However, all contributions by Thoth Tech members are acknowledged due to the Open-Source nature of the company. Deakin provides ground zero end-user testing and focus groups for product improvements.

____________________

Andrew Cain,

Managing Director

____________________

Glory Lee,

Managing Director

Contents

Leadership Team

Roles and Responsibilities

Role Responsibilities Skills
Managing Director The role of the managing director is to oversee the Thoth Tech company executive leadership team to ensure they are running the company effectively and value is being added to the Thoth Tech products by the projects they are supporting.

- Provide guidance to executive leadership team

- Provide high-level vision for the ongoing goals of the company

- Provide a consistent company strategy due to low retention

- Leadership

- Communication

- Mentor

- Decision-making

Area Lead The role of the Area lead is to drive their area focus across all products and projects of their area. They also organise, lead, guide, and support Product and Delivery leads achieve their project goals.

- Establish company structure, systems & processes

- Establish a leadership cadence

- Drive a focus on Technical Learning, Data, Documentation and Quality Assurance

- Support Product leads with product vision

- Support Delivery leads with their project

- Proactively identify blockers and opportunities

- Leadership

- Organisation

- Interpersonal Savvy

- Problem-Solving

- Collaborative

- Mentor

- Communication

- Presentation

- Stakeholder management

Product Lead The role of the Product lead is to lead and support delivery leads in projects related to their product to ensure ongoing success.

- Drive the product in the direction determined by the Managing Directors and Area Leads.

- Strong drive towards toward objectives with bias for action

- Proactively identify blockers and opportunities

- Support delivery leads where needed

- Make thoughtful decisions motivated by data and research

- Be transparent and accountable by visualising objectives

- Communication

- Empathy

- Interpersonal Savvy

- Collaborative

- Leadership

- Stakeholder management

Delivery Lead The role of the Delivery lead is to lead, organise and support their project teams to ensure ongoing success.

- Establish a team cadence

- Build rapport with all team members to foster a cohesive and collaborative environment

- Strong drive towards objectives with bias for action

- Proactively identify blockers and opportunities

- Communication on what the team is doing, their plans and what is needed

- Communication

- Empathy

- Interpersonal Savvy

- Collaborative

- Leadership

- Stakeholder management

Trimester Goals and Objectives

This trimester, Thoth Tech has set out to achieve the following objectives:

Objective 1: Establish Thoth Tech as a company in line with our mission and values.

  • Create a company mission and values.
  • Create a company organisation structure.
  • Clearly define leadership roles and responsibilities.
  • Establish the Thoth Tech Repo.
  • Establish a Thoth Tech project branching structure and approval process.
  • Establish a Quality Assurance Policy and process.
  • Establish standards and expectations of product development.
  • Establish an Onboarding process.
  • Establish Documentation guidelines for Thoth Tech.
  • Establish a handover and Offboarding process.
  • Establish an internal website for centralised documentation visibility.

Objective 2: Create a safe, supportive, and collaborative company culture that empowers our employees to learn and develop their skills.

  • Create a company culture where feedback is welcome, and success is celebrated.
  • Support development of chosen skills in every team member.
  • Develop soft skills in leadership team.
  • Empower those embracing learning of new skills, to pass their knowledge on to other team members.
  • Create a psychologically safe space for collaboration to thrive.
  • Optimise the company experience for future employees.
  • Build an internal static website to host all documentation and relevant resources for the company

Objective 3: Add value to the SplashKit Product by extending functionality and languages

  • Migrate Arcana from SwinGame to create an easier and smoother installation of product.
  • Improve the SplashKit product through realistic physics, data visualisations and machine learning.
  • Improve SplashKit language compatibilities to expand learning accessibility for users.
  • Create a way to showcase games created in SplashKit

Objective 4: Add value to the OnTrack Product by adding and enhancing features

  • Add Voice Verification as a new feature.
  • Add Jupyter notebook support as a new feature.
  • Create a company hosted deployment of OnTrack.
  • Move Ontrack front-end away from legacy technologies.
  • Analyse, update, improve and create retrospective OnTrack documentation.

Objective 5: Create the DreamBig prototype as a new product that adds value to the Thoth Tech company

  • Build the vision and strategy for the DreamBig product.
  • Create a DreamBig prototype as proof of concept.

Company Charter

The Thoth Tech charter is a crucial tool for guiding our team, navigating decisions, establishing boundaries, and aligning the team on how we work together. It defines how as a company we work together to achieve success.

Our charter comprises of the following:

  • Mission: As a team, what are we trying to achieve?
  • Values: What do we care about?
  • Team Culture: How will we work together, what do we expect?
  • Roles: What roles do we need and what are the responsibilities of each role?
  • Metrics of Success: What does success look like to us?
  • Standards of Quality: What are our standards for high quality work?

Mission

Our mission is to build, operate and deploy world class education technologies. This is achieved by creating accessible tools that enhance education outcomes by empowering students, connecting them with tutors and facilitating personalised learning experiences.

Values

Our values describe how we work, what we represent, and guide us to be the kind of company and team members we want to be. When we live up to these values we will:

Be people-focused

We expect the best from each other, give each other the benefit of the doubt, encourage each other to take initiative to improve ourselves and the company, and provide direct and constructive help to each other. We collaborate with kindness while being respectful of each other.

Uphold sustainable excellence

We create working, maintainable, and understandable software that is enjoyable and easy to use. We strive to do it in a way that is sustainable for our team members and for our environment.

Be inclusive and supportive

We celebrate diverse perspectives and embrace uncomfortable ideas and conversations. We facilitate an environment in which all team members feel psychologically safe enough to make requests for what they need to do their job. We learn through failures while continually working to make things better.

Team Culture

  • Our employees will always operate with transparency and accountability.
  • We strive to always assume positive intent in our communication with each other.
  • We promote individual empowerment, with group support.
  • We achieve through iteration - progress before result is to be expected.

Roles

  • Roles and responsibilities should be clearly defined.
  • Decision-making should be made based on company values and evidence.

Metrics of success

  • We take pride in our work
  • We celebrate success regularly
  • We collaborate and mentor with each other to share our learning.
  • We define our success.
  • We do not take shortcuts.

Standards of quality

  • Security and privacy are paramount.
  • Everything we do must be well documented for ourselves and for the future.
  • What we do should be easy to understand.
  • Build everything with re-usability and iteration in mind.
  • User satisfaction is key.

Company Structure

The Company is broken up based on product, with the area leads spread company wide. There is a tier system built into the company structure – directors, area leads, product leads, delivery leads, then team members. This structure is primarily about support, guidance, and feedback, rather than authority.

Each employee has chosen their own role title based on their interests, skills, experience and what they want to develop.

The company structure is linked here and available on the next page.

Product Overview

Thoth Tech currently has two existing products, OnTrack and SplashKit, which are open source and live to users. Thoth Tech also has two products in development, a third external product called DreamBig, and an Internal Systems product for Thoth Tech employees. Each product is being developed during this trimester.

OnTrack

OnTrack is a platform designed to facilitate student learning by helping them achieve their unit learning outcomes and goals. It reduces pressure on achieving unrealistic grades, and importance on tailored content learning using tasks and a portfolio assessment.

This approach provides students with a simple but effective way to demonstrate their achievements and learning outcomes with the assistance of teaching staff feedback throughout the unit. OnTrack is based on Doubtfire LMS and Thoth Tech is working towards creating new and enhanced features that improve the teaching and learning experience.

Product Lead: Jordan Cameron Trainor

Front-End Migration Project

Overview, Goals, and Objectives

The Front-end migration project aims to modernise the existing components that use CoffeeScript and Bootstrap, towards the cutting-edge framework, Angular with Typescript. CoffeeScript has become dated and lacks the functionality, security, and support that more modern frameworks provide. Angular, which is supported by Google, allows developers to leverage its component-based architecture to quickly create dynamic single-page applications. It is built using TypeScript, which ensures greater security as the language supports types and allows for early bug detection. Other features include templating, two-way binding, dependency injection, and extending HTML syntax without relying on third-party libraries. Moving to Angular will continue to uphold the integrity of OnTrack. TypeScript is accepted by a larger community base and includes more advanced and scalable features. Once migrations are completed, it’s possible to add more advanced and quicker features to OnTrack.

Aims for Trimester

The aim for the trimester is for each of the eight teams within the project to migrate at least one existing component and build experience to enable accelerated progress in future trimesters by supporting future team members.

Deliverables

The Front-End migration team has taken a divide and conquer approach by allocating two people into a sub-team to ensure the amount of work is well distributed. This will allow for easier communication, teamwork, and workflow for more efficient progress.

Based on existing documentation, there are 183 components remaining to migrate, however this may not be accurately updated. An analysis will be completed to ensure this is updated.

The trimester deliverables will be developing and delivering at least eight migrated components. However, the long-term project deliverables are to ensure all future teams are supported and set up for success to migrate all remaining components prior to CoffeeScript support being removed.

The functionality of the migrated components will be identical to the old ones, with a user interface design that fits in with the new OnTrack theme. Testing of these components must also be considered and implemented to ensure that the components will function as expected for students and faculty.

Project Members (18)

Delivery Lead: Jesse Hancock

Delivery Lead: David Kwiatkowski

Front End Developers:

Team 1: Ni Leo, Leo Luong

Team 2: Perry Rose, Ma Junhua

Team 3: Deqian Cai Oscar, Renhao Chen Roy

Team 4: Zhao Yiqing, Mitchell Ross Burcheri

Team 5: Saleh Mohammed M Alharbi, Anthony Papoutsis

Team 6: Abdullah Abdulaziz M Algamdi, Grady Ramsay

Team 7: Ishrat Jahan, Ricardo Ingles

Team 8: Zheng Jiahao, Huang Yongqi

Deployment Project

Overview, Goals, and Objectives 

The Deployment project aim is to create an employee-run deployment of OnTrack separated from the existing Deakin version and hosted on Google Cloud. Due to the scale of the project, there are three subgroups within the project which will focus on Google Cloud deployment, CI/CD pipeline, and enhanced authentication. The objective of the Thoth Tech hosted version of OnTrack is to allow the company to own the deployment cadence, conduct end-to-end testing, reduce risks leaking bugs upstream an innovate on new features. In addition, stakeholders will have a much more efficient setup, as well an improved process for future employees contributing to the project. The pipeline will be focused on improving software delivery with a CI/CD approach to speed up development and provide a level of quality assurance, whilst the authentication system will ensure security and privacy.

Aims for Trimester 

  • Deploy a student-run version of OnTrack hosted on Google Cloud. This version will be running in isolation, independently of the Deakin University version.
  • Create a CI/CD pipeline that automates the building, deployment, and validation of a of the Thoth Tech OnTrack to Google Cloud.
  • Enable an enhanced authentication for user login which securely transmits data and protects stakeholder privacy.

Deliverables 

Google Cloud

Short term deliverables will be to Design and document the architecture overview and overall deployment, work collaboratively with relevant teams to automate the build, test, and deployment of OnTrack using a CI/CD pipeline, work collaboratively with relevant teams to allow for secure authentication for users of OnTrack and build a secure platform for the OnTrack deployment to be hosted on Google Cloud

Long term deliverables will be to host multiple environments (such as Production, Development, and potentially Test/Staging) of the OnTrack deployment in Google Cloud, as well as review further expansion to run multi-tenanted environments for Deakin University and other organisations within Google Cloud.

Pipeline

The short-term deliverable is that there will be an automated build CI/CD pipeline in production building and deploying OnTrack on to the Google Cloud platform and ensuring it is documented for long term usage and maintenance.

Enhance Authentication

Short term deliverables will be focusing on the empathise, define, and ideate stages - by giving more time to designing the possible solution, the team can produce a better answer. When the blueprint is out, the team will use the rest of the time to work on making the prototypes. Creating LDAP (Lightweight Directory Access Protocol) servers and testing them.

Long term deliverables will be continuous maintenance, improvement, and testing of the solution.

Project Members (9)

Delivery Lead: Jordan Cameron Trainor

Google Cloud

Cloud/DevOps Engineer:

Joyce Cruz

Back-end Developer:

Sultan Hindi A Albishri

Pipeline

DevOps Engineer:

Mathew Perkins

Lachlan Cayzer

Enhance Authentication

Full-stack Developer:

Linden Hutchinson

Back-end Developer:

Nathan Sukamto

Sarah Nicole Dyson

XueTing Jing

Jupyter Notebook Support Project

Overview, Goals, and Objectives

In the current version of the OnTrack product there is no support for submitting Jupyter Notebook ‘.ipynb’ files directly to OnTrack. As a result of this limitation, student users must export their Jupyter Notebook file as an HTML document, and then use a PDF converter to create a PDF suitable for uploading to OnTrack. This results in an inefficient, poor, and frustrating user experience.

The goal of this project is to solve this issue by allowing students to upload .ipynb files directly to OnTrack and utilise OnTrack’s PDF conversion pipeline to handle automatically converting the file to PDF format for the faculty staff to view.

The objective of this project is to help make using OnTrack a more efficient process and improve ease of use for students and staff involved in tasks that use Jupyter Notebook.

Aims for Trimester

For this trimester the Jupyter Notebook Support project team will review the existing work on this feature and create a plan to fully deliver the Jupyter Notebook file to PDF conversion feature.

Deliverables

The deliverables for this project will be the introduction of PDF conversion functionality for ‘.ipynb’ files into OnTrack, as well as documentation on the feature and a user guide on how to utilise the feature.

  • Give OnTrack the ability to accept ‘.ipynb’ files directly.
  • Have fully functioning ‘.ipynb’ to PDF conversion support integrated to Ontrack.
  • Have a proper user guide documentation for anyone to follow and get familiar with the implemented feature.
  • Keep track of how often the feature is being used as well as any failed conversions in a log.
  • To make sure that the code the team write for this feature does not affect any existing features or dependencies.

Long term deliverables beyond this trimester will be the maintenance and improvement of this feature.

Project Members (5)

Delivery Lead: Matt Clark

DevOps & Back-end Developer: Lachlan Foy

Back-end Developer & Technical Writer: Jordan Litsas

Back-end Developer:

Chetan Nagar

Ethan G. Keirs

Voice Verification Project

Overview, Goals, and Objectives

Currently, the OnTrack product has the functionality to accept audio submissions, but no verification system. Voice Verification for the online audio submissions will help mitigate cheating attempts and plagiarism.

In the past there have been teams who have worked on a Speaker Verification Library to validate audio files, a Speaker Verification API to wrap the library, and a Ruby app to integrate Doubtfire LMS and the Speaker Verification API. The objective of this project is to finalise a proof of concept for the Voice Verification system, deploy it to the Thoth Tech OnTrack environment, and deliver technical documentation.

Aims for Trimester 

The aim for this trimester is to work on understanding the work completed by previous teams, finish the voice verification feature, test the functionality, and create accurate documentation for the entirety of the Voice Verification system; architecture, deployment and how to user it.

Deliverables 

The short-term deliverables for this project will be upskilling, understanding, improving, integrating, testing, deploying, and developing any gaps identified in the existing pieces of work completed for the Voice Verification feature. This includes:

  • A Proof-of-Concept integration of Speaker Verification on Doubtfire.
  • Enrolment: Students can register their voice
  • Verification: When a task submission is received, verify the attached voice file
  • Deployed to the Thoth Tech OnTrack instance

There will also be the deliverable of creating documentation to ensure that the architecture, deployment, and user guides for recording voice samples for enrolment and verification.

The long-term deliverables for this project will be maintenance and improvements of this feature.

Project Members (6)

Delivery Lead: Shaine Christmas

Back-end Developer: Ha Nguyen

Front-end Developer: Devin Jayasinghe

Full-stack developer: Truong Phuc Le

Deployment Developer:

Yujun Gao

Yanjun Chen

Documentation Project

Overview

The Documentation project objective is to create documentation for the Thoth Tech company and its products, including OnTrack. The current state of documentation of Thoth Tech’s products’ is poor; with previous design decisions, updates and feature implementations not accurately documented or maintained. By clearly documenting the products Thoth Tech’s employees will be set up for success to hit the ground running when joining the company and a team. Additionally, the products’ end users, which include university students and educators, will find it easy to learn and use the products with simple and accessible documentation at hand.

The objective of the team is to create a smooth onboarding process and simplify the process of creating and managing documentation across the Thoth Tech products, for all teams. Having good documentation for the future trimesters will result in higher productivity and increasing progress.

The goals of the documentation project are to:

  • Identify existing documentation
  • Create a central document repository
  • Enable faster search and retrieval of documents
  • Streamline information and workflow
  • Create documentation processes to enable other teams to effectively document their work.

Aims for Trimester

The documentation team’s aim for the trimester is to ensure everything related to Thoth Tech is efficiently and accurately documented moving forward. By collating existing documentation, analysing gaps, collaborating with development teams’, and creating new documentation, the contributions made by the documentation team will set up future team leaders and members who decide to join Thoth Tech for success.

Deliverables

The first short-term deliverable for this project is to establish documentation guidelines and processes for all teams within the company to create and organise documentation for use, operation, maintenance, design, test, and access. This will ensure accountability and compliance to documentation standards and that documentation is highly accessible. The second deliverable for this project is to analyse the Ontrack repository for relevant documentation that needs to be updated, improved, or created if none exists already. This includes design documentation, requirement documentation, user documentation for development and user guides.

The long-term deliverables are to ensure that all documentation is kept up to date with changes made to the products, and to perform the same analysis and work on the SplashKit product.

Project Members (7)

Delivery Lead: James Micallef

IT Business Analyst: Manisha Jyoti

System Documentation Specialists:

Faqi Rehman

Kosta Constantinou

Md Fahim Mizi

Parth Aneja

Shivam Singh

SplashKit

SplashKit is an open-source Software Development Kit (SDK)​, created with the purpose of reducing the overhead required for truly technical coding​ and allowing students new to coding to create satisfying programs in a short period of time. SplashKit enables beginning coders to quickly learn to construct fun and functional programs which they can be proud to showcase. SplashKit is an open-source Software Development Kit (SDK)​, created with the purpose of reducing the overhead required for truly technical coding​ which enables students new to coding to create satisfying programs in a short period of time. SplashKit enables novice coders to quickly learn to construct fun and functional programs which they can be proud to showcase. It includes a large library of functions which can be utilized by the user to experiment and apply for their own application or game. This product is currently used by the students at Deakin University and aims to become a global educational toolkit. Currently the language used for development is C++ and the direction of the product is to improve and expand the capabilities to increase SplashKit accessibility.

Product Lead: Yash Kondlekar

Operations – Migrating Arcana to SplashKit Project

Overview, Goals, and Objectives 

The Programming Arcana is an open-source friendly programming textbook that teaches introductory programming concepts to those new to programming. From the programming Arcana’s GitHub, the guiding principles are:

  • Transferable concepts are more important than language specifics
  • Build concepts on top of known concepts as much as possible
  • Focus on procedural programming initially, with a view to transitioning to objects
  • Build programs that make it easy to see what is happening in the code

The programming Arcana currently has two versions, 1.0.x and 2.0.x. Version 1.0.x uses Tex as its typesetting system. Version 2.0.x uses Markdown as its typesetting system. This version also uses NodeJS and React to deploy a website. Version 2.0.x is still in progress; therefore, goals include finishing the documents, creating different programming language examples, and migrating the programming Arcana into SplashKit which would allow the SplashKit users to view the programming Arcana as they are developing resulting in an enhanced learning experience.

Aims for Trimester 

  • Investigating intended output
  • Upskilling for SplashKit and C++
  • Create the documents in programming arcana
  • Create code examples
  • Migrate programming arcana into SplashKit

Deliverables 

Short-term:

  • Work on documentation for programming arcana
  • Complete a few code examples using SplashKit
  • Begin the integration of programming Arcana to work with SplashKit

Long-term:

  • Complete documents for programming arcana
  • Complete all code examples for the beginners
  • Complete the integration of programming arcana to SplashKit

Project Members (3)

Delivery Lead: Aiden John Molluso

Documentation, Software Developer, & Research Specialist: Ray Guo

Documentation & Software Developer: Devesh Juggiah

Operations – Distribution Channels Project

Overview, Goals, and Objectives 

SplashKit is a product that has been developed to abstract away the complexities of programming languages for novice programmers. However, the toolchains and development environments required to use SplashKit can be difficult and confusing to see tup for inexperienced users. Some aspects of these issues have already been eased using SplashKit’s current install script, but it’s been observed that the initial installation process for “skm" could be further simplified.

The Distribution Channel Team intends to improve the installation process of SplashKit for new users across all three major operating systems; Windows, Linux and macOS.

The result of these improvements aims to be a single command or executable installation process that yields a working development environment for SplashKit on Windows, Linux or macOS ready for the user to start using SplashKit as quickly as possible. Decreasing the friction of the installation process aims to streamline the setup process for new users, potentially adding both product value to SplashKit – and confidence to new users.

Aims for Trimester 

The main aims for the Distribution Channel Team this trimester:

  • Research the existing installation process, the SplashKit management tool “skm”, and possible methods of improved installation on all three major operating systems.
  • Research and report on current known issues with respect to the installation of SplashKit on all three major operating systems.
  • Report on future possibilities
  • Investigate issues with Mac M1 chip devices

Deliverables 

Currently the deliverables planned for Sprint 1 will be to investigate the user and customer requirements in installing splash kit on Linux, Windows, and Mac OS (including the recent M1 chip). These deliverables are critical to the scoping of future deliverables and direction for our team as once completed, potential solutions can be determined, and tasks delegated accordingly.

The current deliverables intended for completion prior to the conclusion of sprint 1 are as follows:

  • Investigate core compilation process on Linux.
    • Investigate simple one-step executable to install
  • Investigate existing installation for MAC
    • Is it possible for this to be simpler?
    • Would the user benefit for a more streamlined approach?
  • Investigate existing installation for Windows?
    • Could containerisation containing all dependencies be streamlined enough for users?
    • Can the dependencies be installed in one downloadable bash/PowerShell script?

Our expectation is that the information gathered will to turn these into long-term deliverables and break those down into deliverables for the upcoming Sprint 2 and 3.

Project Members (4)

Delivery Lead: Aiden John Molluso

MacOS Specialist:

Richard Douglas-Denton

Software Developer:

Lachlan Morgan

Trent Mizzi

Extensions Project

Overview, Goals, and Objectives 

The SplashKit translator is a Ruby application that translates the original cpp library into a target language. Currently, the translator enables translation of the SplashKit library into Python (< 3.8), Pascal, Rust, and C#. The SplashKit Extensions project’s aim is to provide the SplashKit library interface in additional languages.

Translating the SplashKit library into other languages provides the flexibility to teach other languages using SplashKit as well as increase the adoption of SplashKit. The project also ensures SplashKit’s continued relevance in a changing field.

Aims for Trimester 

  • Understand how the language translators works
  • Investigate changes in Python between 3.8x versions and earlier to identify which of these changes have caused current incompatibilities.
  • Get SplashKit successfully working on the latest Python version (3.10.x).
  • Develop a new language translation for the Translator.
  • Test all existing and new language translations.
  • Prepare team members for future semesters.

Deliverables 

Short-term:

  • Documentation of the installation/setup of the SplashKit translator for development (Windows/Linux).
  • Documentation of the installation/setup and operation of the SplashKit translator.
  • Documentation of the process to test each of the language translations.
  • At least 1 working language extension for SplashKit.
  • SplashKit translated into Python compatible with version 3.10.x and backwards compatible (if possible).
  • Project decisions documentation to provide evidence-based decision-making history for future teams.

Long-term:

  • Further language extensions added for SplashKit

Project Members (8)

Delivery Lead: Allan Farrell

Software Engineer:

Ben Thomas

Jack Sievers

Sicheng Liu

Software Developer:

Norbert Pop

Dylan Medlin

Jingze Du

Timothy Wilbert

Applications – Arcade Machine Project

Overview, Goals, and Objectives 

The goal of this project is to create a physical arcade machine with accompanying software to showcase student games, developed with the SplashKit SDK. The machine will perform similarly to a Multi-Game Arcade Machine, allowing users to select a game from a local library of games. Our system ideally will instead have access to a growing library of SplashKit games publicly hosted on the internet. Objectives include:

  • Software which supports the ability to:
    • Upload games to the Arcade Machine
    • Select and play games on the Arcade Machine
  • The development of:
    • A vetting process which validates and reviews games for explicit/unacceptable content before addition
    • A user guide walking through the process of uploading games to the system.
    • Documentation

Additional features which may be considered later in the lifecycle of the project include the development and deployment of a website which:

  • Supports the uploading of games
  • Stores and displays:
    • reviews
    • high scores and achievements.

Aims for Trimester 

The primary aim of this trimester is to develop a platform which supports the uploading, storage, and access to a growing library of games developed using the SplashKit SDK. Access to the game library will be offered through the platform where the user can configure settings and select and play their desired game. If time permits, a physical Arcade Machine will be designed and manufactured however the software platform is the primary focus for the trimester.

Deliverables 

Short-term:

  • Platform which can access, download, and play SplashKit games stored in a public library on the internet.
  • Production of a physical Arcade Machine which runs on the platform to showcase SplashKit games created by students during university open days.

Long-term:

  • Arcade Machine and platform completed automated for uploading new games and self-maintaining.

Project Members (5)

Delivery Lead: Nick Agiazis

Software Developer:

Nguyen Quoc Huy Pham

Riley Nicholas Dellios

Anthony George

Sarah Gosling

Applications – Build a Cool Game Project

Overview, Goals, and Objectives

The project that the Build a Cool Game team has is to make games that can be showcased and played on the Arcade machine that is going to be virtually built. The goal is to make a game that uses all functions that SplashKit has to offer within game creation. The long-term goal will showcase that SplashKit can be extended upon as a game engine and can create games that can be played on different platforms. As SplashKit is widely used to create 2D games, it will be a good opportunity to showcase how SplashKit games can be extended and shown on a physical arcade machine.

Aims for Trimester 

The aim for this trimester is to work on game creation using SplashKit. This must incorporate all the functions that SplashKit has to make the games. This will showcase the creation tools that game developers can use to create a game from scratch so that it can be played on the arcade machine.

Deliverables  Short-term:

  • Cool 2D games demonstrating all functionality of SplashKit. (Minimum 1 per team member)
  • A step-by-step article guide of How to create the Cool games produced (Document design decisions, process and how-to-guides)
  • Guide uploaded to the SplashKit.io website.

Long-term:

  • Documentation updates on how to create cool games of different types
    • create templates for platformers and collection games.

Project Members (4)

Delivery Lead: Nick Agiazis

Game Developer:

Morgaine Barter

Lily Lan

Bella Chhour

Modules Project

Overview, Goals, and Objectives 

Across three modules, Physics, Data Analytics and Machine Learning, SplashKit aims to enrich and expand its functionality, to improve current features and extend its user base beyond game development. In the next two years, SplashKit aims to develop a full 2D physics engine that can be used by game developers, requiring the addition of a realistic and easy to use physics library. New capabilities to interact with, visualise, and analyse data are aiming to attract new users and provide data analytics functionalities for the existing user base.

SplashKit’s current objective for Machine Learning is to develop an Artificial Intelligence framework that allows the inclusion of artificial co-op or opposition characters into SplashKit games, with a long-term goal to integrate with the Data Analytics module and to create a complete Machine Learning framework.

Aims for Trimester 

This trimester, the team are aiming to finalise and publish the existing work completed for all three modules. The Physics and Data Analytics team are aiming to review and publish the existing elastic collision, impulse effect, and data frame code from past developers, whilst the Machine Learning team is expecting to use the example code from past developers as reference to build a brand-new system.

The team aims to produce new functionality this trimester to the existing code, including extending the physics API to complete the handing of 2D sprite and object collisions, and implementing gravity. Data Analytics team plan to extend data frames to allow instance selection, standardisation, transformation, and feature selection. Machine Learning team aims to design a reinforcement learning algorithm that is capable of co-op or opposition AI in SplashKit games.

Deliverables 

Short term:

  • Quality assurance report (assessing relevant work completed prior to 2022)
  • Verified existing code documented and pushed to SplashKit repository.
  • New feature documentation (user guides)
  • Physics:
    • Physics artefact enhancing collisions between sprites and objects, and gravity that acts on them.
  • Data Analytics:
    • Deliver new code that enables instance selection, standardisation, transformation, and feature selection on the existing Data Frames.
  • Machine Learning:
    • Design and prototype a reinforcement learning algorithm, providing evidence of research and design, that will be capable of training co-op and villain characters in SplashKit games.

Long term:

  • Publish the features completed in T1
  • Create documentation
  • Implementing new features
    • Implement sinking objects and projectile motion (Physics team)
    • Implement visual plotting and statistics (Data Analytics team)
    • Implement function approximation to the designed reinforcement learning algorithm (Machine Learning team)

Project Members (8)

Delivery Lead: Alex Hocking

Machine Learning

Machine Learning Developer:

Harry Dentry

Software Developer: Ricky Dodd

Physics

Software Developer:

Daniel Robert Haysham

Kanna Srilakshmanan

Data Analytics

Software Developer:

Ryan Allan Lawrence

Timothy Moore

Kai Tao

DreamBig

DreamBig is a new product innovation driven by the School of IT at Deakin. DreamBig aims to provide a personalised roadmap integrated with Ontrack to support students to develop their professional identity across their course and improve their employability after graduation. In addition, it aims to provide a platform to help set realistic expectations for students graduating into the real world. In line with this vision, it is proposed to build a prototype that can help achieve the following goals:

  • Multi-dimensional visualisation of each student's growing professional identity
  • Used within curriculum to encourage engagement.
  • Scaffolds reflections on industry-readiness
  • Increases awareness of important milestones and dates for graduate recruitment and internships
  • Customised paths for career starters, career changers and career advancers.

Product Lead: Abigail Howe

DreamBig Prototype Project

Overview, Goals, and Objectives 

DreamBig is at its early inception. The customer needs and product requirements are still yet discovered and refined. The Prototype project is an attempt to explore the product-market fit. The process includes determining our target customer, identifying underserved customer needs, defining the product value proposition, specifying the MVP feature set, building, and testing the prototype with the customers.

Aims for Trimester

Research will be conducted to investigate customer needs and prioritise high-value features. These will form the minimum viable product (MVP). As part of this work, the following will be established:

  • High-level UX and UI approach
  • Documentation of user flows
  • Quality assurance and security framework
  • Complete prototype incorporating the above analysis

Deliverables

Short-term:

  • Documentation of the initial phase of user research
  • Design planning and documentation (personas, UX/UI approaches and user flows)
  • Research and proposal of the system architecture

Long-term:

  • Implementation of prioritised features
  • Integrate Continuous Integration and deployment
  • New feature documentation

Project Members (7)

Delivery Lead: Nehanjajli Makineni

Back-end Integration Developer:

Zac Brydon

Database Engineer:

Munatsi Matipana

Documentation & Security Specialist:

Harrison Paul Allwood

George Gkoumas

Front-end Design:

Guanyu Chen

Harry Lui

Internal Systems

The internal systems product is a new initiative driven mitigating the challenge of the Thoth Tech company turning over half its employees every four months. The aim of this is to provide an accessible centralized location to display key company information and documentation which is sourced from the Thoth Tech repo.

Product Lead: Abigail Howe

Internal Systems Project

Overview, Goals, and Objectives 

The goal for the Internal systems team is to research, scope, plan and prototype a web page that will house all necessary information for Thoth Tech. To achieve this the main objectives across the Internal Systems team will be to research different tools, technologies and processes and decide on what will best serve requirements and given team member skills whilst also allowing for expansion and adaptability in the future. The web page will create a centralised location for all the company’s information needed for its internal audience. This in turn will simplify the onboarding and resource sharing amongst the company and its everchanging audiences.

Aims for Trimester 

The aim this trimester is to plan out the architecture needed, design the page, and create documentation that will serve as a solid base for the progressive development of the web page.

An understanding will be built of components required and the privacy and privileges needed by different users. A prototype will also be built that will showcase the design and functionality.

Git will be used to manage team contributions to the development of the web page and guidelines will be created for the testing structure utilised.

Deliverables

Short-term:

  • Documentation on proposed architecture and development processes
  • Design for web interface
  • Git Repositories for code management
  • Process in place to automatically generate upon update
  • Documentation on Test Case creation and Management
  • Working prototype

Long-term:

  • Customisable user privileges and privilege-based viewing
  • Simple to use and accessible UI
  • Easily updatable and expandable
  • Simple and effective UI/UX Testing

Project Members (4)

Delivery Lead: Matthew Fletcher

Front-end Developer: Areeb Ijaz

Junior Web Developer: Manveen Kaur Bhullar

Junior Back-end Developer: Tushar

Thoth Tech T1 Report | 24