Hopefully it doesn't seem too spammy to start a new thread instead of updating the old one, but the old thread got pretty huge (including the original post), so instead of adding more to it, I figured it best to start a new thread.
For those who don't know, PlayPico is my personal curated list of only complete games (see the original thread if you're curious as to how games qualify for the list, why some might not be there, etc.)
WE BROKE 500 GAMES!!!
Finally, after almost 2 years of PlayPico history and 3 years of PICO-8 itself, we've hit 500! Great job to everyone who made these amazing games, and keep 'em coming!
We got a facelift!
This has been a long time coming, as PlayPico needed a facelift for a long time. The old version was pretty much just using Bootstrap 3 in its default state. This is because the site started off as something just for myself that I ran locally on my computer and wasn't public anyway, and also my concern was mostly with developing the server-side aspect, so I tossed together something that would look decent with as little effort as possible. Bootstrap has been completely scrapped in favor of doing my own design writing 100% custom SCSS from scratch.
There was a new design I created very similar to this one in December of 2017 during Christmas vacation from work, but I ultimately got extremely busy at work after the new year, and after I got back to it, it was one of those things where you're like "I've learned so much since then, and this code is trash". There were multiple attempts after that to either rewrite the theme, rewrite the entire back-end, or both (recreate the whole site from scratch). This update was not a culmination of any of those attempts, but rather a sort of "soft merge". I took some of the theme I wrote in December (which was built on Materialize.css, while this one uses no frameworks at all), and just put it on the existing back-end, eliminating Bootstrap from the front-end completely.
For the back-end, well, I've been slowly implementing some of the stuff I came up with for that over the past few months, so a lot of that has silently been going live for a while. The new theme required a bit of new back-end code that was made just for it, and adjusting some of what was already there, which is why I couldn't give an option to "Use the Old Theme" as an alert message like some sites do when they first migrate to a new theme (think Reddit). It's impossible to use the old theme now, unfortunately, as it would be very broken, so I couldn't give the option. It still isn't using the latest version of my Lightning MVC Framework, but it has been migrated over time to a semi-recent version, and it's in the pipeline to get it fully migrated.
Some things I learned that might help developers, no matter what kind of developer, just to "get shit done"
I spent a LOT of time getting nothing done on PlayPico, even though I was actively working on it. Here's what I learned, and how I started actually getting things done on it:
If you start a complete rewrite on an existing project, you might not realize what a big undertaking it's going to be. You might look back on initial development and it might seem like it didn't take as long as it probably did, especially if it was something that evolved over time and just took "a few hours here and there". I learned that PlayPico is a much, much bigger project than it appears to be on the surface, and even I was fooled by its simplicity. There are so many facets to it though that are easy to forget about until you really delve into the features, and it's easy to forget about lots of smaller features that add up to a mountain of molehills.
When you get into a rewrite project, something that SEEMS small might actually be practically insurmountable. It can also be deceptive when you think "well, I can just steal old code whenever I need to do anything complicated, modifying it as necessary, but the logic and basics will be there". That's SOOO deceptive, and can lead to even MORE effort rewriting existing logic to work in a completely new environment. It depends on how much time you can dedicate to it, how likely you are to get pulled away for extended periods of time, and how big the project ACTUALLY is once you get into it vs. how big you THOUGHT it was. The best course of action, in my humble option and based on experience, is to take what you have and rewrite chunks of it at a time. You can still keep your full plan for what you want it to be when rewritten, just start with what you have and do bits at a time instead of the "completely scrap it and reference if needed" ideology -- it's a trap! Make a list of things you want to do and prioritize them in order of importance first, and second, how fast you can launch each thing integrated with the existing system. You'll have the full rewrite done eventually, but if you try to do it all at once, you never will. Trust me on this.
- Likes! - Registered users can now like games, and these games will be saved to their profile. You can then view them in your Likes page.
- Sharing - You can now share games on Facebook and Twitter with one click.
- Downloads - You can now download the '.p8.png' versions of games from that game's "play" page. This has been a longstanding feature request and has finally been added.
- Sorting in ALL games lists - Previously, you could only sort games on the "All Games" page; now you can sort them on all pages that show a list of games (except "Home/Featured", because they are meant to be in a random order).
- View counts in games lists - This feature has returned, but for the reasons detailed in the original thread, I did not bring back the ability to sort by views. Basically, it just breeds a "rich get richer" situation, where everyone was sorting by view count and playing the most viewed games. I feel like all the games on the site are amazing and deserve an equal opportunity to get played, so sorting by view count will likely never return.
- I temporarily removed the ability to play games on touch devices. The reason is because it would have had to be redone with the new theme, and it frankly never worked very well anyway. In fact, it was pretty much unplayable because it was quickly hacked together. It deserves to be done right, and it will be the next incoming feature.
- Sorting games is no longer dynamic; you are now directed to new URLs with sorting as URL parameters. Similar to dynamic searching as you would type in the search bar (a kind of filtering that was removed a while ago due to restrictions), this was removed due to performance reasons with the new layout, and allows me to implement inevitable features such as pagination, which wouldn't be possible under the old system. When we only had a few hundred games, this all ran fine as a client-side feature, but as we've approached 500+ games and made a more complex layout, it just doesn't perform well anymore. Pagination is inevitably in the future as well (I'll probably just do lazyloading so it doesn't change the experience much, but CTRL+F searching won't be available anymore.) Pagination would improve the load times of the "All Games" page significantly, although with 500 games it still performs decently, but it definitely has to be done.
TODO & Upcoming features
There's still a lot to do:
- Support for gaming on mobile (this'll be the very next feature added)
- User profiles. You'll be able to add a bio, set preferences such as timezone (and all dates/times on the site will be shown in that timezone), see a list of all games you've recently played, optionally opt into weekly notifications about when your favorite games have been updated or favorite authors have new games, etc.
- Author verification. Once an author registers on the site, they will be able to get verified, and have some degree of control over their games on PlayPico. They will be able to enable/disable comments (yes, this means a commenting feature is coming, ONLY if a verified author enables them), edit their game titles and descriptions on the site, manually trigger their cartridges to be updated from the BBS immediately if they don't want to wait for automatic updates (which runs once every 2 days automatically), remove their game(s) from the site, request that none of their future games get added to the site, and more.
- Flagging games. Registered users will be able to flag games for various reasons: "Not Working", "Inappropriate", etc.
- "Code" tab on Play pages will have additional tabs that show the graphics and map data as actual rendered graphics, similar to the way they're shown in the PICO-8 desktop application. SoundFX maybe possible, but don't ask me to make a music tracker :P
Since the new design and features are so new, there may be bugs (and there probably are). I encourage you to PLEASE contact me if you find any issues or have any requests or suggestions for features or changes.
Sorry for the long-winded wall of text, but I'm very excited to share this with all of you and get feedback on it. It's actually been over 9 months in the making (a little on and a lot off, with several versions scrapped in between), and I'm anxious to get feedback and keep it moving forward from here.
Thanks for your support everyone!
Hey, you got my Haunted House in there. I'm happy !
... something you might do is add a CATEGORY:
- Racer, Topview, Sideview, 3D
- Fighter, screen, room, scrolling map, secret combos
- Battler, screen, room, bullets, sword, scrolling map
- Shooter, horizontal, vertical, 3D, Bullet hell
- Platformer, screen, room, scrolling map, climb walls
- Puzzle, action, turn-based, screen, room, scrolling map
- 1-player only, 2-player only, option for both
- Adventure, screen, room, scrolling map, inventory, isolinear
- RPG, permadeath, action, turn-based, growth, experience points, isolinear
- Tactical, History based, realistic simulation, isolinear
- Board Game, for kids
- theme, based on, tribute to, spin of
- Cards, Dice, Roulette, Bingo, Gambling
- Card Dueling, Yu-Gi-Oh
- One-Button Jumper/Fighter, screen, room, scrolling map, Flappy
- Ambient, no score, discovery
- Video/Music/Sounds only
- Music/Logo/Tag only
Very nice update! My only complaint right now is that the label images aren't scaled quite right, and the pixels have inconsistent sizes, which makes it look pretty grody.
By the way, have you seen my game Web Pilot yet? It fell off the front page pretty quickly, but I think it would be cool to have it in a curated list~ https://www.lexaloffle.com/bbs/?tid=31677
@dw817 Good luck fixing Mildew's Haunted House!
@tesselode Fixed the label images being incorrectly sized - thanks! Not sure what I was thinking making them 300x300, lol; they're 512x512 now. Web Pilot is awesome and has been added :)
@dollarone Thank you!! I'm glad you like it!
Thanks everyone for your constructive criticism and feedback - I GREATLY appreciate it. If anyone else has any feedback, good or bad, please don't hesitate to let me know - the site can't improve without the help of those who tell me their issues or wants! It has gotten where it is in large part due to feedback from you guys, and I want to keep making it better.
Good morning, Scathe !
You can find fixed recording High Score and completed "Mildew's Manor" here. I renamed the game and reflected that in the game itself too with new titles.
Thanks for including me in your list !
Updated to Mildew's Manor. Note that the slug is still "mildews-haunted-house"; this is because I haven't (yet) implemented a redirect system that tracks old URLs and redirects to new ones, so to prevent 404s, slugs have to remain unchanged for now. The title, cartridge, updated date, and preview image all do get updated, though.
It's on the to-do list, but has been stuck in the planning stages for a while. The problem is that it would be very time consuming for me to go through over 500 games and categorize all of them; I'd have to replay many of them to remember, and there are some that would be hard to categorize. I've thought about making categorization a community effort - basically users could select a proposed category for any uncategorized games, and if enough people say a game is a certain category, it'll automatically assign that category to it.
Another option is, as I've mentioned in the original post (though not specifically about categories), authors would be able to get their accounts on PlayPico verified as the actual author. Setting categories for their own games would be another one of the things they could do.
Last, if I wanted to try to automate, I could maybe scrape tags from the BBS and try to see if any keywords are in tags that would indicate a category. This could probably take care of maybe 100 or so of them for me.
Obviously even a combination of all 3 of those features would probably not take care of categorizing all 500+ games for me, but it would make the list much shorter and thus the job much less tedious.
Linking your PlayPico and Lexaloffle accounts is now live!
By linking your accounts and becoming a verified author, you will have the ability to manage many aspects of your games on PlayPico (these features aren't live yet, but they're coming very soon): update your game titles and descriptions, force your own carts to be updated on-demand from the Lexaloffle BBS if you don't want to wait for the auto-updater, view analytic data on your games for given time ranges (views, likes, and more), delete your games from PlayPico, enable public commenting (will be disabled by default), and more!
You can now create a profile on the site. You can add a biography, add your website, social media, and Patreon; these will be displayed if you're a published and verified author on the site whenever a user clicks on your name, with your games list directly below. Here's an example (even though I don't have any games): https://www.playpico.com/authors/Scathe
Try it out and let me know if you experience any problems or have any feedback!
Fixed. Looks like I somehow merged a bad build to the repo before I went to bed last night. Sorry about that :( Thanks for the report! When I got home from work today I figured something was wrong when my error log on the site for today was nearly 1MB... ugh...
[Please log in to post a comment]