June 18, 2025
So, full honesty here. I tried doing the determinant and echelon form reductions and... It didn't go as plan. The commits are there, but I completely scraped that work, because, well, god knows why, but it didn't work. I will probably just reutilise what I used for the original Matrinator, if a bit improved overall. Let's see how that goes... If it even goes...
Finally added matrix multiplication! I also added matrix division, which is basically just A(1/B), which *can come useful, even if I don't know where, and it's cheaper than doing B=1/B and then AB, soooooo, it *will** be great in case it is useful :D I have also added the 1/M calculation and transposition, and now I am off to do determinants, for which I will probably just use reduction tbh, because, for an nxn matrix, most methods are O(n!) in average, whilst the Gauss-Jordan method should be n(n-1)/2 operations at most, which is O(n2) (And it will also allow me to do inverses in n(n-1) operations). My previous iteration of the Matrinator project CLEARLY showed that the Gauss-Jordan method is a much bigger improvement over the adjugates or the canonical determinant, by a lot! So, lets see how it goes... :D
This has been a long one, but the website kept dying :( I have basically just continued development on the Roulette update, but ALSO I have made the v2.3.0 update, which literally just adds a few requested features and fixes some minor bugs. Its only purpose in life is for me to be able to say I did something on this bot this month :3
So, this devlog is shorter but I just wanted to make everything as compatible as possible. I have adapted every single function that could take it to take a template, so in this way the end user has to worry the least possible amount about the whats and the nots of the whatnots of the various C++ types, and instead will just get an error if they fucked something up, and otherwise, we'll keep living, which is just what we want :D
Welp, I have done a bit more work, and by using some std helpers, I have not only made a bit more of a great assertion that we are properly using everything, but I have also managed to make it so we can define our matrices based on functions of all kinds, which is something that can come in really really handy, especially if you are in a pinch and need to fill out a matrix with some data that follows some model you know? Anyways, time to go back to the grind cave now :3
Would have preferred to do this devlog way before, but hey, servers were down... Anyways, I have implemented the very basics. For now the matrix class is basically a really specific array wrapper class, BUT, it's really cool because I did not use any std classes (other than cout and ostream to display the matrix on the console lol), so it is quite literally implemented from zero, as of right now. It also supports any number of dimensions, and any numerical type for its values, and it handles errors by itself, which is what I am hopefully going for yay :D
Version 2 of one of my "old" projects, a library and demo program that can do all kinds of useful stuff with matrices, in a very efficient manner.
I haven't really advanced a lot, but I have made a few good improvements to the vec2 class, which will surely be sooooo useful nad not at all something that is just microoptimizing so I can get some hours in :3
Well, I have finally decided to add something that I should have probably added before, but that nonetheless is still gonna be useful even with my late implementation: Knowing the length of the path. We will need this later to ensure we travel fairly, and that it is not only based on the area of the provinces, which is a bit more skewed. Besides that, it has been pretty simple to implement, if a bit brain wrecking because I forgot to reset the value when regenerating the line hehe :3 Anyways, that should be that new feature implemented, yay :D
I optimized the code a little tiny itty-bitty more, and added the modulo operator to the hadny-dandy vec2 class. Why? Did I need it for something? Not at all! I just thought it would be fun to implement it in case I actually have to use it in the future! :D (Was not wrong, by the way, it was really fun uwu)
And once again microoptimizing stuff that didn't need to be optimized... To be honest, if nothing else, this all is gonna make this engine 100x more efficient than any alternative because no one has spent this much time of their life into optimizing wether you have clicked on a province or not... Yay... :'3
Welp, once again I have improved code in a very minor and non destructive manner because of lack of motivation, yippieeeee. Anyways, yeah, just improved quad generation and text atlas reading, not too much. I will try to come up with the next feature to add for next devlog... Maybe :3
Welp, I have continued optimizing... Sorry, I guess I have an addiction hehe :3 I've been really slow on development but I'm going through a rough patch and I really cannot stomach more than barely enough to get these devlogs to get the stickers, to be honest, so yeah... I promise I'll make more when I'm better, hopefully sooner than later <3
Welp, I have very slightly improved some more things around. Yes, I know I should have been implementing more features but ohhhh well :3
You are probably unable to tell by this point that I spent the last hour just improving the error handler class and some miscellaneous things about debug mode right? Right? I hope I am not that predictable, right???
Ok, so, this is a big one, but, surprisingly, the only thing I have done here is fix stuff around. I have made the Window class better and the Error Handler now has much better logic and implementation. Apart from that, I also marginally improved the scrolling callback code, so that is nice. Now, time to go back to the eternal grind...
And that's the roulette docs done, so far... I still need to do the import and export format for roulettes and make sure it all works, as well as documenting it and making sure everything works right... Time to see how that goes :D
I have been have at work, squashing a few bugs on the roulette branch, but mainly starting to write the documentation for this new update. It's tedious, but hey, it makes later maintenance and explaining the bot's functions much, much, much easier, to be honest! So it is kinda a lot worth it to me :D
Welp, it's been quite a while. I've been squashing some bugs and started doing some more work on the Roulette update. I finally managed to fix the (in retrospective, very very very dumb) bug by which some users would be unaffected by the bot, as well as a few other bugs that were pissing me off. So, that's it. Another step towards glory! :D
It's not a BIG update, but v2.2.0 is out. It just fixes three major bugs and updates the Transformation String Format to v1.2, which is what actually justifies it being a minor release and not just a fix release. Anyways, with that said, now I have the resources on hand to start with the Roulette update. Let's see how it goes :D
Welp, I'm finally coming back to this project. And to start us off for v2.2.0, I'm going to be fixing quite the amount of bugs that need some minor squashing. It's going well so far, but there's still quite a bunch to do...
please fix and resubmit
Welp, i did it. After mindlessly reorganizing code, optimizing even the smallest details, and just basically making time, for lack of better words, I got to twenty five hours. With that, my good friends, I'm shipping this shit and maybe picking it back up next month. Thanks for joining me in this journey. Love y'all! <3
Been hard at work cleaning up some code... Literally nothing more, to be completely honest I am almost done with this for a while, I just want a half hour more...
Welp, I've done a few more upgrades to the backbone of the engine. The most notable is the improvement of the performance of the Catmull-Rom utility function, as well as a few upgrades to the vec2 class as a whole, that should allow for better and more efficient usage of their resources and utilities. With that, I really wanna get at least another hour of development in this project before shipping, but I don't really know if I am ready yet to take on one of the big features, or if I will utterly fail trying to do so... I will see what I can do, at least :D
Very small devlog, but I just managed to fix my issues with the line :D I also removed the connection cache because it was really, really buggy, and it wasn't worth the hassle to fix for a thing that wasn't really gonna actually save that many resources in practice, sooooo... Yeah :3
Welp, I've greatly optimized the lines, and fixed some weird bugs around them. I've also decided to give them tips to indicate direction, though they are still quite buggy and require a lot of refinement still, but they are slowly but surely getting there...
Welp, we now have some pretty smooth lines, that are pretty efficient to calculate and draw too! :D Now, I still have to refine them a little bit before I can call them properly finished, but this is truly a great achievement and I can't complain at all about them. Let's see where I can get them >:3
I FINALLY DID IT!!! I GOT LINES TO WORK!!! My wrists hurt, and my head is wobbly, but i finally got the debug lines to work. Turns out it was a mixture of the VAO dying along the way, bad regeneration, points being translated to normal device coordinates incorrectly... A whole fucking mess... Luckily, I managed to fix it just for a really ugly line display feature!!! :D
Don't worry, though, soon we'll have something prettier, trust me >:3
After fighting for my life with this wicked code, I finally got the line rendering to not break anything and work properly. At least, so I think, because it's just a literal line for now, so I'll have to see about turning it into a genuine thing I can see, with some thickness and all. Let's see how that goes...
So, I've found a few little bugs around with the Line class... I think most of them are solved now but now I've gotta do the hard part and actually render the pathfinding line... Let's see how it goes...
OK, so, I've started working on a pretty bare bones Line class, that for now just renders straight lines between points. The idea is for it to serve as a debug visualizer for pathfinding, and eventually be what displays the routes troops are going to follow. It's really small as of right now, and basically just a wrapper for some very basic OpenGL rendering. I still have to make a dedicated shader for this class, as well as actually implementing its usage, but we'll go about that in the next devlog, since this one has already gotten its fair time...
Welp, I improved the debug method to let me first select one province and then select a second one to go to. Thing is, whilst doing this, I noticed that, under some conditions, the pathfinding was doing something weird. Lo and behold, I realized I had forgotten to add the area sorting, so it was just choosing the fastest path basically at random. So that's now fixed. :D
Welp, I finally fixed it :D Now the pathfinding algorithm TRULY works, thanks to the magic of the Breadth First Search (BFS) algorithm, implemented to minimize traversed TOTAL area, instead of my (very) slightly flawed Dijkstra's algorithm implementation. The efficiency should be around the same, though, at least, I've been led to believe so... Anyways, with this, we go a step further towards our goal of having soldiers walk from one province to another, let's see how that goes! :D
OK, so my pathfinding algorithm has a few faults, namely that it sometimes takes a longer path due to not evaluating a big province and instead choosing many small ones over it. I will have to fix that as soon as possible, since otherwise, we will get very weird pathfinding, not gonna lie. I only discovered this after implementing a path cache, though, which should hopefully remove overhead in common movements, without causing too much trouble for other cases. Since, from experience, you sometimes move troops from A to B and then move them from B to A, or realize you need to send more from A to B, etc. Very specific optimization, but I think it will mostly be for the good. If it isn't, it's easy and safe to remove, since it isn't baked into any of the vital components of the pathfinding system. I hope it is worth it though, lol
I FINALLY DID IT!!! :D I got Dijkstra's Algorithm to work with my setup, and now we get pretty quick and easy pathfinding, that takes into account the area of the provinces being traversed, and accounts for them to make the genuinely shortest path. Now, in theory, the next step would be to implement the A* algorithm, which shouldn't be too hard, having this based already put down, and it will massively reduce our CPU overhead when we use big ol' maps, like, you know, what this is meant to use on a normal basis, duh. Let's see how that goes, now... :3
Welp, after experimenting a bit I decided to mostly optimize code. I have added an area value to each province, calculated when we generate the mesh, and representing the number of pixels it occupies on the map file. I'm gonna use this to try and hopefully implement A* and get some good pathfinding going :D
Welp, I've been hard at work trying to develop some pathfinding for the troops to be able to march. so far it's been going pretty well. I started with a very simple and barebones algorithm that just told me how many steps it took, as a minimum, to get from A to B, and I adapted it to actually give me the necessary steps for said path. It was quite the annoying task, and optimizing it so it works good with bigger maps and stuff is gonna be even worse :(
Welp, I did it :D I made adjacency calculations work now, and they are pretty efficient too not gonna lie. I even did a little optimization where only the colors used by the provinces are checked against, mainly because, whilst I am debugging, I am using run of the mill maps, which aren't thought out to make sure that they don't have any extra colors, so it ended up being 30x slower than it needed to be. Sure, in production this optimization isn't necessary, but I'll probably still leave it in for map makers and everything. Either that or make it so that it's only enabled on debug builds, I do not really know yet, but I will keep you all updated on how that goes about, on future devlogs :3
Have you ever had such an stupid bug that when you finally managed to solve it you physically cringed, or even wanted to cry? Well, that just happened to me. As I was trying to implement adjacency detection for the provinces, I discovered, lo and behold, that I had a massive bug. The list of adjacent province colors was being generated properly, but something, somewhere, was failing, and I couldn't, for the life of me, figure out what it was. Turns out, I had forgotten to add the variable to the copy constructor, so it was getting garbage collected in the background. I swear to god I'm about to cry.
I reworked the city system to now be its own struct, so that it's easier to handle and everything. This isn't really a huge change, but it allows the code to be cleaner. I also adapted the system so that we can OPTIONALLY set the city parameters aside from the city category, which is something that will probably come in useful later down the line. Whilst implementing this new system, I also rediscovered an old bug that has pestered me before, more specifically when playing with shaders, and it was about the resource file folder not being copied with every build. I fixed that with some CMake magic and now I'm very happy , because I just made my own life a tad bit easier :D
Please consider deploying your website using a hosting service like GitHub Pages or Nest!
OK, I've reworked how province categories work. I have also removed the unnecessary cities file (for now), and decided to add error handling for when we create provinces with unassigned categories, which will automatically be made into wasteland.
I know this still sounds like I'm just working on the backbone and not any actual functionality, but, trust me, please, I beg of you, this is going towards an actual functionality upgrade. Not a huge one, nor one that will make the game actually, you know, playable, at least not yet, but definitely one that will put us closer to that awesome goal :D
I have slightly optimized the code and improved some background stuff, yet again. I seriously need to make some actual changes tbh...
It works locally but Coolify flashbanged your demo, the normal SoM Site works. If I would've approved this it would've landed in voting without a proper demo i think. Please wait till this error is repaired and submit again :D
The site is now finished, time to upload :D
I have improved the look of the page, and added a good chunk more of text, as well as optimized the code a bit more, it's going really great meow :3
I'm having a lot of fun making all of these cool little effects tbh, it's great to have a silly project like this where I can just mess around with my knowledge and improve upon it, I'm really loving this, meow :3
I have made the website slightly better and more aligned with what I want it to actually look like now. There's still a lot to go on the styling side of things, but at least it's getting somewhere real good :3
I've started working on this for the Summer of Making Survey, and I'm having a lot of fun ngl, this is really cool :D
The 99th scene for Hack Club's Summer of Making's Survey.
I have fixed up some of the code and added acknowledgements to the README. I originally also wanted to optimize the text display even further (I'm obsessed with efficiency, I know), but I really couldn't find a good way to do it that wouldn't over-complicate the code. So it's staying like that for now :D
I've updated the mouse callback function to now use our marvelous vec2 classes to calculate the province and state we've clicked on in a more readable and clean fashion. Is it obvious yet how much I love this little helper class? :D
Welp, I've made some adjustments to the code so now the keybinds are better handled. I've also reworked the mouse drag funcionality so now it works with out really great vec2 helper class! :D
I have optimized the Text class a bit further. Now, characters are handled with a much superior and much more flexible switch statement, which should theoretically be a bit better than my previous if tower. Also, I have fixed WASD movement speed not scaling properly with scale, because it was bugging me out a bit.
So, I was coding on my laptop, and added a keybind system (for future usage :3), and whilst testing, I noticed something I hadn't noticed on my main computer. Turns out if you minimized the window, the game would crash due to a divide by zero error. I have done a quick and easy fix for it and now it works :D
I have taken the liberty of slightly optimizing the text rendering code. Now instead of creating an EBO and doing all that stupid stuff, we get the same amount of memory used, less geometrical complexity, and an object less we have to store, handle, and take care of. So yeah, it's not the biggest performance improvement ever, but it's definitely an improvement over the previous code. Much more readable and easier to understand now, too! :D
I reworked the Shader class to be able to, first, use our little vec2f helper structure to pass the player offset, and second, to work with the global error handler. This marks, officially, all classes that can throw an error, as compatible with the new error handler, which is really great for debugging and everything else. Let's continue now...
Ok so the servers fell and I could only do a devlog now, yippie so fun, this will not affect the quality of my votes or project in any predictable manner, I am fully sure :')
Anyways, I've slightly reworked the text system, and added an error handler to finally get rid of those TODOs that have been awfully pestering me since I started coding this engine, and so now we can more easily debug the code in a more precise and user-friendly manner.
I have done a good amount of work to fix some issues I had before with the text system. I tried to also fix some other issues with it but... They almost broke my skull open before getting any acceptable results, so I'm leaving the base there to implement later...
I have done a good amount of work to fix some issues I had before with the text system. I tried to also fix some other issues with it but... They almost broke my skull open before getting any acceptable results, so I'm leaving the base there to implement later...
I added a button to be able to import exported party lists!!! Finally, I don't need to manually input all of this data! :D
I addded exporting to CSV both for the party botes, and the seat distribution. It was a bit ahrder than expected, and I had to break my head a bit to make it efficient enough for my taste, but here it is now!
Tomorrow i'll implement importing a CSV party list, but for today it's already way too late for me to be completely honest, so bedtime it is...
I have improved the code a bit and fixed a few bugs, nothing major, but we're getting there..
I have reworked some stuff to make the blocked users per-user global instead of per-server. I had to redo a bit of the data of the bot for this and I plan to do a few more changes in this data version because I need to warrant a major version somehow :D
Been hard at work adding some new features. To be more precise, I have been refining the roulette, added a globally banned server list to compliment the global user banning system, as well as adding some Patreon-exclusive features (because I need to incentivise it somehow)
I have been hard at work improving a lot of the underlying code around here and getting stuff to work properly, squashing bugs and all. It's coming along pretty well, though I still have kind of a long way to go to see this released to the public. Very long way actually...
I have been hard at work, amking more utility functions for the roulette, and updating the commands. I even made a handy dandy function that checks if a user is blocked in any manner because the code looks prettier, and i can now officially say my utils.py is over 1000 lines :D
Started work on the TF Roulette after releasing v2.1.1. For now it's only the basics down, but it's shaping up to be a really cool feature for the gambling updated :D
I've been hard at work squashing down some pesky bugs that were causing mayhem with the bot, in preparation for a minor release that will make it great to use once again :D
I have worked on improving the code, making the percentage function work better, and adding an auto-sort for the parties from highest to lowest votes. I'm going to make a first ship, mainly to get it ship certified, I think. :D
Welp, I have added a percentage mode to this. You can either use it to automatically calculate how many votes from the pool a party has based on percentage, or, if you set the total amount of votes to a big number, just have percentual seat distribution. Yes, htis was also personally requested by the lady, how did you guess?
I have implemented the D'Hondt method for seat assignment, as per the personal request of my gf
Welp, did the starters. Just percentages for now. Let's try adding seats and more complex election methods...
I asked my gf for an idea for a SoM project, something she would personally find really useful and/or fun. After some debating, we arrived at a modular, easy to use, election simulator, that allows people who like to see politics play out, more easily see how different elections.
This last hour has been mostly setting up a GitHub workflow so I can automatically generate the build files for the project. This way, they automatically compile, and this means I already have a demo compatible with Ubuntu and Windows! So, time to ship (I need to get verified lol)
Ok , so, still no visual or functional changes, but i have reworked a few of the internal systems to be more compact and better readable, so there's that. Now, let's see if I can get to something that actually shows...
After reworking basically all of the codebase to be more readable, and better optimized, cleaner, and more standard and proper, I have obtained... Having the same final result as before, hehe... Welp, NOW I'll go and add more features i guess :3
I fixed a few more bugs and I'm now ready to release v2.1 of this little project. I think I'll step away from it for a while and instead focus on some other projects. Let's see how that goes!
This chunk of code that you see down here might not seem like much, but it's HUGE. Since the start of the bot, there's been an unsolvable bug, #16, haunting me forever. We couldn't transform people using the alternative method if we were transformed ourselves. Well, turns out, the best solution is often the simplest, and, after over half a year of that pesky middle finger of a TODO, I finally was able to say I fully fixed it, with something so simple it sounds stupid...
I also fixed a few more bugs that were bugging me down and I'm eating through TODOs (and adding a lot more too :D)
This project is going so good I swear! :3
I have fixed some more issues, with all of the code. Also added a limit to how many users we can have in a server to execute the wipe command, so that we don't find any issues later. Also reworked the transformation function so that it's slightly faster, and the logic graph slightly prettier :3
After a bit more work, I've started to work on the TSF standard a bit more, since it's still very unrefined. v1.1 isn't too heavy on changes, but that's the idea. I don't wanna throw caution to the wind and end up with a hot mess, so I'm just giving it small touches one at a time. I've also taken my time to fix one or two issues I found around whilst testing.
Welp, I have decided to update both the web as well as the bot. Mainly, I've improved how we handle URLs. Now we accept more cases and handle them properly, using some ReGex and some basic extra checks.
I have been hard at work documenting and fixing some functions around (only one function ngl, I still have a lot of work to do). I want to make this version a major revision of the code, that documents everything and also takes a bit of effort to make my code and storage soutions more efficient. Lets see how it goes... :3
I have been hard at work refactoring some code around! I want the page to be as light as it can without losing too much adaptability, modularity, or readability, and I think I've done a pretty good job. I've compressed the CSS pretty well, and made the JS not only slightly smaller but also better, by handling error codes in a proper, user-readable manner. I also added the GitHub badges to the footer of the main page so that people might feel more inclined to leave a start and/or check the source code. I don't think I'll do too much else today, but tomorrow I might start implementing a least a precursor to the TF Roulette! :D
Welp, I've been cleaning up the mess I left on my messy development cycles. I just have to do a bit more of this before starting to iterate again...
I finally finished the webstie! :D It is now linked as the demo link (http://www.transformate.live), and I think I'm ready for my second ship already! Let's go!
Welp, I'm testing v2 of the bot. I have bought a domain and put he docs there already. Now I am testing the API o see if it's fit o be on the same domain and afterwards I will make the website work on the domain. So fun :D
OK, improved the API, added a few endpoints, documented everything with examples... It's going great! :D Time to test the domain xd
OK, the website now supports uploading files for editing, or just to check their contents if you really want tbh. Now, lets improve the UI a bit and get the API in a better state...
Added a lot of cool stuff. New API interactions, improved backend and fronend, improved performance on both... The bot is shaping really great and we're halfway there to the v2 release, I'm so excited!!! :D
I have improved how the page looks, specially on mobile, where it had a little bug.
I still have to add a few features, but I have made the page way better to use on mobile devices! It's going so good :D
Welp, I've been hard at work optimizing and cleaning up the code even further. Everything is looking good so far. Before releasing the web page I want to try and add a few more things though...
Finished the dark mode, upgraded the look of the webpage, and optimized the underlying code a lot. Now I'm working on making the bot more efficient, faster, and the code more abstract. This will allow us to do a lot of fun things! >:D
I have optimized the code further, and am working on a dark mode. his is going well. Now, to bed, tomorrow will be another day... :D
Welp, I've been hard at work, and I'm almost done with the TSF Data Editor, just have to do a bit more, like add censors and an output field, but it's looking good so far :D
The website now works as expected with the new API implementation, now, lets make the TSF file editor...
I have decided to move the API to work with Discord instead of our own login system. This both simplifies the API, as well as making it more secure. The work required was grueling though :<
Welp, my head hurts already, time to go to bed and figure his out tomorrow... :p
The web page is shaping so good, we already have a login page that works with the API, looks not ugly, and even an account page. Now, I can't yet allow users to modify their data, since I need to make an API endpoint for that... Lets get working! :D
Ok so I stared work on the web. Not looking too pretty yet, but the login does work and does grant us an API token to use so...
Fixed two pesky bugs, I think we're ready for the first ship >:D
And with that, the documentation is done! I think I'll wait until I fix some bugs before shipping. Let's see how it goes...
I think I'm gonna leave it here for today, maybe... My hand aches...
I have spent way more time than I'm willing to admit, redoing the Terms of Service and the Privacy Policy so that they would look good, and also modified them to be more aligned with the goals of the project.
I have finally documented the commands... Only the transformation ones though :') I have also documented the save file format, as you can see, and added some extra information and corrected typos. My hands hurt :D
After finishing the twinning/merging tutorial, I have written the /transform command documentation. I have decided to do a small simplified logic diagram for every command so the internal logic is easier to understand for people, and an expected behaviour can easily be traced. I'm so loving MaterialDocs. :3
Welp, and that's the basic tutorial done... Now lets do the twinning/merging tutorial, and then command documentation... Let's go...
Welp, I've been doing great. Got almost half of the basic introduction finished. The release of the docs is getting near!
Welp, I have finished making the command group indices. Now I'll get with the basic tutorials...
Turns out, properly documenting a project as big as TransforMate takes a good while... I haven't finished even a 20%... :(
Welp, after researching, setting up, and doing some basic work, the docs are shaping up pretty well. There's still a lot of work needed, but I thought I'd do a devlog to register that I'm not just accumulating hours without doing anything. There's a lot of stuff going on for these docs, so they're easy to read, understand, and modify. And also pretty. Anyways, back to work now...
Some bugs fixed, and code cleant up, nice. Let's now make some proper docs for all of the bot, and then on to the web interface...
Welp, after a good while and amount of work, I have finally properly documented the API, as well as created some new checks for blocked users and optimized some stuffs internally. This basic API is ready for release, now I just have o make a proper good-looking web for it...
I have finally finished the API infrastructure, now I can start working on the documentation, and then the web interface :D
Welp, and that's API-driven transformation done... Now for the modifiers, and the basic API will be done...
I've been hard a work implementing the transformation function in the API... It's still only half done, but it's shaping well, let's see how it turns out...
I have given the API a few further improvements, as well as fixed some issues with the copying function. The bot is shaping up really well for the 1.6 update... :3
I have now made the program more secure by moving the secret key to the .env, and turning the fake user database into a (still fake) JSON file that contains the user database.
I have also made it so you HAVE to login to use the API, and added a few security features more.
Welp, I've been working hard on implementing the basics of an API. For now I've basically modified the FastAPI tutorial to fit my needs. Now I need a way for users to create an account to access different API functionality, and also to set up scopes...
A silly little Discord bot to transform your mates, and have some fun. Also works for plural peeps.
Ok, quick update, after some more esting I discovered that the chatt would overflow all over the screen on mobile. It's been fixed now :3
I have finally, after more work than I'm willing to admit, gotten to 10 hours of work on this project. My part is done, and I have fixed a few bugs that made this game actually unplayable. Now, it's your turn to find bugs and tell me how to improve. I await your judgement.
After some playing around, I have made two releases (I forgot to add the systemd template for peope to use to the github repo, my bad), and added a demo of the page, running on my very own server, through a VPN. I know, not the most secure, but enough for people to have fun and hep me test the app. If you find any bugs, pease report them on GitHub!!!
I've added a little timer that lets you know how much time you (very roughly) have left with your partner
The report feature had some issues. After fixing those, as well as a few more bugs, and some styling, I'm nearing the end on the development of this page. Though, I wanted to try and reach 10 hours, so maybe I'll try and add some new features...
A new reporting feature has been added. I haven't tested it much, and this is all I can do for today. More tomorrow... I hope it works...
Answering MarsasGRG's, the FAQ page has been upgraded.
Welp, I fixed a few issues, including a big issue with the pairing system. Now, I'm thinking of adding a few more features, mainly server-side, and then this beautiful app will be ready to deploy :3
We now have a results screen, as well as a one minute timeout! And it works just as expected! Now that the basic functionality is done, I just need to make it nice to look at, and add an early end button, and with a few code cleanups and optimizations, this project will be done!
But don't worry, I think there's still enough work here to take it up to 10 hours, maybe even more!
Welp, I've got paired chat working, and I even made a little Waiting for other players loading screen. Right now, I have a pretty good and neat little Omegle clone.
The next step is to make the time counter for each chat and then let people choose whether they think the other person was or wasn't queer...
The chat seems to be working pretty good! Only problem rn is that it's more of a chatroom, since, well, it broadcasts messages to all clients. But I do have the base down so, let's try and get it properly working... :3
The basics for the chat are down. I had to make a whole Node.js and npm setup, but it's looking quite good. Tomorrow I'll start work on the good stuff, that is, sending messages over to the client, pairing up, etc. Let's see how it goes...
Welp, the game is starting to take shape... Now comes the scary part, actually making chatting with a stranger a reality... Let's see how it goes..
Well, before even having the actual game done, I have done the FAQ page, as well as made the front page a bit neater. Now, to the actual game...
Welp, and that's all the coding I'm gonna do for today. More tomorrow...
Welp, this is kind of a silly little project, but who knows where i might go...?
Queer or Not is a simple web game, where you'll be paired with a random stranger, and both of you will have one minute of text conversation, to try and guess whether the other person is queer or not.
I managed to fix it!
Turns out I forgot the fact I'm passing color as an unsigned byte, so I had to divide by 255 to get a proper value. Now it works perfectly!
Now, to work on abstracting states so we can clean up the code and make main.cpp neater...
So, even though this project was started way before this summer, I think it's a good way to use my time. I'll post here updates about how it goes.
To explain what I'm working on right now, I have o explain to you the basic working principle of the engine.
The engine works with states in mind. Every country is constituted by a set of provinces. If you've ever played Europa Universalis or Hearts of Iron, you know what I'm taking about.
So, to define these provinces, I use two files. A color-coded png, which is read through the stb_image library (I plan on making my own version of this, since the idea is for the engine to have the least amount of dependencies), and a txt fie containing the actual information of the province.
The bug I'm trying to fix now is the fact that, when rendered, provinces don't have their own unique color, instead seemingly sharing one per state for some reason.
Let's see what the fix might be...
A video game engine, similar to the Paradox Interactive Claustwitz engine, with the objective of making fantasy strategy games.
This was widely regarded as a great move by everyone.