Click the face when the music is playing.
I'm a bit of a jack of all trades generalist. Meaning? I can do a little bit of a lot. Graphics (although you wouldn't know it from this page), graphic animation, web programming (html, php, css, javascript), a tiny bit of electrical repair, and so on. Whatever it is, if it needs doing, I'll try my hand at it.
Previous projects that I've worked on include:
I'll put more stuff here as and when I make anything worth sharing.
Adds a little text to the top of any prequel update showing how long it's been since the original post date.
DownloadA little doodad to automatically refresh a picarto page every 10 minutes.
DownloadYeah, not exactly a userscript, but having recently been prompted into installing better discord, I decided to make a few minor cosmetic changes to discord to fix things that have bothered me.
Specifically, getting rid of some of the unwanted nitro, server browser, and Christmas buttons at the top of the friends list, making the unread notification blink to better grab my attention, and finally, making the friends/channel list more compact when not in use.
:root{ --transitionDuration: 0.2s; --transitionDelay: 0.2s; } [class^="content"] [class^="sidebar"]{ width: 100px; transition: width var(--transitionDuration); transition-delay: var(--transitionDelay); overflow: hidden; } [class^="content"] [class^="sidebar"]:hover { width: 250px; } [class^="content"] [class^="sidebar"]:hover [class^="iconContainer"]{ width:30px; } [class^="numberBadge"]{ animation-name: messagealert; animation-iteration-count: infinite; animation-duration: 1s; animation-timing-function: step-end; } @keyframes messagealert { 0% {background-color: red;filter: drop-shadow(0px 0px 10px #f00);} 50% {background-color: #310000;filter: drop-shadow(0px 0px 0px #f00);} } [class^="iconContainer"]{ margin-right: 0; overflow:hidden; width:0px; transition: width var(--transitionDuration); transition-delay: var(--transitionDelay); } [class^="sidebar"] [class^="content"]{ margin-left: 0; } a[href$="store"],a[href$="snowsgiving"],#public-servers-button,button[aria-label="Send a gift"]{ display: none; } [class^="bannerImage"]{ max-width: 100%; } [class^="bannerImg"]{ max-width: 100%; object-fit: contain; } img.emoji{ transition: transform var(--transitionDuration); transition-delay: var(--transitionDelay); } [class*="messageContent"] img.emoji:hover{ transform:scale(3); z-index:99; }
Useful litle doodads that you can install into your browser, to perform scripting magic at the mere press of a button.
To install one, just copy all the code for a given bookmarklet, create a new bookmark in your browser, and paste the copied code into the URL field.
Let's be honest, if you know how to open a browser console, RPG Maker MV (and presumably MZ) games aren't exactly hard to hack. All the data's practically there for you to edit, if you know where to look. So to save that little bit of effort, here are some common 'cheats' in a simple menu system.
MV Cheat Utilitysome sites (like Picarto) don't seem to let you format text when trying in chat. Just select a portion of your typed text (before sending obviously) and run the bookmarklet to change the selected text to italic, bold, or bold italic selected text. (note: the converted characters will be completely different ascii characters to what they were before. It's one of those things where the letters look similar, but are actually completely different.)
Format Selected TextI've made a handful of plugins for the RPG Maker MV game engine over time. It's all javascript based, so it's just like a big, fancy web page.
These are some of my favourite/most generally useful ones, and you're free to use them for non-commercial projects. If you want to use them in a paid game, give me a shout and we'll work something out pricing wise.
Lets you customise and randomise how battles play out. Things like making enemies class and level based, enemies starting with reduced health/magic, setting custom gold/exp drop numbers, randomising enemy sprites (no more fields of identical twins), and finely adjustable encounter rates.
DownloadLets you change how the ingame camera focuses on the player, allowing for some more epic 'long hallway' segments.
DownloadShow the player different game over images when they die under different circumstances. Finally berate the player for dying at that one stupid section of the game where they really shouldn't.
DownloadLets you specify exactly how the 'optimise' button in the equip menu chooses the best loadout for different characters. No longer is it just a case of prioritising the 'best general stats'. Fighters can get the best fighter equips, mages get the best magic stuff, and so on.
DownloadLets you confer a bonus (or detrimental) effect on a player when they have a predefined set it items equipped.
"The ancient armour of Apollo only works if you're wearing the whole thing. Otherwise, it a few rusty bits of metal..."
Lets you specify any item/equipable database entry as being a 'loot table'. When the player recieves one of these ingame, they can get any number of randomly rolled items from a table that you specify. If you've ever seen how minecraft handles random loot, it's kind of like that.
DownloadLets you save copies of a player's inventory, clear and set it again. Want to have a bouncer remove all weapons when you enter the club, and then give them back again when you leave? Yep, you can do that. Want the prison to have a chest with all the players confiscated stuff? That to.
DownloadBroken up into two parts, tags and flags lets you assign tags to pretty much anything (states, characters, enemies, and so on) and then query them. Want to check to see if a player should be allowed into that fancy resturaunt? Use a script to check to see if they're currently smelly. If they, or any of their current states or equips have that tag, they can be denied. Of course, there's so much more to it than that, and you can build really intricate systems using tags.
Flags on the other hand, are like the ingame variables, except they can be written to/read by name, and contain either bollean, numbers, or strings. It's like the vanilla variables/switches systems, but arguably better.
The vanilla file save/load screen is a bit boring and a little useless really. It shows the current party, play time, and the name of the game for some reason? Well this lets you specify what text you want to show up instead, including player location, how much gold they have, how many steps have been taken, and any ingame variebles..
DownloadSometimes I'll decide to make a tiny little program to do something small and questionably useful. Here are some of them.
Enter your target date/time below in either of the given formats.
Supported units are week, day, hour,minute,and second.
Exact times can be specified using the HH:MM am/pm format.
Turn perfectly normal, human readable words into a bunch of ones and zeros that look fancy, but are functionally useless (or vice versa).
Type your equasion in to have it calculated in realtime. It's javascript, so you can declare variables, use Math methods and all sort of things. Hell, you can work with things besides numbers if you want.
Sometimes you need to create an md5 hash for some reason. You can't do it in vanilla Javascript, windows doesn't seem to let you just hash a string by itself, yet you can with php (which needs a web server to run, so here we are).
This is a tool I created to help Kazerad write dialog for a character in an rpgmaker game that could only communicate using the pieces from a scrabble set.
To that end, this tool will replace the letters of a given input with their upper case varients with a score next to them. It will also let you know when a character has been used more times than it appears in a scrabble set (red highlight), and when you have more characters on a line than is allowed in rpgmaker dialog boxes. (I think I set the limit to what can be shown when a portrait image is displayed.)
Any characters that don't appear in scrabble sets are also highlighted in orange.
Once, a significant while ago, Kazerad made a sprite sheet of character parts for people to make their own comic with.
I took those parts, and made it such that you never have to put them together ever again!
Tip: You can refresh the image page to get a brand new image using the criteria you specified.
I'm not much of a writer, and I tend to reuse the same words over and over again. So I made this to help remedy that. It gives you various statistics about your current writing, as well as letting you highlight accidental double spaces, highlighting your most commonly used words, and highlighting anywhere where a word appears in close proximity to itself (which can just sound awkward some times).
A little 'game' that I made (it's more of a single level battle royal between up to 4 players huddled around a single keyboard) after hearing Aygee mention working on a bumpercar level of his own in a game that (as of writing) he's working on. Give it a play here if you have a friend of two close to hand (or if you're somehow able to mentally separate and individually control two cars at once.)
My first proper little game in Godot.
Give it a play here.
Web pages that I'm currently working on editing. It's good to have a local copy that I can edit here and then show the owner of the site before livening up any changes, you know?
Nothing that I'm personally affiliated with, but still things that I think are pretty neat and more people should know about.
Random pics that don't really belong anywhere else, but I wanted to share anyway.
Any random things I want to host can be found here. Use the browser 'back' button to back out of files and directories.
All major communications are carried out via email. This is to guarantee that messages are always between the client and myself, and to offer a record of communications for both parties.
the client email address is also used for delivering the link to the final deliverable upon project completion.
Development begins with a detailed discussion of the clients desires and requirements for their website, including the client sharing any examples that they may have of design/functionality aspects of existing websites/media that they would like their site to emulate.
Once the requirements and general style have been agreed upon (the number of pages the website will contain, their purposes, and any page layout desires the client may have), work commences on creating a basic functional framework of the website (with placeholder text, fonts, images, and other assets) which will be hosted in a subdirectory on my own website (https://amkitsune.com/) for ease of viewing.
This 'in development' version of the website is password protected in order to limit visibility to the client (who will be provided valid credentials) and myself.
Once the client is satisfied with the functional layout of the website (areas of text and placeholder media appearing where they should, and hyperlinks directing the viewer to their intended locations), I begin fleshing it out with any required text/media assets. Media assets can either be provided by the client (providing that they posses the adequate usage rights for them), or I may be able to create them (depending on the nature and complexity of the assets required) if needed for an appropriate fee (to be negotiated during the initial discussion stage).
Once the website is functional, and no longer utilises placeholder assets, the client has the opportunity to request any small amendments that they may with to have made (significant additions/modifications that were not agreed upon in the initial discussion may be considered at my digression for an additional charge depending on the complexity of the addition/modification).
Once the client is happy with the state of the website, and has no further requests, they complete the final agreed upon payment to myself, where upon confirmation of receipt of said payment, I make the entire website's source code and assets (compressed into a single zip file) available for the client to download from my website for a period of no less than 7 days (availability beyond that will not be guaranteed).
All assets/content used in the development up until the point of handover must be either produced by myself, publicly available and free of usage restrictions, or provided by the client with full usage rights.
Copyrighted material that the client does not have a license to use may not be used.
Upon completion and handover, the client is free to host, modify, and add to the website in any way that they choose, with the exception of modifying/removing my named credit and website link (wherever it may exist on the commissioned website).
The client may not resell or redistribute the website in its entirety, any custom code written for it, or any other assets created by myself.
I accept no liability for the content/usage of the website after the point of handover.
Any bugs effecting the functionality of the website encountered within 30 days post-handover will be fixed free of charge.
Continuing support of the web site beyond that duration, or for issues caused by client initiated modifications is not included in the production price.
If additional modifications/additions are required at any point after handover, I am open to discussing pricing
The total cost for the project is separated into 3 parts, all of which to be paid via the means agreed upon before project commencement.
The first charge is issued at the beginning of the preliminary discussion phase of development.
The second charge is issued once the client has confirmed their satisfaction with functional framework of the website (all the pages that need to exist, existing, and buttons and links working as expected).
The third and final charge is issued once the client has confirmed their satisfaction with the completed website.
Once requested, payments must be fulfilled within 5 working days.
If the client has paid for the second stage of development, but is unable to pay for the completed website, I retain the website for a courtesy period of 1 month (during which time the client's viewing credentials are disabled), after which, if the client has still failed to pay, I end the project and remove the demonstrative version of the commissioned website from my website.
Refunds will not be offered, as the client is consulted at various stages of development to sign off on progress.