BBS > Lexaloffle Community Superblog
View Older Posts
Hello Pico-View reader, this January Issue marks the beginning of the monthly "Pico-View" Web-Zine. Formerly Pico-View was a small interview series. From here on out, it will be a montly Web-Zine featuring several exclusive articles, perfect for anyone wanting a "view" into pico-8. Without further ado... We hope you have fun adventuring through the pixels and paragraphs of this brand new Pico-View web-zine.
-Achie, Nerdy Teachers, Celesmeh, AlexWolfe, SmellyFishSticks, Louie Chapman, and Marina
-Growing and learning in Pico-8
-Little Eidolons - Achie Reviewed
-Yasuhito (Quantattack Dev) Interview (ft. Marina)
-Creating Better Sound in Pico-8 - Louie Chapman Article
-Secret of The ̶O̶o̶z̶e̶ Flip... In Pico-8 - AlexWolfe Pixel Article
Odds are if you are reading this, you know what Pico-8 is. You've seen videos, looked at the forums, Reddit, watched gifsor seen tweetcarts. Pico-8 is an amazing fantasy console that opens the world of game development and programming up to many, But what makes it such a good starting point? Why is Pico 8 generally seen as one of the best tools to enter the world of programming and the world of game development?
There are a few factors that play into this, but the truth is there are a few things that make Pico 8 an excellent entry point and educational tool. The first is simple- ease of use. Pico-8's interface may at first look intimidating, but in the end, it is deceptively simple. It has a simple and user-friendly interface that makes it easy for beginners to learn how to code. The interface is designed to help users focus on the essentials, without being overwhelmed by too many options or complexities. You have your code, sprites, map, sounds, and music.
This limited menu comes along with a limited scope. The limitations of Pico-8, such as its small screen size and limited color palette, make it easier for beginners to learn and understand the basics of coding. These limitations also encourage creativity and problem-solving skills, as users have to find creative solutions to achieve their desired outcomes within the constraints of the platform. With larger game development tools you can find a library to help you achieve something- but if you do the same in Pico-8 you have to look at the tokens the code adds, and balance your tokens over the value that feature adds.
There is one other aspect that I believe makes Pico-8 stand out among other similar game development and educational platforms: Community. Pico-8 has a strong and supportive community of users who are always willing to help each other. This makes it easier for beginners to get started, as they can turn to experienced users for guidance and advice. There are Discords dedicated to sharing and learning to allow both new and experienced users to connect and grow together.
Overall these things- along with a free and accessible educational version online, allow Pico-8 to thrive and grow as an educational, fun, and expandable environment for creation. It's a tool designed to simply meet the user where they are- are you a beginner with small questions on how to move a sprite? or are you looking at complex vectors for simulated 3d graphics at a small scale? All of these things allow Pico-8 to be an incredible first step into programming and game dev.
New year, new zine and a lot of games released in this first month! We got new developers opening their wings, established ones showing why they are big names in the community, so let's take a look at one of these hot games released by a somewhat fresh name in the PICO-8 game developer scene.
Dea on Discord, SmartAlloc on the Lexaloffle BBS, was working on a game called Little Eidolons, which catched my eye really early on. "An open-world rpg where you can catch, train, and battle with over 100 varieties of monsters!" Sound familiar? If you grew up around my age, this description is very close to the now classic game called Pokemon! Fear not, thankfully this game has its own spin on the genre to elevate itself out of a simple Pokemon Clone.
Controls are easy, classical grid based movement outside the battle with ⬅️⬇️⬆️➡️ and you enter battle with walking into, or getting walked into by wild Eidolons/Trainers (and other things ...). Surprise, this is where one of the major differences arise from other catching games. Battle is based on the so-called "Tactical movement". If you are not familiar with it, the battlefield is divided into squares, such as the overworld and you will be able to move unit by unit, distances based on unit speed! You move all of your units, then the enemies move and turns are passed back and forth until the wizard on one side is eliminated or in a wild battle all wild enemies are defeated. Be careful how you approach battle as your encounters will pull every enemy on screen into battle as well! So some wild Eidolons may straddle into your duel with another trainer.
But before we get into combat, let's talk about the Eidolons themself! Nature, Wind, Lightning and Water are the types they all can take form, and with around 40 of them in the game, that's 120 different combinations! There is a type advantage: a heavy handed +20% power and accuracy! But what are power and accuracy you ask? Each of them has 4 different stats, namely Attack, Defense, Accuracy and Evasion. Attack and Defense boost/reduce damage by 10% for each point, while accuracy and evasion are rolled to hit or to dodge attacks! What attacks? Each Eidolon has two moves: an Attack and Aid. In battle you can target enemies, which will result in your Eidolon using its Attack move and targeting an ally using the Aid move. Attacks have accuracies and damage values and mostly debuffs, while Aids are (to my experience) always successful and are always helpful effects, heals, evasions buffs or sometimes leeching life off from target, because some Eidolons are greedy little ones. You select you active Eidolon with 🅾️ which also handles the Attack and Aid selection. In combat ❎ will bring up a full screen break down of the selected Eidolons stats and moves!
So for example my Anklebiter has an Attack that has 80% accuracy and 40% power, with the effect to reduce it's Defense by 4. A heavy and accurate attack which sacrifices armor for power's sake. So how does combat work? First the game checks for a successful attack by an equation of: Move Accuracy + User Accuracy - Target Evasion. If the attack is successful damage is calculated. You can think of the HP as a flat 10 points and think of Power and Attack values as 1-s. So Anklebiter will deal 40% (move base) + 50% (it's attack) which is a total of 90%, divide that by 10 and you get a whopping 9 points of damage! This is reduced by the armor values of the enemy, so for ex. an Eidolon with Defense 2 will take "only" 7 damage from an attack.
With combat mostly explained, let's look into the party set. Your party always contains your wizard guy (with its neutral typing) and up to 4 Eidolons. You can mix and match the Eidolons and their type, so if you feel brave you can rock an Anklebiter comp with different elementaly types. You catch wild Eidolon automatically if you defeat them in combat and you can swap them anytime outside of combat, which is a feature I really appreciate. You can also heal your team to full on the many pentagrams on the game's map, which also respawn random Eidolons in your area.
One important thing to note is there are random gems/moves scattered around the map on which you can land to gain their benefits, let those be stat increases or new moves to teach!
There are many different biomes and mighty beasts for you to battle through and catch! The sprite work is amazing, I'm a lover of the 2-frame animations and this game rocks that style quite well. Each enemy is unique enough so you can differentiate between them with a blink of an eye. The UI is clean with an amazing trick that is not mentioned anywhere. If you hover over an enemy with one of your Eidolons selected you will see a little window on the top explaining the type advantage, your accuracy towards that unit with your attack and the damage it will cause. It's an amazing feature that works in the other way so you can look through and decide which of your units can tank the enemy the best. Icons are clean and well defined, so you can't get confused. The environment is well created with a simple yet charming look to it. Look at that little snowman!
Music and sound effects were handled by Gruber and Oto, so you can be sure that they slap hard. The battle music is amazing, the main background that is simple yet fills the game quite well and the sound effects are crips and punchy to help sell those big hits!
The game is surely a gem in the PICO-8 cart world, I advise playing it to anyone who likes the Pokemon like genre with a nice little tactical twist added to it. I haven't got that far (although I found one of the Legendary beasts) but I can assure you that there is an amazing adventure waiting for you if you dare to venture into the world of Little Eidolons!
Marina: So... Yasuhito... who are you and what have you done?
Yasuhito: I am a Japanese researcher, mainly working on quantum computers. I am also interested in promoting quantum technology, and as part of that, I created QuantAttack, a quantum-rich action puzzle game on Pico-8.
Marina: I actually had no idea it was about Quantum Computers until you told me a few weeks ago. I just thought it was a very unique Tetris clone. It really has that "pop and crackle" juice pico-developers strive to master... It makes me suspicious! Do you have any experience at all in making games? If so then please do share your experiences.
Yasuhito: If it looks like a game, then it is a success! QuantAttack is a kind of so-called "educational game," but I think that in most cases, such games are too educational and not enjoyable enough to be considered true games. For example, there is the term "gamification," but forcing something that is not originally a game, such as quantum mechanics, to be a game does not make it enjoyable.
Yasuhito: Therefore, in the design of QuantAttack, I focused on reducing the quantum, or educational, elements as much as possible. I kept the basic rules close to those of Tetris and Tetris Attack (Panel de Pon), but incorporated quantum computer elements only in the rules for clearing blocks.
Yasuhito: I had an MSX 8-bit computer when I was about ten years old, but I had no experience in game creation; I didn't even know about Pico-8 until last summer, and to top it off, I don't usually play games at all. So for this project, I started by observing other well-known games. Specifically, I found videos of well-known puzzle games on YouTube and observed the effects at 0.25x speed. My son and daughter may have seen me as a "totally useless adult who just watches game videos all day long," but I considered that experience essential research. Also, on the technical side, I found the YouTube channel of Masahiro Sakurai, famous for his Smash Bros creation.
Marina: So pretty much like Splinter from TMNT 1990? Woah, I'm amazed. Now that you mention it I don't research like that as often as i should. I might start doing it more, and the folks at home should too! So, the question everyone's wondering... What's the difference between a Quantum Computer and a normal Binary Computer?
Yasuhito: I am not that great lol. You can analyze well-made games by watching many videos, but I had a hard time programming in Pico-8 at first. Video games are real-time systems, and it was my first time programming with the frame rate in mind. What made it even more difficult was the Lua specification. The only literals that could be used as data structures are tables, and the functions for manipulating tables are very limited, so the code tended to be redundant at first. _ENV and metaprogramming with setmetatable() is also confusing... EricB wrote about the difficulties of Lua programming in the README of Into Ruins, and I totally agree with him.
Yasuhito: To be precise, a quantum computer is like a GPU assisting a CPU. By "assisting," I mean that a quantum computer can speed up certain computations that are too complicated for CPUs to perform. Prime factorization is one of the most famous calculations that quantum computers can accelerate. If prime factorization could be made faster, breaking encryptions such as RSA would be possible. As a matter of military interest, large countries such as the United States and China are working on quantum computers nationally. However, little is known about how many computations can be made faster with quantum technologies.
Yasuhito: Also, since quantum computers are only accelerators, not all conventional CPUs will be replaced by QPUs shortly. Furthermore, it is said that practical quantum computers will not be realized for at least 10 to 20 years. Thus, there is no T-1000 coming from the future tomorrow or AI going haywire and exploding every Tesla car on the road. What is personally interesting to me is that quantum computer code can be represented graphically. If you read a paper on quantum computers, you will see many blocks that look like a QuantAttack screen! Each block is a quantum gate, which is a primitive quantum instruction. To understand each instruction precisely, you need to know linear algebra, which is a big difference from conventional computers. But if you learn the rules of how to erase blocks little by little, you may become a quantum programmer.
Marina: Do we have a visual of the real life Quant-Attack screen?
Yasuhito: Yes, of course. I have taken some figures from a recent IBM article (Single-shot error mitigation by coherent Pauli checks, https://arxiv.org/abs/2212.03937). They also appear in QuantAttack, and I imagine you have seen the H-blocks and the circular block with a leg in this first figure. (Note that the orientation of the blocks is different from QuantAttack. Normally, quantum programs are written horizontally, whereas, in QuantAttack, they are vertical.)
Yasuhito: This is a slightly larger quantum program taken from the same article. The large blocks labeled L, U, and R are like a black box that can be built by combining smaller primary blocks. The huge garbage block that drops in QuantAttack is inspired by this black box block.
Marina: Oh wow. You may have made the funnest educational game ever.
Yasuhito: I am glad to hear you say so! But this game may seem a bit difficult at first. There are hidden tricks that players can use to improve quickly. May I introduce them?
Marina: Please do.
Yasuhito: The only rule you need to remember, at a minimum, is that if two blocks of the same color are piled up, they disappear (or change into another block). If you can do this quickly, you can score a considerable amount of points. The key point is the special connected block shown below. This block (CNOT), which also appears in the tutorial mode, disappears when stacked in pairs, just like the H block and others. However, the main difference between CNOTs and other blocks is that they have the effect of “stopping the world” when cleared. So if you have too many blocks piled up, you can get out of a pinch by erasing CNOTs.
Yasuhito: In addition, CNOT has the following special patterns; when three CNOTs are stacked in different directions, a SWAP block, represented by X-X, appears.
Yasuhito: If you “sandwich” the SWAP block with two blocks to make them clear, you can stop time in the same way as with CNOT. And since the SWAP block does not disappear (except in special patterns), you can stop time as often as you like if you create the patterns quickly.
Yasuhito: The last technique is a bit tricky, but that's about it!
Marina: Woah, I felt the game had a lot of depth to it, my favorite thing is that you can learn all of this in-game through expirementation.
Yasuhito: There are a crazy number of other patterns hidden in this game, so try to discover them. It was hard to implement them all btw 😅
Marina: I bet, and here I thought it was the cool graphics that took so long. Sheesh. I'm excited to play it again after the interview. So, what can we expect next from you in regards to pico-8?
Yasuhito: Next, I will release an SNES-style action puzzle game! QA was a bit nerdy game with a dark atmosphere, but the next game will be more generic and cute.
Marina: Ah, I'm really looking forward to it, thank you again for your time, and the incredible insights, and I hope to see you on again!
Yasuhito: You're very welcome! I’m glad I could help!
Shazabi is a round-based dungeon-puzzle game in which you need to rescue kidnapped characters by finding keys, fight animals, pull levers and go deeper into the catacombs...-L0ng-Mount
Shazabi is a silly little RPG, in which you constantly progress, saving your... interesting friends. -Ink Riderrr
I have to say it's a must play puzzle game in pico8. It's challenging yet rewarding when completing each puzzle. I always feel a sense of accomplishment when completing the puzzles. It's epic to say the least. -Deep INT. Ferno
Sokobird is perhaps the best pico-8 puzzle game up to it's point! A must-have on any retro hand-held with 32 levels guaranteed to stump you atleast 32 times. -Mondo Boi
A silly rhyming game about a hungry bear, I didn't expect much from it, but... To my surprise I found it to be a very fun experience. -Reedboot
This game is definitely the most unique puzzle game I've ever played. With several game-modes which remain relatively the same, in difficulty and style. Even so, it's a very fun puzzle game that satisfied me for a good while. While not as expansive as previous mentioned puzzle-titles, it's still a must-play for pico-players, and a bold statement to pico-devs... "Ink outside the box! -Reed-Boot
Reviews provided in part by random donors in exchange for article leaks... Contact " @MarinaMakes" on twitter or "Marina Makes#0142" on discord to donate for later reward...
Often neglected , sound design is one of my favourite parts of game development . Suddenly the shooting has weight , the jumping feels snappy , and clicking U/I well… clicks ! While Pico-8s 4 sound channels might seem daunting at first , my goal here is to convince you to love sound design just a little bit more , and maybe force you to program a “mute” button just a little earlier than you would have otherwise .
Sound and gameplay have been intrinsically connected since the dawn of time ( ~roughly the 70s ). Sound designers have been cleverly applying a wide range of techniques from full orchestras to squishing fruit with their feet , and for the sake of brevity I’m going to crush the entire art form into a single graph with a silly title . Here I present my subconscious best friend , the ‘Necromancers Echo Map™’ . A mental chart that I apply for designing the soundscapes of all the games I produce . I’m sure you might be wondering “why is it called that”? , and that is a fantastic question .
The purpose of this chart is to allow subtle effects a place to breathe and fill the silence , as well as allowing more punchy effects to have the impact they deserve- if everything is loud then nothing is!
Passive effects are sounds that aren’t created directly by the player , UI sounds , background music and weather are all examples of passive effects . Surprisingly , active sounds are the opposite of this- including anything from attack sounds , to footsteps .
Sharp sounds command attention , and are best suited for things that the player needs to be aware of immediately ; think players' damage , gunshots , or boss spawns . In contrast to this , soft sounds give the ear breathing room , and fill out the sound space . Background music , UI “swooshes” , and ambient effects are all examples of soft sounds .
The simplest way to apply the Echo Map™ to your projects is to think of each sound effect as taking up a region on the graph , and aim to have as little overlap as possible . As well as that , try to save loud sharp sounds for important events- not only because it gives them more weight , but also because it's the quickest way to get someone to mute your game and swiftly call the ear dentist . On the other hand , don’t neglect to add passive and soft effects ! They make such a huge difference to ambience and can be an effective way to convey tone.
Generally speaking , the easiest way to have balanced audio is to start at the bottom left of the chart and move up to the top right . Doing this avoids a lot of soft active sound effects , which can lead to unresponsive feeling gameplay ; and it also avoids a lot of sharp passive sound effects , which can be overwhelming or distract the player .
This will work in most cases for most games , but is fairly uninspired- and we can do better ! One of my favourite things about game development is that there reeeally isn’t any rules- and you can just do whatever you want . So let's explore the other two corners of the Echo Map™ ! Sharp / Passive sounds can be used for setting an intense mood , such as jump scares , musical crescendo , or weather effects- and is generally followed by a much less intense section to allow the player to breathe . Conversely , Soft / Active sounds are excellent for making UI feel responsive . When developing games , I like to make every possible user input respond with a sound effect , even if it doesn’t do anything . Acknowledging the player intent can be done with a simple click , and making a subtle negative sounding noise can guide the player towards the right direction .
At the end of the day , some of the most interesting art comes from moving beyond the mould- whether genre expectations , maths equations , or hardware limitations . So with rules to be broken , and GDC talks to be spoken , I encourage you to care more about the sounds in your game . They can have such a profound impact on the way that it plays ( or even completely alter balance ) . I hope at the very least I’ve given you something new to think about when it comes to the fascinating world of sound design .
Thank you for reading ! I’m Louie Chapman , or @0xFFB3
on twitter - I hope you have a lovely day/night/dusk/dawn <3
Alex Wolfe is a visual effects artist and teacher in Los Angeles, USA. He has worked on movies and tv shows such as Star Wars Episode VII, Aquaman, and Loki. He is a PICO-8 hobbyist of 2 years and is working on a TMNT PICO-8 game that you can try HERE.
Here are a few ways to make efficient use of sprite sheets that I have learned along my path in game design.
I sometimes see developers post sprite sheets that look like this:
This can be a huge waste of space! Remember, you can flip any sprite this way in your code using TRUE or FALSE in the flip_x arguments in spr or sspr.
Note: Sometimes you do have to have flipped versions of your sprites, commonly because you are using them as map tiles, and you can’t flip the map as easily. So think carefully about which sprites are going to be on your map, and look for opportunities to use flip_x and flip_y, and save sprite space where you can.
And sure, using the flip_x argument like that is great for creating left and right shots of characters out of one sprite, but did you know you can also use it for game animation?
You can test for flip animations by highlighting them in the sprite editor and pressing F to slip horizontally or V for vertically.
You can also apply this trick to objects that you want to spin or shake very fast.
Using flip can breathe tons of life into simple animation without needing much additional code.
Here’s something I was working on today. Take a close look and analyze my sprites. How many uses of flip do you see? (hint: some of them aren’t actually flipping, just moving from side to side)
Remember to always make efficient use of your sprite space as you build, and always consider ways to save space and reuse existing assets in new ways. As you find ways to improve your layout, you will be able to put more artwork and more animation up on screen in your games.
Each month, this section of Pico-View will bring you a prototype game with a focus on a unique game mechanic. You can play it as it is and share your high scores, or you can take the challenge of making it your own! The choice is yours!
This month's prototype is named "Nearmiss" because the core game mechanic is to ALMOST collide with obstacles. Try it out right here!
We challenge you!
Take this prototype as a jump-off point to practice your skills, and add your own flavor to it. The only requirement is to keep the core mechanic of rewarding the player for nearly missing obstacles. Do as little or as much as you can!
Add a theme, background, effects, music, and anything else you want to create your own spin off of this game. I can't wait to see what amazing games our community can create! Don't forget to join the Prototype Party by sharing your spin-off with everyone!
You can post it on the BBS, tweet it with the hashtag "#picoview", and join our Discord community if you have questions or want to share your progress. Here is the game cart with everything you need to get started!
If you don't own PICO-8, you can still join in the fun and add to this prototype in the PICO-8 Education Edition by following this link: Near Miss - Edu Edition
Hello once again to whoever's eyes this finds. Thank you for reading the brand new pico-view web-zine. We apologize for all of the tmnt love. With the upcoming game we're excited, to say the least. Finally, a thank you to everyone who helped with the making of this web-zine. Which includes...
-SmellyFishStiks - Cover Art
-LouieChapman - Article Writing
-Achie - Article Writing
-Celesmeh - Article Writing
-Alexwolfe - Article Writing
-Pickleschip - Article Writing
-Yasuhito - Not Leaving My Basement During Interview
-Nerdy Teachers - Zine-Conversion, Organization, and Article Writing
-Diante The Developer, Andi, and Greentea - Support/Donations
Thank you to everyone for all of the help, and for reading this beautiful new Pico-8 "Zine"! If you would like to write an article, donate pixel art, or help with anything contact @Marina Makes or @NerdyTeachers on twitter. -Marina
Silly demo, someone should call pest control.
Realtime metaballs demo. Uses the map as a 16x16 8-bit texture, upscaled using a bilinear filter function.
It's been a few days since I worked on this app. When you're in the groove, you have a list of things to bust through, bang bang bang.
But now I'm like, "wait, what was I doing?"
So here's what I was doing:
Many years ago, programmers would have to submit applications on punch cards. That's well before my time, so I don't know how that must have felt. But I can imagine you'd spend a lot longer trying to make sure everything looked exactly right. I can imagine it'd be agonising waiting to get your results back. And gosh, imagine how disappointing it would be to get your results and find you made a minor typo. Ugh!
On the other hand, the 2023 experience is so fast it almost doesn't feel real. You can type something in your editor and it will immediately tell you when there's an error. You can hit save and (in the case of React) the browser will automatically update within a moment or two. We're getting closer and closer to coding feeling like sculpture. As Bret Victor famously says, if you can see the results of your actions immediately, entirely new ways of thinking and creating open up.
I just spent a few hours fixing some bugs, and I saw a different sort of iteration process, but just as profound:
Those three steps don't seem like much, and in a way they're not. We've always done step #1 and step #3. It's step #2 that's been the hard part. Google search results can be helpful, as can docs and Stack Overflow questions. But they often take a lot of effort to get working well. Stack Overflow answers can be good, but sometimes your question is different enough that previous questions won't help. Google can point you to answers, but they're often outdated or bad. Documentation can help but only if it's good, up-to-date, and you are the sort of person that can find what you need in docs.
In comparison, chatGPT just lets me get the information. My step #2 has just gotten much, much faster. So I see myself improving much, much faster.
I made a lot of small improvements to my Firehose app today. The most obvious one is that I added a loading screen, featuring this cute little guy.
I've had pico-8 for a long while but didn't start making things with it until recently, and it's been a lot of fun learning programming!
The artwork is drawn by me, and the scrolling text is from the end poem from minecraft which is in the public domain
So! I got my Firehose RSS concept working pretty dang well. Which naturally makes me want to improve it further. Today my brain hosted a fireworks celebration worth of explosive ideas, one after the other. Pow bang pow.
The next big thing to do, now that I've tidied up some bugs and stuff, is to make the RSS feed into a webpage. Yes, it's great that I have a combined RSS feed. But most people don't use feed readers, so for them I need to make a simple website that shows everything in a feed. Like a blog powered by ten other blogs.
And the best part is, I think I actually know how to do that. So here I go!
So there's this great thing called PICO-8, which is referred to as a "fantasy console." You can go and play all sorts of games on the PICO-8, or you can make your own game. It's pretty great.
Part of this community is a blogging system, so I got an account. I don't write games, but I figured this would be a cool place to write about technical things that I'm building and excited about. Even if they're not PICO-8 or related to games.
So, tonight my excitement is that I got an RSS feed working that pulls from multiple sources. It's a pretty cool concept. And now I hope this post appears in it.
I downloaded Pico8 in 2021 and catching up again now...and started to see the potential and love the simple language from a non-programmer perspective. I'm more of an artist but recently found out about Lazy Devs youtube videos and patiently follow each shmup vid, I can see hope in creating my own shmup. I love shmup since the late 80s growing up visiting local arcade often. Now I have to really focus on making my own 1st shmup game..
Thank you too to Nerd teacher, Lazy Dev, and others for all your time and energy in making the software and tutorial vids