TUXDB - LINUX GAMING AGGREGATE
by NuSuey
NEWSFEED
▪️ GAMES
▪️ STEAM DECK ▪️ DEALS ▪️ CROWDFUNDING ▪️ COMMUNITY
tuxdb.com logo
Support tuxDB on Patreon
Currently supported by 9 awesome people!

🌟 Special thanks to our amazing supporters:


✨ $10 Tier: [Geeks Love Detail]
🌈 $5 Tier: [Arch Toasty][Benedikt][David Martínez Martí]

Steam ImageSteam ImageSteam ImageSteam ImageSteam ImageSteam Image
DevBlox #5 Player stats, new release date

TL;DR

  • new release date is first half of 2024
  • the server still records data
  • people are still playing the game

Player stats


Part of my real life job consists to work on data, mainly to create automated reports. So here are a few reports to see the health of the game's data.
On the last 12 months, there is an average of 14.17 different players every month! As those are stats from the server, it also includes stats from pirates. But as pirates often use the default name saved in the hacked game, it shoud not impact the total stats too much. This being said, I have no way to clearly distinguish Steam players from pirates. And Steam does not provide stats from players at all. I know there are websites recording Steam games activity, but they seem to look only at certain time intervals, and the game's numbers are too small and sporadic to be recorded this way. No matter what, I'm glad people are still playing God is a Cube!
Players have found 6604 distinct solutions over the years! As there is a finite number of solutions, players should find all the most common solutions over time. It's true that the number of players influences the number of solutions found, so I displayed both distinct solutions and monthly active players :
I think that over time, a bigger amount of players does not necessarily create a bigger amount of solutions found (we can see that around 2021 and 2022 the number of solutions does not become really bigger). I can generate stats for all levels, to see if there are still completed. Here is an example with the first level, to see how many times it is finished per month:
And here is a gif showing all levels of the game to see how many times they are finished per month, from start to finish:
Some new chapters have been inserted later (50 levels) 2018, hence the left part of the chart not having any data sometimes. To generate this gif, I am using ScreenToGif, here with the capture frequency set to "user interaction". I can just go through the pictures in the directory by pressing the right arrow key, and it records one frame per input. It's not 100% perfect, as sometimes the recorded frame is taken a few milliseconds too soon. Next time I should try to set the capture frequency to "manual". And then, I can set a progress bar to help identify the part of the animation (and so the approximate level of the game) I am showing.

New release date


After a discussion by Booyah, I edited the store description to put a release date for the first half of 2024. It gives me one year maximum to finish the game. Roughly:
  • September: take contact with a few professionals to get advice
  • January: beginning to work on the release
  • + a few months of delay
I edited the Early Access store description to reflect the new release date. I also took the occasion to remove Mac support from the store page, as announced in a previous DevBlog.

Data extraction procedure


I convert the server database from MySQL to SQLite, following the procedure I detailed in a previous DevBlog. Once I have .sqlite file with all data, I can get stats thanks to sqlite3_analyzer.exe, available in the SQLite3 zip download.
From one the first set of data, I get some info I can clean. Lot of data are from saves and development.
So I want to keep only real data. For this, I am using a data science tool called notebooks, and available in C# (the programming language used to make games on Unity) through the Visual Studio Code extension Polyglot Notebooks. I'm using the nuget package "Microsoft.Data.Sqlite" to access SQLite data. #!csharp #r "nuget: Microsoft.Data.Sqlite, 7.0.9" #!csharp using System.IO; using Microsoft.Data.Sqlite; #!csharp // variable string database_original_filepath = @"data_output\03-importSQLite\2023_07_08-godisacuvqube.sqlite"; string clean_folderpath = @"data_output\04-clean"; string database_clean_filepath = Path.Join(clean_folderpath, @"godisacuvqube-clean.sqlite"); string sqlite_filepath = @"C:\Program Files\SQLite\sqlite3.exe"; #!csharp // environment Directory.CreateDirectory(clean_folderpath); #!csharp File.Copy(database_original_filepath, database_clean_filepath); #!csharp public void ExecuteSql(string databasePath, string sqlCommand) { using (var connection = new SqliteConnection($"Data Source={databasePath}")) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = sqlCommand; command.ExecuteNonQuery(); } } } public void sql(string sqlCommand) { ExecuteSql(database_clean_filepath, sqlCommand); } #!csharp public IEnumerable ExecuteQuery(string databasePath, string sqlCommand) { using (var connection = new SqliteConnection($"Data Source={databasePath}")) { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandText = sqlCommand; using (var reader = command.ExecuteReader()) { while (reader.Read()) { dynamic row = new ExpandoObject(); var rowDict = (IDictionary)row; for (int i = 0; i < reader.FieldCount; i++) { string columnName = reader.GetName(i); object columnValue = reader.GetValue(i); rowDict[columnName] = columnValue; } yield return row; } } } } } public IEnumerable ExecuteQuery(string sqlCommand) { foreach(var x in ExecuteQuery(database_filepath, sqlCommand)) { yield return x; } } With the non query "drop table" I get rid of unnecessary data, and with the non query "VACUUM" I reduce the final size of the database. #!csharp string query = """ DROP TABLE IF EXISTS `LEVEL_RESULTS-ORIG`; DROP TABLE IF EXISTS `LEVEL_RESULTS-V00-05_14_03`; DROP TABLE IF EXISTS `LEVEL_RESULTS_DEV-ORIG`; DROP TABLE IF EXISTS `LEVEL_FEEDBACKS-V00-05_14_03`; DROP TABLE IF EXISTS `LEVEL_RESULTS-V00_05_13_00A`; DROP TABLE IF EXISTS `LEVEL_SOLUTIONS-V00_05_13_00A`; DROP TABLE IF EXISTS `LEVEL_FEEDBACKS-V00_05_13_00A`; DROP TABLE IF EXISTS `LEVEL_SOLUTIONS-V00_05_00_11A`; DROP TABLE IF EXISTS `LEVEL_RESULTS-V00_05_00_11A`; DROP TABLE IF EXISTS `LEVEL_SOLUTIONS-ORIG`; DROP TABLE IF EXISTS `LEVEL_SOLUTIONS-V00-05_14_03`; DROP TABLE IF EXISTS `LEVEL_SOLUTIONS_DEV-ORIG`; DROP TABLE IF EXISTS `LEVEL_SOLUTIONS_DEV_OLD`; DROP TABLE IF EXISTS `LEVEL_FEEDBACKS-V00_05_00_11A`; DROP TABLE IF EXISTS `LEVEL_RESULTS_DEV`; DROP TABLE IF EXISTS `LEVEL_RESULTS_DEV_OLD`; DROP TABLE IF EXISTS `CONNECTIONS_DEV`; DROP TABLE IF EXISTS `LEVEL_FEEDBACKS_DEV`; DROP TABLE IF EXISTS `LEVEL_SOLUTIONS_DEV`; DROP TABLE IF EXISTS `CARDS_DEV`; """; sql(query); #!csharp sql("VACUUM"); Now the database is 57% smaller! This is the final file I am using to do all the stats I need.


[ 2023-07-16 10:35:18 CET ] [ Original post ]

God is a Cube: Programming Robot Cubes
Marc Kruzik Developer
Dimensional Studio Publisher
2018-10-11 Release
Game News Posts: 9
🎹🖱️Keyboard + Mouse
Mixed (12 reviews)
Public Linux Depots:
  • God is a Cube: Programming Robot Cubes-Linux [672.17 M]
God is a Cube: Programming Robot Cubes is a programming puzzle game, where you control robot cubes with Artificial Intelligence made of simple symbols. You start with just one robot cube, then you learn how to manage conditions, then get access to tens of robots to build bridges and space pyramids.



Key features
  • 100 levels with open ended solutions
  • 10 chapters with their own difficulty curve - if you are stuck, just start another chapter and discover something new!
  • secret solutions for every level and a whole secret campaign
  • 20 creative mini cutscenes and several big cutscenes to show you the world
  • a complete level editor, with image cards to share your levels

MINIMAL SETUP
  • OS: almost all configs
  • Processor: 2.0 GHzMemory: 2 GB RAM
  • Memory: 2 GB RAM
  • Graphics: a 2008 graphics card should be fine (256 Mb RAM)
  • Storage: 600 MB available spaceAdditional Notes: I ported the game to Linux 3 years before launch. and tested it with thousands of users. so it should run fine on almost all configs. I hope you will like this programming game!
GAMEBILLET

[ 6132 ]

16.96$ (15%)
23.99$ (20%)
7.76$ (78%)
17.29$ (71%)
16.96$ (15%)
14.99$ (25%)
8.47$ (15%)
33.97$ (15%)
5.78$ (17%)
9.59$ (52%)
45.47$ (17%)
13.19$ (18%)
25.47$ (15%)
25.19$ (16%)
3.69$ (85%)
19.24$ (45%)
26.29$ (12%)
12.87$ (8%)
5.11$ (83%)
33.59$ (16%)
15.00$ (50%)
4.05$ (80%)
4.42$ (56%)
8.87$ (78%)
33.34$ (33%)
25.49$ (-70%)
0.79$ (92%)
13.24$ (34%)
11.25$ (75%)
10.00$ (60%)
GAMERSGATE

[ 2625 ]

5.0$ (90%)
0.85$ (83%)
3.28$ (78%)
0.92$ (82%)
5.0$ (75%)
19.8$ (67%)
9.44$ (48%)
0.59$ (40%)
4.5$ (77%)
4.95$ (67%)
0.85$ (83%)
0.92$ (82%)
3.0$ (80%)
17.99$ (55%)
5.84$ (55%)
0.45$ (85%)
3.33$ (52%)
1.0$ (80%)
3.26$ (78%)
10.79$ (46%)
13.79$ (31%)
3.04$ (70%)
13.49$ (33%)
5.0$ (75%)
3.0$ (85%)
5.7$ (81%)
7.5$ (75%)
0.68$ (83%)
9.74$ (35%)
1.7$ (83%)

FANATICAL BUNDLES

Time left:

8 days, 20 hours, 5 minutes


Time left:

14 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

11 days, 20 hours, 5 minutes


Time left:

36 days, 20 hours, 5 minutes


Time left:

16 days, 20 hours, 5 minutes


Time left:

8 days, 20 hours, 5 minutes


Time left:

43 days, 20 hours, 5 minutes


Time left:

32 days, 20 hours, 5 minutes


Time left:

29 days, 20 hours, 5 minutes


Time left:

37 days, 20 hours, 5 minutes


Time left:

39 days, 20 hours, 5 minutes


HUMBLE BUNDLES

Time left:

3 days, 14 hours, 5 minutes


Time left:

17 days, 14 hours, 5 minutes

by buying games/dlcs from affiliate links you are supporting tuxDB
🔴 LIVE