Log In  

I'm starting a tutorial on how to make your a BETTER Shmup in Pico-8! It's for complete beginners. It is a series specifically designed for more experienced developers looking to enhance their skills. It is a follow up to the Basic Shmup Tutorial we did earlier last year.

We will take everything we've learned in the basic tutorial and turn it up to 11. We will cover things like project planning, token optimization and tool development. The goal will be to make a PROPER Shmup with a rich scrolling background, dynamically spawning enemies and complex bullet patterns.

New episodes on Wednesdays and Saturdays. I will use this thread to keep a list of the episodes and post significant progress. Let's gooooo!

Episode 2 - Performance
Episode 3 - Scrolling
Episode 4 - Modular Scrolling
Episode 5 - Movement
Episode 6 - Smooth Movement
Episode 7 - Banking
Episode 8 - Shooting
Episode 9 - Better Shooting

Episode 10 - Explosions
Episode 11 - Dithering
Episode 12 - Blob Grapes
Episode 13 - Blob Animation
Episode 14 - Blob Color
Episode 15 - Sparks
Episode 16 - Side-Scrolling
Episode 17 - Tilemap Design

Episode 18 - First Prototype
Episode 19 - State Machine
Episode 20 - Sprite System
Episode 21 - Symmetry
Episode 22 - Split 2D
Episode 23 - Enemies
Episode 24 - Bullets
Episode 25 - Collisions
Episode 26 - Splash

Episode 27 - Custom Tools
Episode 28 - Table Export
Episode 29 - Tool UI
Episode 30 - Keyboard
Episode 31 - Adding Data
Episode 32 - Sprite Editor
Episode 33 - Sprite UI
Episode 34 - Robustness

Episode 35 - The Wall
Episode 36 - Animation System
Episode 37 - Enemy Database
Episode 38 - Collision System
Episode 39 - Hitbox Editor
Episode 40 - Death
Episode 41 - Spawn Schedule
Episode 42 - Schedule Editor
Episode 43 - Schedule Preview

P#126607 2023-03-05 09:23 ( Edited 2023-08-11 14:33)

2

I just caught up with this episode (and am starting episode 2), and I immediately have an important question:

How is this game not called "Cattle Battle"?!

P#126811 2023-03-08 23:37

@2bitchuck That is not a bad pun. I am impressed!

P#126841 2023-03-09 12:07

Will there be another showcase for this tutorial?

P#126923 2023-03-10 18:39

Looking forward to more of these!

Also, here are some of my own cow-themed pun contributions:

BULLet Hell
DAIRYus
ShMOOp
Grazing Lasers
Steer Wars

P#126954 2023-03-11 08:18 ( Edited 2023-03-24 01:39)

@JadeLombax Ooooh, Grazing Lasers is really good!

P#126971 2023-03-11 11:56
1

Checkpoint at Episode 9. We are making a bunch of prototypes to develop the tech and test the limits. We made a performance prototype. We developed tech for modular scrolling to allow for a long level. We also fine-tuned basic movement and a simple basic shot with animated bullets and muzzle flashes.

P#127960 2023-04-01 13:29

Here's a bug report I made on the map data copying difficulties you ran into in episode #17.

P#129150 2023-04-29 19:42
1

@Kaius Sweet, thanks!

P#129299 2023-05-02 10:42
1

Checkpoint at Episode 17. We spent most of the month working out a system to generate procedural explosions. Then we moved on to drawing the Tilemap and planning out the level.

P#129300 2023-05-02 10:43

In response to episode #22 asking if the split2d function could be made more token-efficient, I instead made the function more versatile at the cost of more tokens. :P

P#129886 2023-05-18 20:13

Could you make a tutorial on how to add controller support to the html version of your game?That would be really cool

P#130431 2023-06-01 21:19

@Flowpix html export from Pico-8 supports controllers by default

P#130445 2023-06-02 08:56

Thanks for the explanation

P#130467 2023-06-02 20:10
1

Checkpoint at Episode 26. We combined all of our prototypes into a singe, main game. We then addressed an important concern when developing Pico-8 games: the limited sprite space. For this reason we create a sprite system that can efficiently deal with sprites of any size, apply effects like symmetry and even combine multiple sprites into one. Finally, we added first preliminary enemies, bullets and collisions to get a feel for the overall game and plan the next steps.

P#130479 2023-06-03 14:58

Checkpoint at Episode 34. We did a small detour to develop a framework for our own custom tools. We've built an Excel replica template that gives us a solid UI framework. We then used that template to build an editor that allows us to quickly define sprites. Next up: The Great Wall of Shmups!

P#131674 2023-07-05 16:54

Checkpoint at Episode 43. We tackled major systems to overcome a difficult phase in Shmup development I like to call "The Great Wall of Shmups". We need to turn a prototype into something that can support more extensive amount of content and gameplay. We consolidated animation systems. We've set up a library system for different enemy types. We developed a system to manage collision data. This also allowed us to program player death. We even added a nice hitstop effect for that. Finally, we started work on the enemy schedule system but that is something I'll discuss next month.

P#132970 2023-08-11 14:29 ( Edited 2023-08-11 14:51)
1

Checkpoint at episode 50. We started work on an Enemy Spawn Schedule editor. This will be essentially the tool we are going to use to design our levels. We can scroll trough the level and place new enemy spawns on a timeline. We also started work on a system that will allow us to program enemy behavior. Because of Pico-8 limitations we can't really afford to hard-code these. So we are basically creating a small scripting system. But more on that next month.

P#133773 2023-08-31 12:26

I finally sat down to work through your first tutorial (I kinda sorta did the rest of the owl on my own, not my first game rodeo, though my first real project on pico-8). I'm only through episode 6, and I already published my results on here.

Thanks for being an inspiration! I love your energy and even when you're just reviewing basic programming things, it's nice to just listen to you work through problems in your own way.

P#133971 2023-09-06 04:21

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2023-09-21 08:24:50 | 0.090s | Q:36