Tag: Megalaga
This is a list of all posts, games and tutorials tagged with the tag "Megalaga".
Megalaga BONUS - Powerup
One of the coolest things in shmups are the powerups. It’s fun to grab them to see what effects you get, and they can make you feel extremely powerful. So let’s put one in!
Megalaga 9 - Sound
In space, no one can hear you scream. But you can hear lasers, explosions and video game beeps. That’s just science.
So far our game has been rather quiet. So let’s add some sound to it to spice things up! What would a classic shmup be without beeps and bloops after all?
Megalaga 8 - Spam Protection
Last time I mentioned that there is a potential issue concerning our game which was related to the bullet pool. And now I’m going to reveal the secret (and of course fix the issue)!
Megalaga 7 - Enemy Bullets
So far, enemies are nothing more than cannon fodder. They don’t shoot or even move towards the player, so there’s not really any way to fail the game. Let’s change that by having enemies shoot at the player!
Megalaga 6 - Collision and HUD
We have enemies and bullets flying around on screen, and now it’s time to smash them together! Shooting enemies will award the player with points, so we will also implement a HUD that will show the current score, as well as the number of enemies left. Let’s get into it! Collision All collisions in the game will be handled in one big function. This function will loop through all bullets and all enemies to see if any of them collide.
Megalaga 5 - Bullets
Let’s lock and load to shoot some space scum! This time we’re going to create a pool of bullet entities, out of which we’ll grab a bullet to launch at our enemies. Let’s get shootin'! Bullets First of all we’ll of course need a bullet graphic. Download it using the link below, extract the archive, then put the image in res/sprites. Download bullet sprite Then import the bullet image by adding this line to resources.
Megalaga 4 - Enemy Movement and Input
Now we have enemies, but they’re not moving. That’s not really intimidating, is it? Also, our player can’t move either. Let’s change all that so that we can actually interact with our game! Moving the Enemies First a quick bit of setup. At the top of main.c add these two defines: #define LEFT_EDGE 0 #define RIGHT_EDGE 320 These will define the left and right edges of the screen. It’s good to use defines (or variables) for these values, so that we can easily change the bounds of the play area later on.
Megalaga 3 - Enemies
Last time we defined a struct of type Entity and used it to create a player. Now it’s time to throw some enemies into the fray! It ain’t a shooter without somethin' to shoot at, after all. Luckily our Entity struct will make that rather easy for us, because this way, each entity will keep track of its own position, velocity and other values. And to be extra lazy clever, we’ll put all enemy entities into an array, so we can deal with them more easily in bulk.
Megalaga 2 - Entities
Alright, last time we created some scrolling space. But we’re not making a screen saver here! We’ll need entities to populate our game, entities to shoot with and entities to shoot at. We could define all of those manually, which would look a little something like this: int player_x; int player_y; int player_velx; int player_vely; int player_health; int enemy1_x; int enemy1_y; int enemy1_velx; int enemy1_vely; int enemy1_health; int enemy2_x; int enemy2_y; int enemy2_velx; int enemy2_vely; int enemy2_health; int enemy3_x; int enemy3_y; int enemy3_velx; int enemy3_vely; int enemy3_health; //And so on and so on.
Megalaga 1 - Space
Last Updated: Dec 20 2021 Update: Changed the offset check to offset <= -256 as pointed out by Pyxel Pub (see comments below) Welcome to another new project tutorial series on Mega Drive development! This time we’ll be creating a space shooter from scratch using SGDK, the Sega Genesis Development Kit. This is what the end result will look like: It’s a very basic take on the genre.