If you experience audio lag when playing the web version on PC with Firefox, please try another browser like Chrome/Opera/Vivaldi, or download the standalone version.

If you experience audio crackling when playing the web version on mobile with Chrome/Opera/Vivaldi, please try another browser like Firefox or download the standalone version.


The 8 Pico Emeralds have been scattered! Sonic arrives on Pico Island, ready to collect them all!


pico sonic is a partial demake of Sonic the Hedgehog 3 made with PICO-8. It features a simplified version of Angel Island Act 1 with some tweaks. Various classic Sonic games were used as reference, including the 8-bit games (Game Gear and Master System), which have sprites closer to PICO-8's resolution and color palette, and the GBA titles, which have more clear-cut graphics.

The project was started as a personal challenge and was meant to be a fully-fledged fan game, but I eventually dropped many features to focus on Sonic's main movements and the exploration of the stage. Consider it a technical demo with some exploration challenge.

Disclaimer: the game runs on a patched version of PICO-8 that doesn't have the original token count limitation. However, I do respect the (compressed) characters limit for each cartridge.

pico sonic is a fan game distributed for free and is not endorsed by Sega. Sega Games Co., Ltd owns the Sonic the Hedgehog trademark and copyrights on the original assets.

Code repository (GitHub)


Features

Version: 6.2

Sonic has all basic movements from Sonic 1 but lacks look up and double-jump powers (there are no item boxes for shields anyway).

There is also no timer (sorry speedrunners!).

More info on the repository page.

Content

Title menu
  • Attract mode (wait until end of music)
  • Credits
  • Cinematic + stage intro before stage starts
In-game

There is a single demo stage which covers the first part of Angel Island Act 1. Scale is close to 1:1, but Sonic is slightly smaller (relatively to the environment) than in the original game.

The game uses a custom map "streaming" system to allow a bigger map than PICO-8's standard tilemap. There are no enemies, hazards, rings nor item boxes. Rocks are not destructible.

Some enemies have been replaced by static obstacles, and most importantly some items have been replaced by emeralds that can be collected to make the stage more interesting.

Stage gimmicks:

  • Spring
  • Loop
  • Launch ramp

Controls

You can play with keyboard or gamepad with those inputs:

Left/right arrows

Keyboard Gamepad Action
Left/right arrows D-pad left/right Move
Down arrow D-pad down Crouch, Roll (during run)
Z/C/N Face button up/down (PICO-8 button O) Jump, Spin Dash (during Crouch)
X/V/M Face button left/right (PICO-8 button X) Cancel (menu)
Enter Start Open pause menu
Alt+Enter
Toggle fullscreen
Ctrl+R (standalone only)
Restart current cartridge (title, intro, stage or stage clear sequence)

If you gamepad mapping is not correct when playing with the native PC binaries, you can customize it with SDL2 Gamepad Tool and copy-paste the configuration line into sdl_controllers.txt in PICO-8's configuration directory. For instance, the Logicool Gamepad F310 had Open PICO-8 menu mapped to Right Trigger, so I remapped it to Start instead.

Pause menu

In the pause menu (toggled with Enter/Start), if you are in-game, you can select the following options:

  • Warp to start: restart stage from beginning keeping collected emeralds
  • Retry from zero: restart stage losing emeralds collected so far
  • Back to title: go back to title menu

Known bugs

  • Character can get stuck inside ground when landing on curves and inside loops (fixed)

Known technical issues

  • The player cannot control the character until the stage intro is over
  • The game pauses to switch to another cartridge, esp. at the end of the stage intro (only memory reload has been patched on PICO-8 to be instant)
  • Web version: audio lag on Firefox on PC, audio crackling on Chrome (and other WebKit/Blink browsers) on Android
  • Web version: high-pitched sounds in BGM do not convey the same as in desktop/cartridge versions

Known design issues

  • The stage feels a bit empty and too big due to the lack of items, enemies and hazards
  • Scaling is slightly inconsistent as the tilemap is 1:1, but the Sonic sprites are slightly smaller than they should be (rocks in particular look very big)
  • Some ugly sprite / sprite transitions and SFX too far from the original sounds

Releases

You can download the latest release below, and any released version on the repository Releases page. If you own PICO-8 and want to run the .p8 or .p8.png cartridges directly, download the pico-sonic-p8.zip or pico-sonic-png.zip respectively. However, please note that you will need a patched version of PICO-8, and must extract the cartridge files under your local PICO-8 carts folder (see README).

In addition, you can download the background of the itch.io page below as "picosonic itch.io page background 4x.gif".

Changelog

v6.2 devlog

v6.1 devlog

v6.0 devlog

v5.4 devlog

v5.3 devlog

See full changelog on GitHub

Credits

  • Sonic Team - Original games
  • danooct1 - 8-bit remixes of Sonic 3 BGMs
  • Leyn (komehara) - Programming, Sprite/SFX/jingle adaptation, BGM adjustments

Please ask me before redistributing this game on a free game online platform! (linking to this page is OK, embedding is not)

Download

Download
pico-sonic-windows.zip 1 MB
Version 6.2 Jun 13, 2022
Download
pico-sonic-osx.zip 3 MB
Version 6.2 Jun 13, 2022
Download
pico-sonic-linux.zip 836 kB
Version 6.2 Jun 13, 2022
Download
pico-sonic-png.zip 315 kB
Version 6.2 Jun 13, 2022
Download
pico-sonic-p8.zip 134 kB
Version 6.2 Jun 13, 2022
Download
picosonic itch.io page background 4x.gif 565 kB
Download
picosonic sonic spritesheet (arranged) - pink background v6.0.png 4 kB
Download
picosonic sonic spritesheet (arranged) - transparent background v6.0.png 3 kB

Development log

Comments

Log in with itch.io to leave a comment.

Viewing most recent comments 1 to 40 of 63 · Next page · Last page

Best game I have played today

I GOT ALL EMERALS (:

(1 edit)

А я все собрала, кроме зелёного

I've got all emeralds except the green

:((

(1 edit)

That was beyond stellar. I couldnt find the grey, but got the others. Is there a music conversion program you use or did you manually recreate it in the pico8 music maker? And is this the default pico8 mapspace or did u use some kind of extended memory method? Is this going to go up on splore? Curious how u madeout with the sprite editor etc.

(+1)

Very good question!

I explained the audio conversion process here: https://github.com/hsandt/sonic-pico8#audio-1

Sum-up: I worked from 8-bit remixes made by danooct1, then used FamiTracker to export source files to midi, followed by midi2pico. I still had to manually edit notes a lot, because I had to put everything on 4 channels to leave the 4th channel free for SFX.

For the level, I coded my own map streaming system: the level is made of sub-maps, each one being a standard PICO-8 map. When the camera gets close to a sub-map’s edge, the game automatically load the neighboring sub-map (combining half-maps when crossing horizontally or vertically, and quarter-maps when crossing diagonally). I use the general memory as a “buffer” for the copy-paste operations. However, this still requires a reload from cartridge operation when reaching new regions, so I had to patch PICO-8 binary to hide that extra loading time (with the new general memory at 0x8000 it may be possible to store more maps in live memory, I haven’t tried it yet). It also means that I did nothing special with the sprite editor (although I have multiple cartridges to store extra spritesheet, e.g. one dedicated to the title menu, one to Sonic, etc.)

For a future version, I’m considering using PicoMap (https://www.lexaloffle.com/bbs/?pid=91798) which handles everything from map data stored in runtime Lua memory. However, it is not compatible with the existing tilemap, which means I’d have to redraw the full map in PicoMap, and I don’t know how much time that would take… But something to keep in mind for future projects.

It’s not on splore for the reasons above, that it requires many cartridges for the title menu, intro/ending sequence, and above all the level data; and also that it requires binary patches to work. If I can make PicoMap work, we could have a single cartridge version running on vanilla PICO-8 with just the in-game (level) part.

Another PICO-8 game called “Dungeon Witches” did it, but I’m unsure whether or not it’s possible for this one yet. As an alternative, I could make a small demo level like bonevolt’s Sonic 2.5, which was also running on a single cartridge.

This is a really good recreation of Angel Island, even with more limited color pallets than that of the Genesis, this is visually great and a blast to play. I can't wait for more of this!

Thanks! I can’t promise more content on this specific game, but I intend to work on more platform games one day!

I'll be looking forward to it then!

(+1)

   I've got them all

(+2)

Congrats!

bro thats acrually sick

(1 edit)

This is great, also my favorite emerald is the yellow one, you see it when you go on the jump ramp, but you have to drop from above to get it. Or you could hold right while spindashing off the ramp which isn't obvious, but feels better.

I LOVE YOUR GAME !!!

THIS IS AMAZING!!!!!!!!!!!!!

(+1)

This is really cool! I did find a bug (I think it's a bug but there's always that small chance it's intentional) that allows the player to screen warp all the way to the end of the stage, it happened at the ramp after collecting the brown/8th emerald. again this demo is really cool and I'm glad it was made!

(+1)

Thanks!

Wow, okay, I just fixed the bug that allowed you to fall below the ground and move to the end of the stage, but I didn’t know about this one. How do you do it?

You’re talking about the curved wall after the spring after the 8th/brown emerald right? (not the launch ramp before the yellow emerald)

Is it similar to the “wall escape” technique used by speedrunners on the Genesis games, which consist in entering a wall and running toward the left to get projected toward the right?

Yes I am talking about the curved wall after the brown/8th emerald, and yeah it was exactly like screen warp/ wall escape technique, it was the first thing I thought when I understood what happened and that's why I was unsure if it was intentional or not. The bug only happened on my first playthrough and unfortunately I haven't been able to recreate it since, I'll let you know if I do it again. but I remember using a spin dash while holding towards the right of the wall, I hope this works

is there some type of way to go super sonic if you restard the game with all emeralds?

That was the super nice-to-have feature on the list, but got dropped… Data change (increase speed) would probably be cheap, and it’s super cheap to recolor Sonic’s blue in yellow (as in the original game), but in reality you’d need dedicated sprites for most poses due to hair spikes change, and that would go out of budget (unless it was distributed on a separate cartridge!)

that seperate cartridge thing is actually a good idea

Time for some "Lock-on Technology"

In fact, PICO-8 uses that (almost), you can grab data from other cartridges, just not code! In fact, I’m already at the limit, using all 16 cartridges… But I guess I could merge a few of them.

This is such a good demake! Fantastic job

Thanks!

(1 edit)

we need a tails version (not saying you have to)

It was in the original plan, but dropped when I hit PICO-8’s code limit and realized the Fly mechanic would go over the limit (also I’d have to adjust levels to make emeralds harder to get, unless I make playing with Tails the “easy” mode).

(+1)

where green

(+1)

Look up!

(+1)

o

Sega vs. Nintendo: Fan games : r/gaming

(+1)

How did you know about my secret plan?! It turns out that after Sonic Mania, both Sonic Team and Evening Star will be working on 3D platformers, and I won’t be applying to them any time soon… But I’m glad that what started as a “tech demo for my portfolio” ended up as a proper experience with an actual level to play through.

Good! But there is no full screen

(+1)

There is! Just click on the rectangle on the bottom-right

(+1)

Is not there. Im on mobile

where is the  red white and black emerald.

Red should be near the start of the level, but there is no black and white emerald, just a grey one.

(+1)

I’ve never actually PLAYED Sonic before, but this game kinda, kinda makes me want to. (Get the reference?)

-Caitlin

Thanks! Hm… I remember hearing this kind of sentence, but I don’t have a particular reference in mind.

No worries if you didn’t get it, it’s just a line from a song.

The sprites are ADORABLE- If I had the skill, I'd want to swap the ones in Sonic Mania for Sonic's sprites from this

Well, Sonic Mania went the opposite direction, increasing color palette and sprites count, but it also give it its charm.

In fact, I’m still jealous of Sonic Mania walk and run cycle sprites count, which is 2x of Sonic Master System, 1, 2 and pico sonic, and 1.5x of Sonic 3! PICO-8 having limited resolution and color palette, most games stand out thanks to leveled-up animation.

But due to limitations of spritesheet (and my own ability to draw many sprites), I had to stick to Sonic 1 run cycle and art style; which ended up quite nice in the end.

bro my teacher played this

o_O in which context?

played with a controller

a sega genesis one

Oh, I meant in a casual event or as part of a class, e.g. “retrogaming history” or “introduction to PICO-8”

Wow I didn't know you could make something this cool in PICO-8 !! Amazing work! 

Thank you!

Wow, this is so freaking impressive!

I love it. Amazing job

Thanks!

i wanna do games like you... but looks like i will never be able to make a game...

There are many resources available for that, and also schools if you want to go professional. I was doing web programming before, but I started working on standalone games 10 years ago with resources like Game From Scratch (https://www.youtube.com/c/gamefromscratch/) and later, Brackeys (https://www.youtube.com/c/Brackeys/). I’m on the code side of things but you can find your own field(s) of speciality. But more importantly, stay with the community: in the case of PICO-8, looking at other devs’ work and talking with them about how they do it is very instructional.

thank you!

1: no badnik

2: masterpiece

I LOVE IT. I really hope for a fully fledged game. :)

(+1)

i wanna die.

(+1)

Ummmmm ok?

Impressive.

Thanks!

You can't release pico games as executable ? right ?

I definitely can, with the EXPORT command. The Windows, OSX and Linux executables you see have been produced like that.

In reality, they are just a common PICO-8 runtime executable (+ some shared library e.g. DLL depending on the platform) + a .dat file which contains the compressed Lua script + assets data.

So it’s just the .dat file that characterizes the game, while the pico8 runtime binary is just a common file for all games exported on a given platform, with a certain version of PICO-8.

(1 edit)

Nice work.

WOAW your demake is so fantastic, i love it :)
But i'm really so sad ... i can't play it with my real PICO8 engine on my Batocera PC :(
If i understand fine i must use your modified version, but i can't ... i can only use the real engine :(
Is it really impossible to make a version working fine on the real engine please ?
Thanks a lot

(1 edit)

(Note: some technical stuff below, I don’t know if you’re a PICO-8 programmer or just using it from the player side, but I put them in case you’re interested)

Ah, an enthusiast!

Let’s see… The biggest issue is the token limit. The most direct way to cut that is to remove all the backgrounds and foregrounds… I can try, but I’m fearing for the visuals.

The second issue is the “fast reload” patch. Unlike the token limit, it will not prevent you from running the game, but the game will freeze for up to 1s every time you change region (128x32 tiles). A true fix would be to store all the regions in Lua tables, and copy them myself instead of relying on PICO-8 reload. I believe it would be faster, not because of the implementation (Lua iteration may be slower than the engine’s C code even adding I/O operations).

An alternative could be to make a special reduced version of the level for vanilla PICO-8. This would fix the complex background code and the region loading issue (Bonevolt did it on Sonic 2.5 so I know it can be done, with the slight difference that my OOP code tends to be bigger).

For better results and in the spirit of PICO-8 I’d go with the second solution. Unfortunately I’m working 1 day/week on the project now (spending other days on new projects), mainly to complete the intro sequence, so I don’t think I’ll be able to make that happen any time soon.

Thanks a lot for your answer. I m not a développer. But i will stand for your update. Take your Time ... 😉

Ah, sorry for the long explanation then. I can’t guarantee an update after the last things I was already planning, but I’ll see if I find a nice solution!

Ok thanks a lot for the answer :)

hey can i use the sprites in my gameboy sonic game?

(1 edit) (+1)

OK! I cannot give you an exact license since it’s already fan art; just credit me and notify me when the game is out (consider it a kind of CC-BY-NC as mentioned in the itch game metadata, except that it only applies to my work of adaptation).

I don’t know if they will work in 4 colors though, you’ll have to try. If it fails, you can always ask pixel artists for help (I’m not 100% satisfied of my sprites, so if you find one maybe they can make nice sprites specifically for this color palette).

To extract the sprites:

  • download the cartridge release (.p8.zip) and extract it
  • open data_stage_sonic.p8 in PICO-8
  • check the spritesheet and run export sonic_spritesheet.png

If you don’t have PICO-8 I can upload it directly on this page too.

could you upload it please? thanks

Yes, actually I’ve noticed that the exported spritesheet from PICO-8 misses one foot in the fall sprite due to it sticking out.

So I’ve uploaded the arranged spritesheet with the fixed foot as “picosonic sonic spritesheet (arranged) - pink background v6.0.png” (mostly useful for PICO-8 users; they should set transparency color to pink) and a variant “… transparent background v6.0.png” with a transparent BG (you’ll probably want that considering you’re gonna change the colors anyway).

From my 4 year old son:
Thank for making this. I liked how you can go really fast most.

Cheers, mate. Cracking job. Between us we got all the Emeralds. 🥳

Good job!

ahhhhhhhhhhhhhhhh i cant start

Which platform are you using? Where are you stuck?

Basically if you press C 3 times on the keyboard, you should immediately show the menu, start the Start Cinematic and then skip it to immediately start the level.

For web only: make sure to enable Javascript. I removed the need to click on Run Game, the game is now automatically loaded on page load, so you just need to click on the embedded game with the Play icon.

windows 10

operating system dosent help much

Windows binary should be working. Does the app start? Are you stuck on title menu?

Send me a screenshot/GIF of what you see and tell me what you’ve tried.

nvm i got it

you will need hydro city and super sonic (if you collect the all)

It was planned initially, unfortunately, after a year or two I realized it was getting out of budget… (not just time but also code size limitations of PICO-8)

Maybe one day, someone will redemake it in Pixel Vision or something and go even farther… ?

It's an impressive work and has a very nice graphic design, it really looks like an official game! ;D

Thanks!

very cool game, didn't know Pico-8 is capable of such games! great pixel art too

Found this through SAGE. This is great!

Even got all the emeralds!

Thanks, and congrats!

Do you have the cartridge image? If so, just reply with the image. (for P8 Player) 

Yes, they are in the downloadable files, in pico-sonic-png.zip. It’s a multi-cartridge game so it’s actually a set of many cartridges (for code and data).

However, to run the game you need a patched version of PICO-8, because I went overboard and the ingame cartridge has more tokens than allowed. The patch would extend the number of tokens allowed (and also doing fast reload of data to avoid a short freeze each time you change level region). That’s cheating in a sense, but I’m still following the (compressed) characters / cartridge size restriction.

Unfortunately that prevents me from posting the game as a proper cartridge on the BBS, and you from playing the game from your player… Sorry for the inconvenience.

Note: there are more info on patching on https://github.com/hsandt/sonic-pico8#releases but it’s still incomplete (missing patches for Windows editor, etc.), and I don’t expect people to go to that length either. So the binaries are still the definitive version for this game.

i tought this was pico, from new grounds....Im stupid

bro they took pico as an 8 year old and mad him make this game

(+1)

pico 8 is a software and not a character

Ah, I got it! pico must be a character on newgrounds, and jasons_itch made a joke about the possible confusion: “this game was made with pico (8)”

nice

but i clipped into ground

Was it in a slope like the first curve, or inside a loop?

If so, that is a known issue although hard to reproduce, I will add it to the list of known issues and try to fix it in a future patch.

If it was in another place though, please tell me where so I make sure to fix this location too.

slope

ok

Viewing most recent comments 1 to 40 of 63 · Next page · Last page