User Management
Registration, login, password resets, email verification, profiles, 2FA, and roles/permissions for staff.
Notification system, so players can be alerted when something interesting happens.
The project goals were touched on in the announcement post, but let’s take a deeper look at what Kitto² is trying to be.
This should set expectations for the project, so you will know what to expect. It’s early days, but maybe this will indicate if Kitto² is worth paying attention to.
Kitto² is a starter kit, engine, or framework for browser-based web games. When I say “browser-based game”, I’m talking about games that are primarily HTML pages.
There may be mini-games presented like a more traditional video game where the player controls a character to interact with a world, but the primary way they’re playing isn’t all that different from normal web surfing. It’s easy to pick up and put down, since it’s just a website.
This type of game usually relies a lot on timers and resource management, as opposed to hack-n-slash action. Again, it’s possible to do that in a browser game, but that’s usually a mini-game in service to some greater context.
Since they’re web-based, this type of game usually has a social element: other users of the site. You can see other folks on a Who’s Online page, talk to them on the forums/DMs, see their profiles & achievements, and sometimes compete against them.
There are three main goals for the project.
The primary, number-one goal is to jump-start development for a browser-based pet game.
If you have a cool idea for gameplay, you probably want to work on the game, and not get mired in account registration or building a notification system. Those things are important infrastructure, but that’s probably not what you’re excited about. You want to build your cool genetics-based breeding system, mash training Strange Alien Creatures with incremental idle gameplay1, or whatever your nifty idea is.
I want people to grab a copy of Kitto² and have all the infrastructure they need. Account management, moderation/abuse tools, a robust admin panel for managing the site, inventory management — all those bits of “glue” you need for this type of game are there from the onset. You might refine them or add to them, depending on your needs, but they’ll be good enough on day one.
But to be clear: this will still require development! The infrastructure will be there, but a fresh Kitto² project will have very minimal gameplay2. There are admin tools for managing the data — adding items over time, adjusting drop tables, etc — but building your game is still is done in PHP & HTML. Kitto² is not a starter kit or a template, not a low-code RPG Maker-esque tool.
The second priority is for a Kitto² install to be safe and good right out-of-the-box. That means: it should have good default settings for security, data processing, and performance.
Everything that it comes with should work well if the site has 5 active users vs. 500 active users.
As much as possible3, it should be compliant with various data processing & privacy regulations like COPPA & GDPR.
The documentation will explain secure development practices, and the code will model these practices.
The default UI is based on Bootstrap, which has a lot of thought put into responsiveness and the accessibility of its various components. Kitto² will strive to carry that torch on so end-users playing from phones or relying on assistive technologies will have a great play experience.
The hope is that the “correct”4 choice becomes the easy, obvious, default answer when developers are building on Kitto². That may be “correct” in terms of properly handling user input, making pages responsive, or avoiding 1+N query performance issues.
The last goal is to be educational. PHP, Laravel, SQL, web design, and operating a website are all useful skills to have.
This is mirroring one of the original Kitto’s goals:
Help educate brand-new and novice programmers by giving them a well-designed application to hack away at. The code in Kitto will (hopefully) service as an inspiration light of Best Practices and Brilliantly DRY code to the next generation of pet-game developers.
As much as possible, Kitto² is using well-known technologies, so the skills transfer. Developers are not just learning about “the Kitto framework” — they’re learning web development.
The documentation that comes with Kitto² will explain the “how & why” of everything, from the very basics. It should be possible for somebody with zero experience to successfully build a web game.
But I’m not setting out to replicate The Odin Project for PHP or anything — when it makes sense, it’ll send people to other sites for learning general skills.
With those goals in mind, here’s the proposed set of features.
If you have ideas for other features, get in touch with owls or check out the socials for Kitto².
User Management
Registration, login, password resets, email verification, profiles, 2FA, and roles/permissions for staff.
Notification system, so players can be alerted when something interesting happens.
Social Features
Forums, DMs, friends, and who’s online.
Fun user features like avatars & signatures.
Inventory
Extensible item system, so developers can create new types of items with their own functionality.
Comes with five item types: food, toys, paintbrushes, crafting recipes, and loot containers.
Loot Tables
Nestable loot tables that can be managed through the admin panel.
They can be used in games, as “loot box” items, for random events, or anything else you can dream up.
Shops
NPC shops with automatic restocks (using a loot table) as evergreen sources of items.
User shops for players to trade with each other.
Basic Pet Management
Pet species with multiple colour variants. Variants can be adoptable, or be locked behind an item (or whatever you want).
Adopt pets, set up their profiles, and abandon them.
Trust & Safety Tools
Moderator tools, item/currency audit logs, muting/banning, user strikes, and player-sourced reports to alert the mod team to abuse.
Emergency levers like disabling social features or enabling a registration CAPTCHA.
Admin Panel
Manage nearly all site content through the admin panel. New pets & colour variants, new items, and new shops can be added by content staff.
Loot tables can be updated to include new items or adjust rarity any time.
I had mentioned in the announcement that I am open to maybe doing more than basic gameplay. I still am open to that, but at this point in time, the goal is the minimalist starter kit. ↩
Can’t be an expert on every regulation world-wide. Ultimately, responsibility for following local laws rests with site operators. ↩
There are, of course, many ways to correctly implement something. ↩