Page 1 of 1

Fidelity Blaster - A first-generation style Shoot em up

Posted: Sun Aug 14, 2022 7:27 pm
by Rastashmup
Hi,

Initially I was planning to return to my regular projects, but instead I did another side-project. I wanted to finish this in one-and-a-half weeks, making it my fastest finished game project so far. And I succeeded finishing this one in only 10 days.
This game is called "Fidelity Blaster" and it is a first generation style shoot em up. The game runs a cycle of 4 basic stages that repeat at a higher difficulty everytime you beat them. The game was created using Löve version 9.0.

Here is what the game looks like:

Image
Image
Image
Image
Image

The game can be downloaded from the attachment to this post.

The controls are as following:

Keyboard: "z" or "y" to fire, directional buttons to move, "p" to pause
the game

Mouse: left mousebutton down to fire, right mousebutton down to make
your spaceship follow the mousepointer horizontally - it's best
to keep the right mousebutton pressed, so you can drag your
spaceship around

Gamepad: "a","b","x" or "y" to fire, Dpad to move your spaceship,
"start" to pause the game

All inputs work simultaneously, so you can switch to a different input as you play. If you use a gamepad, the gamepad has to be connected to your computer before you start the .exe file. If you connect your gamepad later, it will not be recognized by the game.

More info about the game can be found in the readme.txt that comes with the download. Now all there is left to say is: thank you for playing "Fidelity Blaster".

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Sun Aug 14, 2022 7:29 pm
by Rastashmup
And while we're at it, here also comes the .love file.

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Mon Aug 15, 2022 10:58 am
by ReFreezed
Nice little game!

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Mon Aug 15, 2022 1:07 pm
by marclurr
Really pleasant colour palette. And the enemies are quite inventive, a lot more interesting than was in the true first-generation shmups. It is brutal though, for me at least. A few times I've just managed to kill the last enemy on-screen only to be killed by one of his stray bullets :(

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Mon Aug 15, 2022 6:18 pm
by Rastashmup
There is one true first generation shoot em up that stands out with it's variety of enemies and settings: it's Gorf. It was a great inspiration for some of my games that try to incorporate that variety. Although some of my games are still a bit more monotonous like it was more typical for the early shmups. What I can recommend the most is the C64 version of Gorf, although the arcade version is pretty awesome too.

Edit: About the difficulty, I didn't practice much, and without the debug-invulnerability enabled I got to Level 14.

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Mon Aug 15, 2022 6:51 pm
by marclurr
Rastashmup wrote: Mon Aug 15, 2022 6:18 pm Edit: About the difficulty, I didn't practice much, and without the debug-invulnerability enabled I got to Level 14.
I guess that puts into protective how bad I am at smhups then? :rofl:

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Tue Aug 16, 2022 10:20 am
by knorke
I reached level 4 in my second attempt:
https://youtu.be/ZAoQ68Ew3e4
I will have to try again because I want to defeat all types of enemies :)
The game seems quite polished and despite the simple graphics has good small gameplay details. (like enemy bullets also moving sideways instead of just falling straight down)


- Start screen should have sound (maybe music?) so that you can adjust volume before game start.
- From the start screen it is not clear that different input methodes exist. (mouse, keyboard, gamepad)
The game runs a cycle of 4 basic stages that repeat at a higher difficulty everytime you beat them.
Maybe it already is like that, but what about mixing the enemies on the repeat cycles? Having different enemies on screen on the repeat cycles might add even more replay value.

Why Love version 9.0?
(The exe version worked for via Wine on Mint Linux.)

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Sat Aug 20, 2022 12:14 pm
by Rastashmup
Yay, my game is on youtube :)

About the titlescreen, I wanted to keep it as authentic as possible when compared to this generation of games. Remember those old Atari 2600 games? The titlescreen was usually the A.I. playing the game and there was no sound. Sometimes there were flashing colors, like I also used for the titlescreen of this game. I think most early arcade games handled the titlescreen the same way. It would be irritating if I put sound, and very unfitting for this type of game if I put music on the titlescreen.
For similar reasons I didn't want to crowd the titlescreen with instructions for the controls. It wouldn't look anything like an old game if I did that. If someone needs to look up the controls, they are in the readme.txt.

I didn't mix the enemies in higher levels, but also felt the need to use a bit more variety. So I introduced a 5th enemy that is found in all levels from Level 9 onward: the crawler. It's the yellow things in the second screenshot. The crawler enters the playfield from below the ground, so you have to watch what comes from below. Then the crawler jumps around on the playfield.

I didn't want to switch the version of löve I'm working with for this little side-project. I originally decided to use version 9.0 because I once had a notebook that wouldn't run version 10 or newer, so I thought I'll use 9.0 for compatibility with old systems. I will, at some point switch to a newer version, but it likely won't be for the package of first gen shmups I'm currently working on, because I have already finished 4 out of 10 games with version 9.0 and I want all games to use the same version so that I don't have some games that run on older systems and some games that don't. I'm also concerned that if I adjust the existing games to the newer love version, I'm more likely to introduce bugs that maybe I won't notice because I can hardly run tests as detailed as I did at the time of development. I may update the version of löve slightly though, maybe to version 9.1 or 9.2, any version that won't force me to adjust the sourcecode - since I heared that version 9.1 supports playstation 4 controllers and version 9.0 doesn't and there may be some other details that run better on newer löve versions. For all projects that follow, I will likely use the newest versions of löve though. So sorry for the inconvenience if the older löve version in some of my games causes restrictions for you.

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Sat Aug 20, 2022 1:42 pm
by pgimeno
Rastashmup wrote: Sat Aug 20, 2022 12:14 pm I didn't want to switch the version of löve I'm working with for this little side-project. I originally decided to use version 9.0 because I once had a notebook that wouldn't run version 10 or newer, so I thought I'll use 9.0 for compatibility with old systems.
It's possible to adapt it to newer versions without losing compatibility with older versions. Thrust II Reloaded worked in any version from 0.9.1 to 11.4, and I have just checked and made some adjustments, and now it works on 0.9.0 too.

Re: Fidelity Blaster - A first-generation style Shoot em up

Posted: Tue Aug 23, 2022 6:40 pm
by Rastashmup
This may be the case if you coded it right. The problem is that I rely a lot on the getData() function of the image, and it has been removed in newer löve versions. And I am aware that you can start with a imageData, create the image from it, and store both the imageData and image in memory for later use. It's just that I did not code it that way so far. If these were the only adjustments to be made, it might still be quite manageable. But so far I'm not sure what other parts of my code may be no longer supported. However, if I got that right from the documentation, the getData() function was only removed in löve 11.0. Maybe I can update my projects to löve version 10 without having to make adjustments in the code.