I’m going to share more about this once twofour gives me the green light, but yeah, this project is now nothing but a day on the forums and a fair bit of code. The Gimkit Technical Club is helping out, and a few people have written things, but unfortunately this will never happen at the scale I hoped for originally. That being said, I’m not going to let Gimprint go yet. So for a little bit, before my editing time runs out, I can still share the progress on Gimprint.
The one thing that I hope comes out of this is someone else does not make the same mistake. Maybe an update or addition to the rules is in order.
Changelog
Project relocates to codeberg.org
1.5.0 Added an opening popup screen, full screen mode, and overhauled color scheme
1.2.2 Minor fix where script would not load due to Gimkit’s Content Security Policy
1.2.1 Switched icon library from Font Awesome to Feather svgs
1.0.1 Minor fix with scrolling overflow fix
1.0 Gimprint launches with a simple tutorial banner at the bottom of the Gimkit interface
Gimprint is conceptualized on 11/30 and announced here in early January. Originally hosted on Github.
Original Post
Introduction
Hello everyone! I’ve been working on this for a while, and it seems I’ve finally finished. It took me way to long- and a thousand lines of code- to finish the demo, but I’ll get to that in a minute. I had the idea for this project towards the end of November, but it’s changed a lot since then, and I’ll talk about that as well. Basically, I decided I wanted to code something for Gimkit that was simple and easy to use, beginner friendly, and didn’t require downloading anything or trying to add extensions to managed computers.
Project Backstory and Details
Project Backstory
At first, I had the thought to make Gimkit hacks, as I’m sure many of you have had as well. But that’s already a well treaded path in the Gimkit community, and after talking with some of the Gimkit mod developers, I decided it wasn’t really needed.
Then, I decided to make a bookmarklet that would automate simple tasks in Gimkit Creative, like choosing from a couple of inputs, pressing a button, and then the script would automatically place devices that made up a mechanism. I still think there is promise in that idea, but I’m going to hold off on developing it for a while.
At this point, I had decided that the forums were distracting me a little too much from this project- what was at the time called Codeprint- so I decided that a suspension was probably the right course of action, at least until I had made more progress on the project.
Project Announcement
I landed on the idea that I’m currently announcing: an in-game series of tutorials, each in their own bookmarklet, that would teach Gimkit Creative from beginner concepts to art, code, and advanced theories. Each tutorial, or module, would only be a couple lines of code that people could easily copy and paste into a bookmark.
But the real idea- because while developing the structure and code for this project was hard, it wasn’t super challenging- was that the community, as in all of you, could collaborate on this. Each tutorial, written by a different person, would mean the current minds in the community were literally teaching the next generation Gimkit Creative. The project (which still needs a name, voting comes later) would be completely open source, and I’ve already written out a list of all the modules.
Open Source, Community Driven Project
In order to make this project happen, we need anyone with a little specialized Gimkit experience to write free tutorials. If you want to write a tutorial, that would be awesome! I’ll get to the current draft of planned modules in a second, but for now here are the requirements/options for writing a tutorial:
Options for Writing Tutorials
You must have a decent command of the English language. I will edit for grammar and you can revise, but you should be capable of writing well-graded essays. I won’t eat you for your grammar but this is a public, open source, search engine indexed project. The internet will see what you write.
You must be either a) generally knowledgeable about the basic concepts of Gimkit Creative if writing for the beginner modules or b) a community-known resource for information on a specific subject.
For example, @Slim and @Bird would likely be capable of writing all beginner modules and @Matheas and @SirWyWy would be good choices for the barrier and terrain art modules. You don’t really need to worry about this requirement, as in the end your writing will only be used basing off of its quality, not the person who wrote it.
- You are more than welcome to co-write a tutorial with a fellow community member.
- This project will have versions, so if you ever want to rewrite a tutorial you or someone else wrote down the line, you will be able to.
- If you ever decide, for any valid reason, that you no longer want your tutorial to be used, then it will be removed from the current version. Keep in mind though that GitHub (explained later on) shows changes (diffs) in files, so there will always be a record. That’s just the internet, so be mindful of this before deciding to author a tutorial
- Credit where credit is due- you can choose to either credit yourself in the tutorial or simply have it say, “Written by a community member”. You decide the name used and it can be changed later on, but again, Rule Five is still applicable here.
Obviously, I’ll just be incredibly grateful that you wrote something for the project. You don’t need to worry too much about all of these rules and options.
Tutorials & Modules
This is probably going to be the most asked about section, so right away I’ll say that this list is subject to change all the time. I’m open to suggestions and you can debate amongst yourselves as much as you’d like. The more, the merrier!
Modules List
Gimkit Basics:
- Getting started
- Using props and terrain
- Using devices
- Channels and wires
- Basics of block code
- Learning Mechanisms:
Gimkit Basics Projects
- Movement Meter
- Elevation Overlay
- Teleportation
- Randomization
Gimkit Creative Art:
- Introduction to Barrier Art
- Introduction to Text Art
- Introduction to Terrain Art & Prop Art
Gimkit Creative Art Projects:
- Barrier Art Dragon
- Text Art Dragon
- Terrain & Prop Art Dragon
Block Code:
- Introduction to Blockly
- Using Custom Blocks
- Variables
Block Code Projects:
- Timer
- Loot Tables
Game Design
- Planning
- Communication
- User Interface
- Continuity
Game Design Projects:
- Restaurant Tycoon
- Difficulty Chart
- Dungeon Crawler
Gimkit Theory
- Advanced Update Order
- Text Display
- Random Generation
Like I said. It’s not permanent and I was rushed figuring them all out. I know I forgot things.
Please don’t eat me for it. I think it’s illegal to eat turtles anyway.
So yeah! That’s about it!
Oh wait. Nope. One more thing. Codeberg.
Codberg
This whole sections is now out of date and obsolete. In the spirit of, uh, laziness, I left it here with a couple of notes.
So, how is this project actually existing? How is it actually open source and usable? How did I figure out to make it only a few lines of code to use but hundreds of lines of code to write? I forced esbuild to minify my code GitHub! Time to explain.
I think several times now I’ve mentioned that I condensed the tutorials to be available in just a few lines of code, pasted into the url of a bookmarklet. The reason you have to condense (or minify) your bookmarklet code is because there is a character limit. Most urls aren’t incredibly long, whereas code can be. My tutorial demo was about 1,000 lines and that wouldn’t be great. I wanted it to be easy for Gimkit beginners to just copy the code without worrying about missing any. The whole project is designed around ease of use (and the color blue, more on that later).
Or according to Squid, there is no bookmark url limit. Sounds good.
This is where Codeberg comes in handy. With a public repository (folder that stores all of the code), you can actually link to one of the repository’s files inside of your javascript code and it will run. Since this project isn’t very technically complex or high performance, it will run pretty much instantly. So we can have tutorials as long as needed and as short as needed, all easy to use.
However, Gimkit doesn’t like it when I try and do that so now it’s just a bunch of code. Sorry. And also, yeah, codeberg.org now.
Using Codeberg with a public repository and an MIT license is what makes this project open source. Anyone can view or make changes to it and can use it in their own code free of charge, forever.
So if you want to check out the repository, follow the instructions at the end of this topic.
Too long; didn’t read? Yeah, that’s fine. I won’t really mind if you ask a question I answered that’s hidden in there somewhere. It’s kind of dense. But if you want to see the modules list, requirements and options for writing tutorials,
Introducing the Project
Using javascript, I’ve written a script that works as a bookmarklet to create an in–game tutorial service for Gimkit. Basically, you select the tutorial you want to use from a list, copy the few lines of code, and paste it into the URL field of a bookmark. I designed it myself and I worked so incredibly hard on the UI and modules list that I’m going to take a break from coding for like a week haha.
So you’re probably thinking, great, some Gimkit guy made some useless code that opens a banner on my screen and tells me what to do. And yeah, maybe that’s underwhelming. What I think is neat is that it’s completely open source and will be in a repository on Codeberg, is beginner friendly, requires no extensions, downloads, or breaking the Gimkit Terms of Service, and is a community project.
Community project?
Community Written Tutorials
Yeah, it is. See, it’d be easy if it was just me writing a bunch of tutorials for Gimkit beginners to follow, but it’s actually going to be written mostly by you. Read the details for more information, but basically anyone with Gimkit experience in a specific category and has decent writing skills can volunteer to write a tutorial- or an entire module (chapter of different grouped tutorials and projects)- and then submit it to be used. You’ll get credit, you can write it with a friend, and it will be used in the project.
Rewritten Step-by-Step Guides
But there’s more. There are amazing guides on here that can be rewritten in this new tutorial program. Think of it as in no more switching between tabs, just following instructions with troubleshooting and hints inside Gimkit itself. So if you’ve written a guide- like @BrownSugarAlien’s wiki- and want to also make it into a step by step tutorial, then you’re more then welcome to.
Gimkit Artists
And lastly, there’s one group of people reading this who probably feel left out. Those are the Gimkit artists. Well, there’s actually something for you as well. You can volunteer your art to be used in tutorials. What do you mean by used? Well, you can either submit some of your best pieces to be used as sort of extra gallery material, which when clicked will link to your user profile here…
… but you can also do tutorial art. By this, I mean coming up with simple illustrations that help convey the tutorial information across on each slide. These could be drawings of diagrams, gims, or more doing the actions in the tutorials. It’s up to you, and you’d work with the tutorial writer on it. In fact, you could write a tutorial and do the art if you want- especially if it’s one of the art modules!
Modules & Tutorials List Draft
I just want to point out that this isn’t an exhaustive list. We can add, and should add, more tutorials and modules that I’ve likely left out due to a lack of storage left in my head. But here’s the current draft I’ve written.
Gimkit Basics:
- Getting started
- Using props and terrain
- Using devices
- Channels and wires
- Basics of block code
- Learning Mechanisms:
Gimkit Basics Projects
- Movement Meter
- Elevation Overlay
- Teleportation
- Randomization
Gimkit Creative Art:
- Introduction to Barrier Art
- Introduction to Text Art
- Introduction to Terrain Art & Prop Art
Gimkit Creative Art Projects:
- Barrier Art Dragon
- Text Art Dragon
- Terrain & Prop Art Dragon
Block Code:
- Introduction to Blockly
- Using Custom Blocks
- Variables
Block Code Projects:
- Timer
- Loot Tables
Game Design
- Planning
- Communication
- User Interface
- Continuity
Game Design Projects:
- Restaurant Tycoon
- Difficulty Chart
- Dungeon Crawler
Gimkit Theory
- Advanced Update Order
- Text Display
- Random Generation
So there you have it! That’s the current working list, and we’ll definitely add more.
The Actual Interesting Stuff
So I realize I’ve talked a lot about the script I wrote, but you haven’t seen any pictures of what it looks like. I’ve already gotten some feedback on the design from some artists, and I’m open to more. I already plan to add a settings icon with background color customization and a resize feature, but here’s the pictures.
I’d like to note that this is currently a mockup, and you’ll see why. Part of the script is dynamically moving the Game Start and Settings Gimkit buttons up 150 pixels so you can view the banner and edit the entire map. However, believe it or not I haven’t gotton a picture of it yet because my device does not allow for console access or bookmarklet access, so this is the real code overlayed on a screenshot of a Gimkit map. That’s why they’re cut off.
Also, I use Feather icons now so they’re SVGs that Gimkit doesn’t try to oof the moment they load.
Full Banner
In the top left corner, there is an <i class=“fa-solid fa-xmark fa-xs”> button, as in an x, that simply closes the entire tutorial and resets the position of the buttons.
In the top right corner, there is an <i class=“fas fa-minus fa-xs”> button that minimizes the banner section into the footer (the blue part) in a smooth animation. Once that has happened, the screen will look something like this:
Minimized Banner
You again cannot see the buttons, but for the same reason as above they should work.
In the left corner, there is an <i class=“fas fa-chevron-left fa-xs”> leftwards facing arrow that, when pressed, moves the tutorial back a slide on the main banner.
In the right corner, there is an <i class=“fas fa-chevron-right fa-xs”> rightwards facing arrow that, when pressed, moves the tutorial forward a slide on the main banner.
You can close the banner, move forward or backwards a slide, and see the next page of content.
Additionally, there is a <i class=“fas fa-plus fa-xs”> maximize button that smoothly animates the opening of the banner and the movement of the buttons back to the original, full banner screen.
In Development
I’m already working on adding these things:
- A settings icon that allows for choice of background color, font size, and accessibility options
- A place for the featured Gimkit fanart
- Some more subtle animations
- One full course that is compiled of all the modules and is in one script
Voting
There are some things to vote on!
- Gimprint
- Codeblock
- Gimdocs
- Dockit
- Gimkit Documentation
- Other
- Yes
- No
Again, if you have any questions, comments, or feedback, feel free to post. This took me almost exactly a month from the original idea to where the project is today, so if you are feeling generous please consider leaving a like . I’m going to leave again eventually and it’s not like I’m ever going to get regular haha so you can flag if you want, but I’d like people to at least see this.
@twofoursixeight never got back to me about allowing or denying this post, so… if you see this, you can decide, I guess.
Finally, here’s the link to the Codeberg project.
Yeah no luck with that lol.
The repository is under the user “glowingTurtle” and it’s currently called “Gimkit-Documentation”, search it up using the Codeberg search tool. Strangely the link is blocked (not anymore lol), not really sure why. I haven’t uploaded the code yet, I will do that soon.
If you contribute, you will of course be credited in the project!
Thanks for reading!
-
Turtle