Level 0 game developer.
Elsewhere: tabletop gamer, graphic designer, maker, foreigner.
My Pico8/programming journey: Level0GameDev
I am finally releasing my (yet unfinished) first game to the wild. It is a breakout clone with a bit of 80s computer UI aesthetic. You can find out more about it, and my learning-to-code journey at my blog: level0gamedev
The game is currently playable only as an endless score attack.
It seems that I have run into (among other things) a serious case of feature creep and it has really stopped me from finishing it. I am releasing this WIP, because I would love for someone to play this thing. Just knowing that someone played it would give me a much needed morale boost. Feeback is very welcome and encouraged! Feel free to ask any questions, highlight any faults or even check the code (it is a huge mess, but this is really my first coding outside of some QBASIC 15 years ago).
- 0.85 - each virus gets its own "skill" + sound tweaks
- 0.8 - added sound+music by adrian09_01
- 0.7 - first public release
Edit: Forgot to add, press X or Z to print!
After seeing the awesome textbox libraries on the BBS (here and here), I decided to try making one myself. I needed one for the game I am working on and because I didn't understand the code in the libraries above, I thought it would be a good opportunity to learn (as well as a way to test how to upload carts to the BBS).
This thing is nowhere as complex as the previously mentioned libraries, but it:
prints text letter by letter
does not split words
lets you choose x,y and color of where to start printing
allows only one textbox at a time
does not limit the amount of rows
*is under 300 tokens
I think it might be useful to someone who just needs a simple letter-by-letter printing of text stored in a single string. Maybe for intros or in-between level updates.
To use it, copy everything except what's inside the _init, _update and draw functions from the cart. Paste it into yours and call tbx functions in their respective pico-8 functions for _init, _draw and _update. Then you can call textbox, with a string as a parameter (with optional x,y,col) once to start printing. Call it without any parameter to stop it.
Here is how I am using it:
As I am slowly returning to Pico-8 and I am tempted to make a Pico-8 3d printed console with CHIP, I had an idea.
How about attract mode for splore?
Just like arcades (and some console/computer games) in the past. If the machine was on and not used for a period of time, it would start a demo showcasing the game. Basically it was the game playing by itself (although it was often pre-recorded input by real players).
As Pico-8 is mostly a fantasy home console, we don't need anything too fancy. We can always let Pico-8 play some pre-recorded gifts. If we want to get to the nitty gritty, we can have a command that will record input and then play a cart by using this input.
I am not really sure if we really need this feature, but I think it would be a nice addition, especially when showcasing Pico-8.
I am working on my first ever game, a gltich themed breakout, based on the Squashy from Pico8 Zine#1 and I am now working on making the glitch effects that will be part of the gameplay. What I have now is a way to add a static noise through pget and pset and this kinda corrupted VHS by using random values over x06000 with memcpy.
Memcpy is great for making random glitch effects. But what if we want to, for example, take something from a particular part of the screen and paste it another place we have chosen. Right now I am just doing a trial and error of values and if I get close, I call it a day... but I think there has to be a better way.
Basically, I am wondering if there is a way to find exact memory address of particular screen coordinates? Some kind of a map perhaps of x,y coordinates and memory values? Or even better... a formula that we can use to input x,y of source and destination that would return the memory values we can use memcpy on.
I am pretty sure that there has to be a some kind of underlying math that translates one to the other, but I am a noob, so don't even know where to start trying to back-engineer it.
Would such a map be possible, or would the memory values change depending on color of each pixel for example?
I have just started to learn game development. My only programming experience comes from making few simple things in BASIC more than 15 years ago, but when I found PICO-8 (thanks to the C.H.I.P Kickstarter) I felt a nostalgic pull and decided to jump in into this whole gamedev thing.
I have started a blog: Level0GameDeveloper where I document this journey and explain everything what I am doing, so maybe someone like me (who doesn't have an idea where to start with this whole game making thing) will find it helpful and will also give it a try (maybe even with PICO-8?!).
Anyway, I was hoping that you guys could give me some pointers, as many of you are, what I would consider, amazing programmers (I have seen your code!). The great thing about Pico-8 is that I can lookup any source code to the carts posted here and learn from that, but I find myself really struggling understand a lot of it, as I don't know Lua (or programming practices past the basics really). Right now I am working on expanding the pong clone from Pico-8 Zine#1 and it is going alright, but I am afraid that the lack of knowledge of Lua/Pico-8 functions will make me reach a standstill, or I will get frustrated and give up :(
Any advice you would give to a new programmer? Any books or articles you could recommend (especially about Lua, or basics of programming in general)? I have already gone through the zine and manual (however the manual doesn't explain things very well, but it is a good reference) multiple times and I use this BBS daily, so I am looking for any other resources.
So far I am having a blast and I think I can actually do this, but I would love some advice, so I won't give up. Any help would be greatly appreciated.