Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
377 changes: 367 additions & 10 deletions astro.config.mjs

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"@astrojs/netlify": "^3.0.0",
"@astrojs/starlight": "^0.13.0",
"astro": "^3.6.0",
"prettier": "^3.1.1",
"sharp": "^0.32.3",
"starlight": "^0.3.9",
"starlight-blog": "^0.4.0"
Expand Down
Binary file added public/1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/6.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/9.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/AdvancedOptions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/ArcadeControls.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/Background2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/Background3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/Background4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/Blob.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/BlueGuy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/BootAutoLogin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/Command_lsblk.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/ConfigureInput.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/ConsoleAutologin.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/CorePackage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/CreatedAssets.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/DXBallGamePlay.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/DXBallTitle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added public/DockerSettings_WSL2.png
Binary file added public/Door.png
Binary file added public/EarlyPipes.png
Binary file added public/EmulationStation.png
Binary file added public/EnableSSH.png
Binary file added public/InterfaceOptions.png
Binary file added public/LivesHealthIcon.png
Binary file added public/Logo.png.png
Binary file added public/MENUBackgroundDark.png
Binary file added public/ManagePackage.png
Binary file added public/NetworkConfig.png
Binary file added public/NetworkManager.png
Binary file added public/PI_USB.jpg
Binary file added public/Pasted image 20220925150818.png
Binary file added public/PinkGirl.png
Binary file added public/Pipes.png
Binary file added public/PurpleGuy.png
Binary file added public/Rat.png
Binary file added public/Remote Window Splashkit C++,C#.png
Binary file added public/RemoteWindowVSCode.png
Binary file added public/RetroPiConfigAutostart.png
Binary file added public/RetroPiConfigStartEmulationStation.png
Binary file added public/RetroPiConfigTools.png
Binary file added public/Roach.png
Binary file added public/SSHEnableScreen.png
Binary file added public/ScreenShotEtcher.png
Binary file added public/SetKeys.png
Binary file added public/SettingsThemeSelection.png
Binary file added public/SewerReferenceArt.png
Binary file added public/StartOnSystem.png
Binary file added public/SystemOptions.png
Binary file added public/SystemThemeSetup.jpg
Binary file added public/VSCodeCommandPalletRemoteWindow.png
Binary file added public/VSCodeStartingDevContainer.png
Binary file added public/VSCodeTerminalSKM.png
Binary file added public/WaterReferenceArt.png
Binary file added public/background.jpg
Binary file added public/ball.png
Binary file added public/blue.png
Binary file added public/bluecap.png
Binary file added public/blueehb.png
Binary file added public/bluehb.png
Binary file added public/bright.png
Binary file added public/bts_tiles.png
Binary file added public/button.png
Binary file added public/button_sml.png
Binary file added public/button_sml_blk.png
Binary file added public/collectables.png
Binary file added public/commit.png
Binary file added public/companylogo1.png
Binary file added public/companylogo2.png
Binary file added public/config-data.png
Binary file added public/dark.png
Binary file added public/decorative_blocks.png
Binary file added public/decorative_misc_pipes.png
Binary file added public/dir-breakdown.png
Binary file added public/dropped_multiball.png
Binary file added public/dropped_multiplier.png
Binary file added public/dropped_multiplier_3.png
Binary file added public/dropped_multiplier_4.png
Binary file added public/dropped_multiplier_5.png
Binary file added public/edge.png
Binary file added public/empty_block_le.png
Binary file added public/font.PNG
Binary file added public/fork-repo.png
Binary file added public/forked.png
Binary file added public/gameover.png
Binary file added public/gauge_empty_2.png
Binary file added public/gauge_empty_3.png
Binary file added public/gauge_empty_4.png
Binary file added public/gauge_empty_5.png
Binary file added public/gauge_full_2.png
Binary file added public/gauge_full_3.png
Binary file added public/gauge_full_4.png
Binary file added public/gauge_full_5.png
Binary file added public/half_blocks.png
Binary file added public/holdable_misc_pipes.png
Binary file added public/holdable_misc_pipes_empty.png
Binary file added public/holdable_pipes.png
Binary file added public/holdable_pipes_empty_clear.png
Binary file added public/holdable_pipes_empty_le.png
Binary file added public/icon.png
Binary file added public/ladder.png
Binary file added public/logotext.png
Binary file added public/menubackground.png
Binary file added public/mid.png
Binary file added public/multiball_block.png
Binary file added public/multipipes_empty.png
Binary file added public/multipipes_empty_clear.png
Binary file added public/multiplier_3_block.png
Binary file added public/multiplier_4_block.png
Binary file added public/multiplier_5_block.png
Binary file added public/multiplier_block.png
Binary file added public/pink.png
Binary file added public/pinkcap.png
Binary file added public/pinkehb.png
Binary file added public/pinkhb.png
Binary file added public/pipes_64.png
Binary file added public/platform.png
Binary file added public/pull-request-2.png
Binary file added public/pull-request.png
Binary file added public/purplecap.png
Binary file added public/purpleehb.png
Binary file added public/purplehb.png
Binary file added public/review.png
Binary file added public/slimesurfin.png
Binary file added public/snake.png
Binary file added public/snake10.png
Binary file added public/snake20.png
Binary file added public/snake30.png
Binary file added public/snake50.png
Binary file added public/solid_blocks.png
Binary file added public/splashkit copy.png
Binary file added public/teamlogo.png
Binary file added public/temp540.png
Binary file added public/thoth_artwork.png
Binary file added public/thothlogo.png
Binary file added public/title copy.png
Binary file added public/title.png
Binary file added public/toxic_blocks.png
Binary file added public/transparent.png
Binary file added public/turn_pipes.png
Binary file added public/turn_pipes_empty.png
Binary file added public/turn_pipes_empty_clear.png
Binary file added public/waterRat.png
Binary file added public/water_blocks.png
Binary file added public/white.png
Binary file added public/winscreen.png
Binary file added public/wsl--status.png
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Data Analytics Code Repositories
---

The code received for Trimester 1, 2022 was not pulled into the Thoth Tech repository at the
completion of Trimester 3, 2021. All future links to Data Analytics code either within the Thoth
Tech repository or in separated forked repositories will be located within this document.

## Links to code

Please add your fork to this list, labelled appropriately, if work is incomplete but ongoing at the
end of the semester.

- [End of 2021 Repository - Contains Broken/Missing Imports](https://bitbucket-students.deakin.edu.au/users/zbargiamidis/repos/splashkit2021t3/browse/coresdk/src/coresdk)
- [T2 2021 Plan for Scope](https://bitbucket-students.deakin.edu.au/users/zbargiamidis/repos/splashkit2021t3/browse/T2%20Development%20Plan)
- [T1 2022 Data Analytics Code Refactor data_analytics.cpp](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/coresdk/data_analytics.cpp)
- [T1 2022 Data Analytics Code Refactor data_analytics.h](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/coresdk/data_analytics.h)
- [T1 2022 Implementation of Test Showcase](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/test/test_data_analytics.cpp)
- [T1 2022 Implementation of Unit Tests](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/test/unit_tests/unit_test_data_analytics.cpp)

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
title: Data Analytics Code Repositories
---

The code received for Trimester 1, 2022 was not pulled into the Thoth Tech repository at the
completion of Trimester 3, 2021. All future links to Data Analytics code either within the Thoth
Tech repository or in separated forked repositories will be located within this document.

## Links to code

Please add your fork to this list, labelled appropriately, if work is incomplete but ongoing at the
end of the semester.

- [End of 2021 Repository - Contains Broken/Missing Imports](https://bitbucket-students.deakin.edu.au/users/zbargiamidis/repos/splashkit2021t3/browse/coresdk/src/coresdk)
- [T2 2021 Plan for Scope](https://bitbucket-students.deakin.edu.au/users/zbargiamidis/repos/splashkit2021t3/browse/T2%20Development%20Plan)
- [T1 2022 Data Analytics Code Refactor data_analytics.cpp](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/coresdk/data_analytics.cpp)
- [T1 2022 Data Analytics Code Refactor data_analytics.h](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/coresdk/data_analytics.h)
- [T1 2022 Implementation of Test Showcase](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/test/test_data_analytics.cpp)
- [T1 2022 Implementation of Unit Tests](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/test/unit_tests/unit_test_data_analytics.cpp)

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
title: Data Analytics Epic
---

## Background / Context

SplashKit is a live product, which can be improved as per valid suggestions and observations. The
addition of Data Analytics is one of the recognised areas for improvement.

## Business Value

The addition of Data Analytics into SplashKit enables more focused classes to be designed for data
science students, rather than only using SplashKit for building games.

## In Scope

- SplashKit Core SDK (program code for the feature)
- SplashKit.io (articles on usage of the feature)

## Out of Scope

- SplashKit Translator
- SKM

## What needs to happen

- Review the code from previous trimesters to determine if any of the existing data frames code can
be reused
- Re-create the expected functionality of data frames, including capabilities to perform the loading
of structured data, multiple data types, data modification and cleaning, standardisation,
transformation, feature selection, feature extraction, and descriptive statistics
- Expand the functionality so that the user can visualise data with customizable parameters through
pie-charts, bar graphs, etc. (potentially through the existing SplashKit drawing modules)
- Produce documentation for the usage of the module
- Assess the potential for integration with the machine learning module

## Assumptions / Dependencies

- Everything is customizable by the user (for example, the colours in visualisations)
- Previous contribution code is accessible and working

## UX/UI Considerations

N/A

## Analytics Considerations

None known

## Regulation & Compliance Considerations

N/A

## Operations / Support / Training Considerations

- Team members must become familiar with SplashKit, C++, Ninja and CMake
- Advise teams 2 weeks in advance of planned release

## Acceptance criteria

- Successful addition of being able to load, record, analyse, and visualize the correct data that is
desired by the users
- Functional and passing QA
- Easy to use (user acceptance testing completed)
- Documentation completed for design decisions and work
- Documentation fits current expectations as set by SplashKit.io and stakeholders
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: Software Requirement Specification (SRS) Document Template
---

## 1. Introduction

The purpose of Data Analytics module is to allowing users to load datasets from various file
formats, then perform data manipulations and visualization for the goal of extracting useful
insights from the dataset.

### 1.1 Purpose

The purpose of Data Analytics module is that it is a tool that allows users to import, create data
visualisations, and use pre-written algorithms to perform statistical analysis of the data, and
pre-process data for use in a machine learning model.

### 1.2 Intended Audience

The intended audience is Data Analysts, Machine Learning Engineers, and developers.

### 1.3 Intended Use

The intended use of this module is to create data visualisations and preprocess the data to be used
in a machine learning model.

### 1.4 Scope

- Create dataframes by importing datasets. Adding and removing rows/columns in a dataset.
- Changing data inside a dataset.
- Preprocessing functionality for cleaning and standardising the dataframe for the goal of making it
fit to be used in a machine learning model.
- Create data visualisations like bar graphs, histograms.

### 1.5 Definitions and Acronyms

- Dataset: A collection of data in tabular form. Files ending in comma separated values (.csv), tab
separated values (.tbv), Excel (.xlsx), test (.txt) file extension.
- Dataframe: Representation of dataset as an object in the program which allows users to use method
calls to perform actions on the dataset.
- Standardising: the process of converting data to a common format to enable users to process and
analyse it

## Overall Description

### 2.1 User Needs

### 2.2 Assumptions and Dependencies

## System Features and Requirements

### 3.1 Functional Requirements

### 3.2 External Interface Requirements

### 3.3 Nonfunctional Requirements
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
title: Data Analytics Module Index
---

Here you will find all resources for the Data Analytics module within the SplashKit project. This
documentation is not only for onboarding purposes, but it keeps all team members and leaders up to
date on progress, issues faced and future scope.

## Links to SplashKit Modules Documentation

- [Background](Background/Index.md)
- [Research & Findings](Research%20&%20Findings/Index.md)
- [Testing](Testing/Index.md)

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
---
title: Semester 1 2022 Data Analytics Update
---

## State Of Code Received

There were a few roadblocks that halted progress through the data analytics module. Despite bug
fixes being listed as commits from the 2021 code file, it appeared to have never ran. Poor coding
practices were found throughout, including the following:

- portable_files_dialog.h library not recognised, which could not be resolved
- It was a very unneccessary addition as it only ran in one method and was not used for similar
things in other methods
- splashkit.h was called inside SplashKit, which broke the code and is something you definitely
should not do
- Most imports required for the code were missing
- Data validation code was lengthy and did not work
- A lot of true/false statements were switched, meaning it would never give a proper result
- Swapped between using poorly written Regex and making their own methods to do the same thing,
both did not work properly
- Display function used import that was Windows operating system only
- Means you could not run the Data Analytics module from Mac or Linux
- Also was poorly written and we never got it working
- Dataframe code looked impressive but without display function working, was hard to see if it was
working properly
- Ran out of time to test each individual method
- Poor coding practices within DataFrame object
- Methods to scale window for no reason
- Bad calculations (+1 and -1 in the same line is redundant)

This meant that instead of starting with Instance Selection and Data Visualisation, all our efforts
had to go into code quality assurance.

## Changes Made To Code

The T3 2021 code required a full rewrite. Imports were fixed by removing and adding required ones
Data validation functions have been rewritten to run. They will need to be re-worked into more
robust objects.

Dataframes code is not currently included in
[T1 2022 repository](https://github.com/lawrence0arabia/splashkit-core/tree/develop/coresdk/src/coresdk/data_analytics.cpp)
as it does not compile or run. You can find the dataframes code in the
[T3 2021 repository](https://bitbucket-students.deakin.edu.au/users/zbargiamidis/repos/splashkit2021t3/browse),
data_analytics.cpp from line 369 on.

## Issues To Be Resolved

- Review on whether string recognition is required.
- If yes, create dynamic objects for each item to be recognised
- Regex also needs to be improved
- Actioning this is not urgent, but course of action is
- If no, remove altogether, along with tests
- Clean up Dataframes code line by line
- Superfluous code present, needs to be simplified
- Issues identified include:
- Reliance on Windows exclusive console functions, display function is littered with them.
STD_OUTPUT_HANDLE, GetConsoleScreenBufferInfo, hConsole, etc are all exclusive to windows,
need to make multi-platform. Would recommend trying to get it running on a Windows device
first just to make sure it does work before removing windows stuff. (It seems to be using
the windows exclusive functions to check the console window width before printing so it can
format the dataframe correctly. This feature is a nice-to-have, but Mac and Linux support
are MUST HAVES)
- Variable arrays, array size must be known at compile time in C++. This only seems to be an
issue for a couple of the insert functions in the dataframe code, so it is recommended to
comment them out for now and try get it working without them.
- Needs more comments and general simplification -- too hard to understand what the code is
doing.
- Code does not compile or run on Mac or Linux.
- Research Pandas Dataframes and review our current setup
- Add basic functions required for simple implementation
- Create new display function
- Needs to work on all systems
- Test Dataframe code
- As we do not think it has ever compiled or run, we need to determine that all functions and
objects work properly.
- If they do not: either refactor or begin to re-write code based on
[Scope documents](../Scope/Index.md).
- Tests will have to be created as none currently exist for the dataframes.
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
title: Scope for Data Analytics Module
---

The scope for the data analytics module depends on the finalisation of reviews for the code.

## Previous Scope

### Completed

These are things that were listed as completed, some of these things seem like they were never done
but ticked off.

- Functions to read in structural dataset
- Column by column indicated by the programmer/computer scientist
- Row by row indicated by the programmer/computer scientist
- Data management design for the analysed datasets
- Dataframe
- Data pre-processing capabilities
- Reading data from files
- Data cleaning

### To Do

#### 2022

- Data pre-processing capabilities
- Instance selection
- Data standardization
- Data transformation
- Feature extraction and selection
- Create MATLAB-like clear data input space, load data, visualisation, statistics, plots, subplots

#### Ongoing

- 1 year: across two trimesters for data visualisation plotting framework – data distribution and
central tendencies – functions for plotting 2D plots and axes formatting.
- 1.5 years: Incorporate with SplashKit - API - Input developed functions for handling inputs and
interactions esp. for window applications
- 2 years: Incorporate with Machine Learning module
- 2.5 years: Data visualisation

## New Scope

### If dataframes can be salvaged

- Begin ensuring the completed work is there. If not, create cards in Trello for things to be
re-done.
- Create Objects for data Validation, or remove and rebuild at correct stage in former scope.

### If dataframes can not be salvaged

- Begin the whole module again.
- Estimate new times for completion based on skill level and research.
Loading