PDA

View Full Version : SFBomber release



Reiter
05-08-2011, 07:23 PM
SFBomber is a simple side scrolling action bomber game where you control a bomber and try to hit enemy targets while not getting hit yourself.

Get screenshots, videos and downloadables here:
http://sfbomber.freepascal-meets-sdl.net

This project took me years to finish. From the result you might not expect this, however, it is a 100% hobby project and I did it in my spare time (which is very rare, you guessed it :)).

Some features:
* fast paced action game
* Free Pascal only program
* done from scratch using SDL
* Lazarus as IDE and project manager
* all sprites done from scratch
* all sound effects done from scratch
* music is provided freely under CC licenses
* highscore system
* principically cross-platformer, however source code not released yet

I decided to just release a Win32 binary. I think about releasing the source but since the code is awful I didn't decide on that right now.

Any response or comment on the game, the gameplay, the sound/music, on bugs or whatever is very welcome. Soon I will backlink from the website to this thread so visitors can leave comments here. Feel free to let me know what you think :).

My thanks go to Freepascal-meets-SDL who are hosting the website.

Edit: Unfortunately the embedding of the video failed so for the video preview you should join the website and there the video is embedded.

Video link:
http://www.youtube.com/watch?v=E0MHRqI4bCk


522

Traveler
05-08-2011, 08:50 PM
Looks interesting. The screenshot somehow reminded me of a game I used to play called Sopwith (heh, that really was a long time ago). Anyway, I tried to play your game (both exe's) but it returned an access violation right on startup. (using Windows 7)

Reiter
06-08-2011, 12:24 AM
reminded me of a game I used to play called Sopwith

Looked for screenshots of this game. From the screenshots I see there are some similarities in the sprite work indeed :).


Anyway, I tried to play your game (both exe's) but it returned an access violation right on startup. (using Windows 7)

Strange. I tried the game on a Windows 7 Home Edition Notebook and on a Win7 PC. Both worked fine. I assume it is not related to Win7 then. When starting the windowed version, do you get a window popping up (maybe for a very short time) or just nothing except for the error?

Traveler
06-08-2011, 12:18 PM
Okay this is a bit odd, but while giving it another try today, I was able to play the game. However, it worked only once. All other tries returned an error "couldn't render text to surface". Even a complete system restart would not let me play again.
edit: it occurred to me that the only thing changed was the score. When I removed score.dat, the game worked again.
edit2: okay even more weird. It seems something is corrupting your score.dat file, because I now was able to play the game again with the score file.

Some observations.

Resolution:
I don't have a particularly high resolution (1280x1024), but I find running a game at 640x480 is no longer of this time. Use 800x600 at the very least, but even that is becoming old with todays hardware. You would be doing yourself a favor too, as it gives you more room to play with.

Speed:
It's running too fast. The first three lives I played though, I had no clue what was happening and I died within seconds, because everything was rushing by so fast. Mind you, it's not too fast to play, it's more like a movie running at twice the speed. It's enough to follow what's going on, but too fast to react on events.

Movements:
The physics are odd. For instance when you get shot, you speed-dive towards the ground with at the very end a sudden angle change. (I assume that is due to preventing the plane leaving the screen so the horizontal movement is ignored leaving only the vertical). I would suggest adding some simple physics to your plane and debree.

Unclear goals.
It's unclear to me what I have to do. Obviously I need to at least hit those that shoot at me, but why is it that I can sometimes destroy buildings with a single hit and others stay in tact? (It's impossible to hit them twice).
Edit: I realize now that I need to hit something dead-on. There is no 'splash' damage so to speak.

Bugs.
There are still quite a few bugs. Some I noticed are:
- I seem to get hit by bullets that are a miss. (no pixel perfect collision detection?)
- When I die I sometimes don't respawn.
- There are explosions and bullets after a respawn on the left side of the screen. As if my previous plane is somehow getting destroyed again.
- When using escape, lives are set to -1. all enemies disappear (sometimes), I then see my plane get destroyed and then I go to the menu (sometimes only after using spacebar). All in all a strange way to end the game.
- sometimes when reaching 0 lives nothing happens afterwards. I have to close the game to continue.
- I can still drop bombs when I'm destroyed.
- some strange stuff with the score file as mentioned earlier.

For a 0.9 version it's certainly not bad. You have the basics covered, now it's time to smooth out the rough edges.

Reiter
06-08-2011, 10:24 PM
Hi Travaeler,

thanks alot for your detailed report. I really appreciated that!


Resolution:
I don't have a particularly high resolution (1280x1024), but I find running a game at 640x480 is no longer of this time. Use 800x600 at the very least, but even that is becoming old with todays hardware. You would be doing yourself a favor too, as it gives you more room to play with.

Speed:
It's running too fast. The first three lives I played though, I had no clue what was happening and I died within seconds, because everything was rushing by so fast. Mind you, it's not too fast to play, it's more like a movie running at twice the speed. It's enough to follow what's going on, but too fast to react on events.

Movements:
The physics are odd. For instance when you get shot, you speed-dive towards the ground with at the very end a sudden angle change. (I assume that is due to preventing the plane leaving the screen so the horizontal movement is ignored leaving only the vertical). I would suggest adding some simple physics to your plane and debree.

Unclear goals.
It's unclear to me what I have to do. Obviously I need to at least hit those that shoot at me, but why is it that I can sometimes destroy buildings with a single hit and others stay in tact? (It's impossible to hit them twice).
Edit: I realize now that I need to hit something dead-on. There is no 'splash' damage so to speak.

I agree about the resolution and odd physics. The decision to make it 640x480 dates back several years. I will consider changing both when more serious things are fixed.

The speed is lower now with the new release.

Unfortunately there aren't any further goals than to destroy as many targets as possible. Everything is considered as target. Maybe "The General" should be more clear on this :). You are indeed right, there no splash damage. For gaining points you have to drop very precisely :).



- I seem to get hit by bullets that are a miss. (no pixel perfect collision detection?)


I didn't implement more sophisticated collision detection, just bounding boxes. However, the bounding box of the plane is now a little smaller since I noticed it is too large thanks to your comment.



- When I die I sometimes don't respawn.


Well, you have to press a key after your plane disappeared from the screen. I now introduced a message hinting on this. Or don't you respawn even after pressing a key?



- There are explosions and bullets after a respawn on the left side of the screen. As if my previous plane is somehow getting destroyed again.


Could you give me more details on this behaviour? Do these things affect you? Do you lose lives? Actually the lists containig bullets or explosions are cleared when you die. This is a strange behaviour. Have no solution at hand right now. I remember having similar behaviour when the lists wheren't cleared properly in an earlier stage of development. However they should be cleared properly now.



- When using escape, lives are set to -1. all enemies disappear (sometimes), I then see my plane get destroyed and then I go to the menu (sometimes only after using spacebar). All in all a strange way to end the game.


This should be fixed now. When you use ESC and press any key after the plane disappeared from screen, you should always just get back to the main menu. It's a strange ending, however, it is also strange for a jet pilot to decide to self-destruct its million dollar jet :).



- sometimes when reaching 0 lives nothing happens afterwards. I have to close the game to continue.


What do mean exactly by nothing happens? Is it like you got locked by an endless loop? So no plane?



- I can still drop bombs when I'm destroyed.


Fixed.



- some strange stuff with the score file as mentioned earlier.


Someone else also mentioned troubles with the highscore. Also deleting the file fixed it for him. I never experienced any problems with the highscore file.The highscore file is manipulated at three points only. 1) Read or created at the initilization of the game. 2) When opening the highscore table from the main menu. 3) When you have enough points to put yourself to the highscore. I guess the troubles are related to the file manipulation at 3). I have to check this whole procedure again.
EDIT: I probably found the problem. Did you just press enter without typing in a name when you are asked for it? This at least lets the score.dat get corrupt. The next time you try to start the game the window stays blank. Now I fixed this with release of 0.9 RC3.


Anyway with the new 0.9 RC2/RC3 release I introduced many many try...except statements. So runtime violations should be handled properly now. At least when raised at the right moment ;).

WILL
07-08-2011, 10:09 AM
Neat looking game. Would have made a great entry into the last PGD Challenge! :)

Traveler
07-08-2011, 10:13 AM
The speed is lower now with the new release.
I noticed. It's a lot more playable now.



Well, you have to press a key after your plane disappeared from the screen. I now introduced a message hinting on this. Or don't you respawn even after pressing a key?
I'm not sure anymore. But with rc3 I didnt have this issue anymore.



Could you give me more details on this behaviour? Do these things affect you? Do you lose lives? Actually the lists containig bullets or explosions are cleared when you die. This is a strange behaviour. Have no solution at hand right now. I remember having similar behaviour when the lists wheren't cleared properly in an earlier stage of development. However they should be cleared properly now.

I believe it's from a bomb getting destroyed. Now that the game is not so fast anymore I can see an explosion right after you gain control over the plane after a respawn.
Edit: I noticed that it's from pressing spacebar while the plane is still making its entrance. There's is no visible bomb but after gaining control, the destruction from the bomb seems to be there.



This should be fixed now. When you use ESC and press any key after the plane disappeared from screen, you should always just get back to the main menu. It's a strange ending, however, it is also strange for a jet pilot to decide to self-destruct its million dollar jet :).
I'm not sure what you fixed, but I still see the -1 and plane destruction (unless perhaps this is intensional). I also noticed that if you press escape without having scored points your quit the game entirely instead of returning to the menu.



What do mean exactly by nothing happens? Is it like you got locked by an endless loop? So no plane?

Yes, but I've not encountered this in rc3, yet.



Someone else also mentioned troubles with the highscore. Also deleting the file fixed it for him. I never experienced any problems with the highscore file.The highscore file is manipulated at three points only. 1) Read or created at the initilization of the game. 2) When opening the highscore table from the main menu. 3) When you have enough points to put yourself to the highscore. I guess the troubles are related to the file manipulation at 3). I have to check this whole procedure again.
EDIT: I probably found the problem. Did you just press enter without typing in a name when you are asked for it? This at least lets the score.dat get corrupt. The next time you try to start the game the window stays blank. Now I fixed this with release of 0.9 RC3.

That might have been the case. It seems fixed now.

Two other things I noticed.
- lifes is spelled lives
- when you die and the plane is against the right screen you can still move the plane, causing the plane to shake.

Reiter
07-08-2011, 04:51 PM
Neat looking game. Would have made a great entry into the last PGD Challenge!

Thanks. Even though I thought about this I felt it would be unfair to submit a game which I spent several years to made when the time frame for development actually is rather short. From what I saw I also recognized that my game should be doomed to failure if compared.



I believe it's from a bomb getting destroyed. Now that the game is not so fast anymore I can see an explosion right after you gain control over the plane after a respawn.
Edit: I noticed that it's from pressing spacebar while the plane is still making its entrance. There's is no visible bomb but after gaining control, the destruction from the bomb seems to be there.

I could reproduce this. I fixed it.


I'm not sure what you fixed, but I still see the -1 and plane destruction (unless perhaps this is intensional). I also noticed that if you press escape without having scored points your quit the game entirely instead of returning to the menu.

The "fixed" was related to the statement that sometimes you get back to the main menu and sometimes leave the game completely on using ESC.

I could reproduce that if no score was achieved the game seems to close completely on ESC. I fixed this now. The appearance of -1 as Life count was intentionally (as an indication that ESC was pressed), however since it raised so much confusion I now changed it.


Two other things I noticed.
- lifes is spelled lives
- when you die and the plane is against the right screen you can still move the plane, causing the plane to shake.

Both fixed.

Thanks Traveler for your support! Without your statements 0.9 RC4 wouldn't be as stable as it is now. With the new release the plane is also slightly faster.

phibermon
07-08-2011, 08:19 PM
Hi Reiter, I've ran your latest RC4 and it's loading/running perfectly albeit the gameplay is incredibly quick. I'm not sure if this your desired speed but it's nearly impossible to dodge fire. Given you've lowered the speed and Traveler states it's playable and given my CPU clocks over 4ghz this might suggest that your timing routines or some aspect of your code are/is not CPU independant (that rate of the action depends on the speed of the CPU) if this is not the case then I'm getting old because I'm not fast enough! :)

Other than that, love it! I love the graphical style and excellent choice of music, You've put a lot of retro love into this game and it shows, It reminds me of Jet-strike (on the amiga) :D keep up the good work!

Matthias
09-08-2011, 01:46 PM
My thanks go to Freepascal-meets-SDL who are hosting the website.

Welcome. You know my opinion about your game already. ;)

Reiter
15-08-2011, 07:28 PM
Hi Reiter, I've ran your latest RC4 and it's loading/running perfectly albeit the gameplay is incredibly quick. I'm not sure if this your desired speed but it's nearly impossible to dodge fire. Given you've lowered the speed and Traveler states it's playable and given my CPU clocks over 4ghz this might suggest that your timing routines or some aspect of your code are/is not CPU independant (that rate of the action depends on the speed of the CPU) if this is not the case then I'm getting old because I'm not fast enough!

Sorry for the delayed reply, have been busy last days. I thought about this and decided to make a video. I embedded it to the initial post. Please let me know if it runs faster on your machine compared to the video. In this case there really seems to be a CPU dependence. Actually I don't know what the reason could be then since there is no CPU specific code at all. By the way I noticed the video seems to be laggy a bit.


Other than that, love it! I love the graphical style and excellent choice of music, You've put a lot of retro love into this game and it shows, It reminds me of Jet-strike (on the amiga) keep up the good work!

Thanks for these encouraging words :)! Appreciated your opinion :D.


You know my opinion about your game already.
I do! ;)