@cheepicus oo I haven't seen that one yet! Gonna check it out in the morning!
Edit: Added 8VENTURE (love the duck reference from the original, haha) and also somehow I'd never seen Pew Pew, but I have now thanks to this video! https://www.youtube.com/watch?v=BHbj50kC79Q
Considering the fact that all of these games are on par with or often times better than official releases for early consoles, I just wanted to point out the amazing milestones we've passed. At the time of this post, there are 188 games in the library on my site.
- The Atari 2600 had 136 official games, not counting third party titles or homebrews.
- The Atari 5200 had 69 games.
- The Atari 7800 had 59 games.
- The Intellivision had a total of 125 games, including third party releases (but not homebrews).
- The Colecovision had 151 games, not counting homebrews.
- The SEGA Master System had 114 officially licensed games in the NTSC region (269 in PAL).
The PICO-8 has actually surpassed several real consoles from the era it emulates. And these are just out of the commercial-quality games I've discovered on the BBS. I'm sure I've missed many (there are a LOT of games on the BBS and I honestly haven't been able to go through all of them, as evidenced by the fact that I'm adding older games on almost a daily basis - as stated before, if I've missed anything good, PLEASE bring it to my attention).
The site is really nice, it's my favorite place to play the different pico-8 games. Now when the controllers works it's even better. Also the source code formatting is great (would be cool if the sprites and maps were also viewable).
A feature request would be that browsing back from a game (/play/XXX) would take you back to the listing with the sort order remembered. As it is now it always reverts to sorting alphabetically by cart title.
It would also be cool if it was possible to sort by the total time spent by visitors on the carts, not just number of views.
The color scheme is very clear and nice, especially when browsing through the carts. When playing though I'm thinking maybe a darker background gives better focus to the games. Perhaps this is just me being used to the colors of this bbs. (Also I just remembered the fullscreen button, so perhaps this is not that important.)
In Chrome on OS X the canvas is 527x527 pixels. Depending on the cart the visibility of the differently sized pixels changes, on some it is a little bit disturbing. Why isn't it so all pico-8 pixels are the same size? Perhaps it comes out like that for other people with a different browser, or some other settings? The bottom bar seems to be 27 pixels, so the pico-8 128x128 pixels are drawn in an area 527x500 pixels. Unless I'm mistaken 512 x 539 would be a good option.
@Offler - thanks for the feedback!
"would be cool if the sprites and maps were also viewable"
Yeah, that one's been on my todo list for a while, along with converting the sound data to something playable with a library like modplayer.js which plays MOD files.
"A feature request would be that browsing back from a game (/play/XXX) would take you back to the listing with the sort order remembered. As it is now it always reverts to sorting alphabetically by cart title."
This was something I had contemplated doing (specifically, adding a hashtag to the address bar so that hitting the back button would take you back to the main page with the hashtag intact and it would see that and sort by it on page load). I wasn't sure if this would be a feature anyone would want, so thanks to your feedback, now I know!
"It would also be cool if it was possible to sort by the total time spent by visitors on the carts, not just number of views."
I do have a custom stat tracking script I built that tracks things like that. Not specifically time spent on a particular page, but time spent on the site as a whole. The only downside is that I've noticed some people seem to just leave the site up in a tab, or on a lesser-used device, for days at a time. So I'd need a way to make sure they are actually playing the game for that whole time (maybe by checking for keys/mouse/controller activity periodically so I know they aren't AFK?)
"When playing though I'm thinking maybe a darker background gives better focus to the games."
I'll experiment with that and see what I can come up with.
"In Chrome on OS X the canvas is 527x527 pixels."
That's interesting. It's supposed to be 512x512 (or smaller, but only if on mobile or low resolution, but 512x512 max). On Chrome 55 on Windows 10, it's indeed 512x512 for me. I'll have to look into it.
EDIT: Actually I was wrong - it is indeed 527x527 for me. Fixed. Thanks for pointing that out, I hadn't even noticed!
Good work, and much appreciated! Found some gems that I would have never been able to dig up here on the BBS.
I definitely second the darker background, as an option. The white background washes out the graphics in quite a few games.
As for sorting by views, total time spent, etc. ... wouldn't this become just as broken and hard to penetrate for the new games as the BBS ranking system after a while? I kind of like that this list is manually curated and more... egalitarian, so to speak.
There's a "favorites" function on the board for that kind of thing; and we can save carts locally - then Splore has a thing that lists the local files, too. There's things already around; but I can see how end-users would like a function like that on there.
maybe only track the launches and have a 'popular' section ?
also set the page on 'newest' by default ? I know I've played 4block a little more than I would have if it wasn't right there ;)
why not a randomized list and/or a 'launch random cart' button ?
This actually makes my search through the PICO-8 catalogue way easier now that I know there's a curator like you.
Thank you so much for doing this. I hope you have fun doing this and would love to see other try their hand and putting together a library of PICO-8 games.
@DarkMatt Thanks, I'm glad you like it! Competition is definitely welcome!
@ultrabrite Thanks for your suggestions! I have some things in mind for improving the visibility of all games. I think what I'm going to do is set up a prominently featured set of "featured games" which are randomly chosen daily, and then instead of putting the rest in a huge list, categorize them and have users choose a category (or search), then have the sorting done by there. The list is starting to grow too big to have all games on one page, so these are some of the ways I've thought about dealing with it.
For all the people who say that sorting by title and allowing sorting by views defeats the purpose of a "level playing field": I agree! I think I will remove the view count from the games lists, and remove sorting by view count. View count will be displayed once you are on the game's page, but this will prevent view-based biases and reset the playing field again. When inside of a games list, order will be sorted randomly, but there will be options to sort by title, author, newest, recently updated, or search by title or author.
I'm open to any and all thoughts!
Quick THANKS for putting all these games into a nice gallery. Scrolling through I'm seeing several titles that missed because of the lack of filtering games in the BBS and in the "New" section of Splore.
I appreciate everything that's being made here - but for someone looking for straight up games to play on Pico-8, the BBS and Splore doesn't make it easy.
Thanks for the effort, man. Keep it up.
PS...Not sure how you're collecting all the games but might be worth it to toss in your weekly/monthly picks at the top of the page. That way older games get some exposure along with the new releases.
Hey man, I'm glad you like it! Means a lot coming from you, I'm a big fan of your games!
Yeah, I was thinking about having a "featured games" thing at the top, with the games being randomly chosen (but games chosen won't be chosen again until all the others have had a chance to rotate in, that way it doesn't choose one of the games to be featured like 3 times in a row or something).
I haven't decided yet if I want to make the featured list a daily or weekly rotation or what.
@Rafael Oliveira: "Would be great to see this list in the splore, I think the bbs and splore could have curated lists, would be easier to found good games."
When I launch the new website (Soon™), I could maybe provide an API for zep to hook into if he's interested in sticking my list in Splore. If he gets ahold of me somehow and expresses interest, then I'll do it no problem.
Since I've added a lot of games as I come across them that have been published on the BBS for a long time, I felt it was a bit unfair that the default sorting order was "Published" (which goes by the date they were first published to the BBS, not my site). I've been recording the date they were added to my site anyway and not doing anything with that info, so I added sorting by "Added" and made that the default sort order, that way old games that just get freshly added to the site aren't buried.
Sorry updates and feature requests are taking so long. My spare time is fairly limited, and most of it is spent working on the new site, which is being built from the ground up because the current one was just a quick hack job that grew into a spaghetti mess. Until then, I've just been trying to keep the live one patched up with minor quality of life improvements and small fixes due to the amount of time the new one is taking.
Thanks everyone for your support and patience!
I like the site, it's a very clean and convenient way to browse and try out all of the great games.
I have a request though. The mouse support, at least on iOS devices, could be improved. The only time the Y-axis works correctly is when you are scrolled to the absolute top of the page, which means that it is not possible to zoom in the pico-8 screen and still have a working Y-axis on the mouse.
Great collection, but useless if I have to download each game separately. Where is the "download all" button on your site?
Also your game links are just numbers, they should be named by game name, so people can save the .png into their cartridge folders.
@rsn8887 - It's not really meant as a place for downloading the games, just playing them. The filenames for the cartridges are the same as their filenames here on the BBS. I don't bother with renaming all the cart files, but maybe it's something i'll look into at some point. The site was thrown together in a single evening and I've only made minor improvements to it since then, because I've been working off and on to make a completely new one in my spare time, and because the thrown-together one that's online now is a maintenance nightmare due to being a mess of spaghetti code.
A bulk downloader might be a good feature, but I'm not sure how all the game devs would feel about me redistributing their work in a bulk pack like that.
Hi darkhog, I actually haven't seen that game yet! I haven't added any new games to the site for a little while because it's in a transition phase. I have to convert and move all of the data in the live database to a completely new one with a different structure, so I haven't been adding anything as it would create extra work. Although, since it seems to be taking a while for me to get the new site ready, I might need to start getting the old one up to date on games and content to keep it fresh for a while longer. I've been fairly busy lately at my day job, so I often get lucky to put an hour or two a day into working on finishing up the new site.
I'll most likely be releasing the source code for the new website when it launches (the games won't be included though). I ended up starting by building a fairly simple PHP MVC framework, and then building a CMS from that framework, so I'll probably release both the framework and the CMS as separate github repos, along with my designer's custom CSS/SCSS framework. They'll all be released as part of a suite of tools called Thunderstorm, which will have everything we've developed for this: Lightning MVC Framework, Thunder CMS, and Rain CSS Framework.
The MVC framework and CMS are based around using Twig for templating, and has a pretty robust URL routing class as well as a Utilities class which has a ton of useful methods I've made for various things over the years. Third party libraries such as Twig and PHPMailer (used to handle anything that requires doing email in the framework/CMS) are installed via Composer.
Features of the new site:
- Mobile controls
- Featured Games list which picks random games weekly and places them prominently near the top of the home page
- Editor's Picks, which is similar to the Featured Games, but these are chosen by me personally to be featured in another prominent section
- User registration - you can create an account, have your own profile, and save and share your own lists of favorite games
- Genres - all games will have one or more genres, and you'll be able to see all games within any genre
- Verified developer accounts, which will link your games on PlayPico to your PlayPico account
- Verified developers can choose to add various forms of accepting donations to their games (Patreon, PayPal, etc)
- Verified developers can edit their own game descriptions (they won't be able to do anything with their cartridges though; this will remain a curated list, but it'll autoupdate games to the latest BBS version daily)
- Verified developers can turn public commenting on or off for their own games
- Games will be automatically updated to their BBS versions, checked daily
- Games can have achievements that go into your account & profile when earned (similar to Newgrounds, uses GPIO for the API)
- Users can submit games to be reviewed by me and considered for inclusion on the site. I still won't allow users to automatically publish their games, though, not even verified developers
- Users can optionally subscribe to be notified by email of things such as weekly updates (games added that week, games updated that week, new website features, etc)
- Buttons to download .png or .p8 files of the games (no bulk downloader though, only individual games, sorry @rsn8887)
- More to come! Feel free to ask any questions, voice any concerns, and provide suggestions. I'll try to keep an open line of communication as progress moves forward
Ok all, so a big internal update was made over this weekend. I'd like to preface this by offering my sincerest apologies for the stagnation over the past 2 months where no new games had been added.
First, part of the reason why new games weren't getting added was because I started a new job in early September! It's a full-time position and I often work from home on nights and weekends, so my schedule has been hectic. The other part of the reason was that it was kind of a pain to add new games. In the admin section of the site, I had to fill out the following fields in a form to add a new game:
- (manually download the cart image from the BBS) upload cartridge to PlayPico
- Game title
- Game slug (for example: some-awesome-game)
- Author's ID on the BBS
- Date published to BBS
- Date updated on BBS
- Description (copypasta'd from the BBS into a TinyMCE field)
It was quite a process, especially if I got a little behind and there were several games to add. Keeping games updated to the latest version consisted of a similar process, except I just had to edit a few of the fields and upload the new cart. I had a tool that I could run manually to find outdated carts and let me know which ones needed updating. It was still more of a pain than it is now (more on this below). Lastly, after adding a new game, I'd have to manually update the sitemap.xml to add the game URL and author URL if the author didn't already exist in the database.
All of this has now been automated! I still have to add games manually, but all I have to do now is paste the BBS URL for the game into a field, and it'll scrape the BBS page for all of the data and pre-fill all of the form fields. I can then edit the fields if necessary before publishing, but this makes the whole process MUCH faster and easier. For keeping games updated, I've setup a CRON job to run every 48 hours which will loop through all of the games in the PlayPico database, check their BBS versions, and if they need updated it'll automatically update the cartridge file, preview image, and date updated from the BBS. It doesn't update the game descriptions, though, because it was just too difficult to try and scrape that info from the BBS and filter out the things I don't want (such as the playarea(s), stuff inside "spoiler" tags, etc). It also automatically adds new games to the sitemap.xml file and, if it's a new author, adds their URL as well.
You have no idea how much time all of this saves.
Hopefully this will ensure that the site stays up to date. The carts will stay updated, anyway. Adding new ones still depends on me, but since the process is so easy now, hopefully I won't get as lazy about it. To put it into perspective, last night I added 37 new games to the library, and the entire process took about 5 minutes. Under the old system, it probably would have taken over an hour, and then I would have had to manually run a script to check for updates and then manually update outdated carts -- all the outdated carts updated automatically this afternoon, completely hands-off.
Some caveats: The scraper is very slow whenever it's checking for updates on all games. That's because it's going out to the BBS for every game, downloading the entire HTML document, and parsing it to check the cart version. Since this is a hands-off process now, it's not as much of a big deal (I used to have to sit there and wait like 5 minutes for it to complete), but maybe we can talk zep into some kind of API? hint hint wink wink! Maybe it already exists, I'm not really sure how Splore gets all its data, but maybe there's a clue to a better way somewhere in there. DOMDocument and DomXPath are... okay... but if the HTML structure of the BBS ever changes, I'd have to redo the scraper.
zep: We may need to talk about the scraper. I have no idea what your feelings are on this, since every 48 hours my server is going to be requesting ~400 pages (and growing). Maybe we need to discuss the frequency that this happens, and/or whether you're even cool with it happening at all. coughJSONAPIWouldBeGreatThoughcough :D You know my email if you want to talk about it.
Nice to see this getting updated again!
I notice you've added three of my four games, which is awesome! I'm honored you liked them enough to add so many!
The missing one is my first Pico-8 game, Messages (https://www.lexaloffle.com/bbs/?tid=29501). Is there a particular reason why that wasn't included?
That's great news!
You might want to check your gamepad code though:
win10 chrome/opera, linux chromium: only works after refreshing the page
win10 firefox/edge, linux firefox: not working at all
(fwiw, I've been using krajzeg's (https://github.com/krajzeg/pico8gamepad/) for a while, never failed afaik)
Thanks for the report ultrabrite -- I think that's what I'm using (or maybe an older version of it), but I did have to modify the code of both the gamepad and mobile controls (adapted from the BBS) scripts that I'm using to make them work together (not simultaneously of course, but in order to support both), and this might be causing some bugs. I'll look into it.
Edit: on Chrome on Windows 10, I'm not experiencing the 'need to refresh the page' issue with an Xbox 360 controller. I'm going to look into the other browsers, but the 360 controller is all I have to test with. I'll also check if I have an outdated version of krajzeg's controller code.
[Please log in to post a comment]