Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Work in Progress / [DBP] - Tombstone City - 2d Retro Game Remake

Author
Message
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 14th Nov 2010 17:31 Edited at: 20th Nov 2010 06:20
11/19/2010 - Update: release 0.13 - New game look with the help of Virtual Nomad . Changed tombstone images with cacti to make the game resemble the original more closely. Also replaced the block images with nicer looking hotel buildings.

Attempted to add background music (also courtesy of Virtual Nomad) but there seems to be an issue with the set music volume command in DBPro. It's being reported in the Bug Reports forum.

11/16/2010 - Update: release 0.12. Fixed tumbleweed spawn logic. Fixed glitch with tombstone sprites not being displayed after killing a morg. Glitch happened after game was restarted.

11/15/2010 - Update: Attached new point release 0.11. Added option to restart game with F1, after the game ends. No additional functionality was added.
---------------------------------------------
This is my first attempt to write a complete game for DBPro. I chose to do a re-make of one of my favorite games for the popular Texas Instruments TI-99/4a computer of the 80's, Tombstone City: 21st Century.

Game was written entirely in DBPro, without any external plugins.
It plays with the keyboard or a game controller. The game was tested with an original wired Xbox 360 controller.

Graphics are very basic. I'm not an artist and don't want to become one, however, I know there's potential for improvement in that area. My main goal, however was to accomplish a playable, entertaining and progressively challenging game.

A brief background on Tombstone City:
The player controls a schooner (ship), shooting aliens (called Morgs) and tumbleweeds in order to woo people back to live in an abandoned city somewhere in the Southwestern United States. The score is labeled as "Population". Levels are labeled as "Days". The game ends when all ships are gone.

The game is deceptively simple, but it becomes very challenging on higher levels.

My highest population count (score) was 209,250 on day (level) 16. Let's see if you can beat that!
EDIT: My record is now 222,950 on Level 17
Sample screenshots can be found here:
https://sites.google.com/site/tombstonecity21st/

Instructions:

Enemies: Morgs, Morg-Generating tombstone pairs
Object: Shoot down all morgs and get rid of all tombstone pairs to advance to a new day. Increase the population (points) as much as possible before the game is over.

- Game starts out with 10 ships. Game is over when all ships are destroyed. An extra ship is credited after a level is completed.

- Morgs will chase down the schooner ship. Contact with morgs will destroy the ship.

- Enter the 4x4 safe zone grid to hide from chasing morgs. Morgs can’t enter the safe zone grid

- Shoot down the morgs to score points. Killing a morg in open space will generate a single tombstone. A tombstone generated next to another tombstone will create a morg-generating tombstone pair.

- Tombstones (singles or pairs) can’t be shot down directly.

- Killing a morg that is standing next to a tombstone pair will destroy the morg and the tombstone pair, but a new morg will spawn on that location and will start chasing down the ship.

- Killing a morg that’s standing between two single tombstones will destroy both tombstones, but will also spawn one additional morg.

-Tumbleweeds are harmless, but they block your path. Tumbleweeds also block the morgs’ path, so use to your advantage. Shoot down tumbleweeds for additional points and if necessary, to open an escape path.

- Tombstones can block off the safe zone grid exits. If all exits get blocked while inside the grid, your ship will be immediately respawned outside the safe zone, and the game will be paused, with no scoring penalty. When teleporting or dying afterwards you will be taken to a random location on the screen until one or more of the exits gets unblocked.


Controls:

- Arrow keys, left controller stick - move up, down, left, right (no diagonal movement is allowed)
- Space Bar, A button - Fire
- Enter (Return), B button - Teleport - Game is paused and 1000 points are taken away.

Scoring:

Enemies (morgs) - 150 each
Tumbleweeds - 100 points
Teleporting - 1000 point penalty

To Dos:
- Better graphics, backgrounds
- Effects - explosion, dying
- Music?
- Main Menu, game options (key mapping, screen size, exit)
- Game Over logic

Please send me comments, suggestions, bug reports. Consider that this is my first game written in DBPro! Cheers!



CSL

Attachments

Login to view attachments
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 15th Nov 2010 04:29 Edited at: 15th Nov 2010 04:33
interesting little game.

Q's: when no tumbleweeds exist, it seems the morgs don't spawn until you move around for a certain time. ie, if you stay put, nothing happens. question is, i don't understand the "why" in that functionality. is there a reason? if not, how about adding, say, L-Shift = Spawn Morg to speed things up a bit? also, i'm assuming the initial tumbleweeds are the only tumbleweeds, right? they're not supposed to respawn or anything? and, what if there are no paired tombstones? morgs stop spawning?

i got to about 16,000 on day 1 before i stopped trying/got frustrated. how on earth did you get to day 2, much less 223k?!?

thanks for sharing

ps: no bugs noted. played fine. and, the graphics are fine as-is

Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 15th Nov 2010 05:44 Edited at: 15th Nov 2010 06:43
First off, thanks a ton for your comments and encouragement.

The game starts off a little slow, I admit, and I've been pretty much the only tester, so I may have not realized all game playing styles or approaches to playing the game.

Quote: "Q's: when no tumbleweeds exist, it seems the morgs don't spawn until you move around for a certain time. ie, if you stay put, nothing happens. question is, i don't understand the "why" in that functionality. is there a reason? "


On Day 1, morgs spawn every 15 seconds, regardless if you move or stay idle (except if you teleport, the game is paused until you move again or fire). The game starts when you move or fire for the first time; It is then when timers start counting down. The morg-generating tombstone and the safe-zone blocks will turn yellow 3 seconds before spawning. These spawning (and warning) times will decrease as you progress through the game. The morg generation times are not affected by the tumbleweeds, more details below.

Quote: "how about adding, say, L-Shift = Spawn Morg to speed things up a bit?"

You'll regret that feature very quickly, and will probably ask for a "slow down" option instead. Just give it another go and soon you'll realize why

Quote: "also, i'm assuming the initial tumbleweeds are the only tumbleweeds, right? they're not supposed to respawn or anything? "

Tumbleweeds do re-spawn, they take 3 seconds to re-spawn after all of them have been cleared. The re-spawning does not affect the morg generation at all. However, on each level you are limited on the amount of tumbleweeds you can shoot down, after you reach that limit (clearing all tumbleweeds on screen approximately 3 times per level), tumbleweeds stop re-spawning. I added this code logic to avoid "leeching" , or having players simply shooting down tumbleweeds for points.
After you shoot down a certain number of tumbleweeds, the morgs will start speeding up. I also added a timer, where if you spend too long on a level, the morgs will also start to speed up.

Quote: "and, what if there are no paired tombstones? morgs stop spawning?"

When there are no more tombstone pairs, and the last morg on the screen is killed, the day, or level ends and you will advance to the next day (plus you get an extra ship and 1,000 bonus points). It will take a few seconds for the game to move on to the next day. It depends on when you killed the last morg, but it will not take longer than the time it takes to spawn a morg on that level, meaning that it should not take more than 15 seconds to advance from Day 1 to Day 2, once you eliminate all pairs and morgs.
If you eliminate all pairs, and leave the last morg on screen for a while, the safe zone block may flash yellow as if warning a morg spawn, but it will not happen. I also added another piece of code that speeds up the last morg if you leave it hanging around for too long (I'll let you figure out how long).

I'll give you a quick walk through of Day 1.

- Move your ship or fire to start the game. Timers will start counting down.
- Twelve seconds into the game, the first tombstone will turn yellow. Your ship should be at a safe distance, ready to shoot the morg.
- After 15 seconds (3 seconds later after the warning) - the first morg will spawn. If you are accurate, you can eliminate the pair that generated the first morg, or you can lure the morg close to another pair and shoot it down. Try to do this before the next morg spawns.
- Eliminate tumbleweeds that block your path, while waiting for the next morg to spawn.
- Repeat this process until all 5 pairs (and morgs) on Day 1 are eliminated. After a few seconds, Day 2 will begin with additional tombstones and a fresh set of tumbleweeds. The screen may also change color (it's a random screen color out of a set of predefined colors, and may repeat on consecutive levels).

I hope I was able to answer all your questions. Thanks again for your feedback.

CSL
SH4773R
14
Years of Service
User Offline
Joined: 18th Jan 2010
Location: AMERICA!!!
Posted: 15th Nov 2010 07:09
Sweet! Looks fun ill try it out
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 16th Nov 2010 05:09 Edited at: 16th Nov 2010 05:10
I've edited the first (original) post. Added new point release, read all about it

CSL
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 16th Nov 2010 07:23 Edited at: 18th Nov 2010 05:06
thanks for the response(s). i get it now and will play some more

btw, what's the window size? and, are you using sprite collision or a collision array? i ask 'cause i might want to have a go at some graphics/backgrounds. looking at the original, and based on the name, it's all desert. (the manual cover is hillarious:
)
would you be interested in various planet/terrain backgrounds/settings/graphics to update the game a bit? or are you looking for a more strict remake? and, instead of music, maybe do/find some ambient background sounds? ie, desolate winds?

Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit

Attachments

Login to view attachments
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 16th Nov 2010 14:52 Edited at: 17th Nov 2010 13:35
Quote: "btw, what's the window size?"

640x480.

Quote: "are you using sprite collision or a collision array?"

I almost gave up on this project after my frustration with sprite collisions, so I ended up using a collision array to detect tumbleweeds, grid blocks and tombstones. I still have some (very) ugly logic for the ship/morg collision, it's based on coordinates, and I'm using a loop to go through all the active morgs on screen, instead of using the array (the array idea came after I got overwhelmed testing the morg collision logic). I'll have to refactor this logic eventually, for consistency.

Quote: "i might want to have a go at some graphics/backgrounds... would you be interested in various planet/terrain backgrounds/settings/graphics to update the game a bit?..."

That is awesome, I really appreciate (and accept ) your offer!
I'm really glad I posted the game on the WIP board, because I also wanted to have people provide ideas mainly on the media.

Quote: "and, instead of music, maybe do/find some ambient background sounds?"

I was considering this option as well. I have a collection of sounds, music, etc. gathered from the Internet, Cd media from books and other sources, but I didn't find any of them appropriate for the game, in my opinion.

Again, thanks for your offer.

PS: I found a small glitch with the tumbleweed spawn. Sometimes it spawns what I call indestructible tumbleweeds. It's usually 1 to 3 tumbleweeds in the bottom row, but can't recreate it consistently. I've been a little lazy on debugging this one, since it doesn't affect the game that much, but that will be prioritized on my To Do list. Let me know if you catch that error too. [UPDATE] : This has been fixed on v 0.12

CSL
Neco
15
Years of Service
User Offline
Joined: 13th Jul 2008
Location: Waterloo, Wisconsin USA
Posted: 17th Nov 2010 20:56 Edited at: 17th Nov 2010 21:00
Neat game... any ideas what kind of music you were looking for?

Not making a promise.. but if I find some time to play around maybe I could try and come up with a simple, repeatable tune or something.

I have the QuadroSID plugin for my music app, so if you were looking for something retro / C64 sounding I could try and make something decent with that.. Or I could go with some less harsher sounding, but not ultra modern synth stuff..


By the way I think I noticed a bug...? Every so often when you hit an arrow key to change direction, the animation will work and the sprite will update to face that direction - but the sprite will not move.

CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 17th Nov 2010 22:24 Edited at: 17th Nov 2010 23:46
Neco - thanks for your comments.

I was looking for some sort of intro music, not necessarily repeatable. It would be sort of a Western theme, like in the movie "A Fistful of Dollars" or something along those lines. Like an abandoned town theme, with tumbleweeds in the background rolling and the wind blowing sort of theme.

Fistful of Dollars music - Check the song Titoli.

or something similar to the classic The Good, The Bad And The Ugly

Quote: "By the way I think I noticed a bug...? Every so often when you hit an arrow key to change direction, the animation will work and the sprite will update to face that direction - but the sprite will not move."

That's working as designed - With the first tap it will rotate the ship to change direction (the ship will move if it's already facing in that direction). The second tap will make the ship move in that same direction. This is useful when you are facing enemies from different directions and you simply want to shoot them down from where you are, the last thing you'll want is change direction and move towards the enemy at the same time when it's coming your way, yikes! . If you want to change direction and move at the same time, then you'll push and hold the arrow key (or control stick). What you may be actually facing is some unintended sensitivity when pushing the keys, where the ship changes direction and moves at the same time, with what seems to be just one tap. This will happen when there are fewer objects on the screen, and the keys are more responsive and sensitive. It should not be an issue, because most probably this condition will happen on the easier levels anyway.

CSL
Neco
15
Years of Service
User Offline
Joined: 13th Jul 2008
Location: Waterloo, Wisconsin USA
Posted: 18th Nov 2010 02:43
I see. Thanks for clearing that up.

I will check out the music, and see if I can possibly come up with something.

Also.. by intro, do you just mean music to play on a title screen (and not during gameplay)? Or in the style of a demo scene intro ?

Hopefully I can come up with 1 or 2 variations though.

Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 18th Nov 2010 03:04 Edited at: 18th Nov 2010 03:08
hey, csl i went to test a graphic in-game and found 1) you're using .jpg (not .png) and, 2) you're not using the texture flag on load image. disappointing 'cause any kind of detail is lost.

i was thinking about doing a set of "old west" buildings (saloon, livery, sheriff, etc) like this hotel:



i did save it in .jpg (max quality) but it's just garbled up when displayed. the theory was to make a set of buildings and see if you were interested in placing them to form a "town" vs the current "blocks". .png files are ideal because of the built-in transparency and quality. so, let me know your thoughts?

Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit

Attachments

Login to view attachments
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 18th Nov 2010 03:22
Quote: "Also.. by intro, do you just mean music to play on a title screen (and not during gameplay)? Or in the style of a demo scene intro ?"


My preference would be a background music playing for a few seconds when the game starts (when the player moves or fires) and then the game continues only with the sound effects after the music ends (no looping). However, I can loop the music and add a disable music hotkey in the code.

CSL
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 18th Nov 2010 03:48
Quote: "i went to test a graphic in-game and found 1) you're using .jpg (not .png) and, 2) you're not using the texture flag on load image. disappointing 'cause any kind of detail is lost."

I used the texture flag for the tumbleweeds, morgs and I think the tombstones (I can't confirm right now since I'm not at home). I did not like the shape of the ship with the flag on, so I left it off for this image. The blocks looked the same with the flag on or off.

As I said, the graphics need some work. I simply re-used sprites that I've collected from different places. For the tombstones I used Gimp to convert to PNG and to add transparency. That was a pain for me, and you could actually notice the cross inside the tombstone looks a little weird as I'm graphically challenged , but that was the only sprite I could not replace and I couldn't find a cactus sprite anywhere, like the ones in the original game.

Quote: "the theory was to make a set of buildings and see if you were interested in placing them to form a "town" vs the current "blocks""

That really sounds interesting (and makes sense in the game), I'll try it out as soon as I get home. Thanks for that.

CSL
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 18th Nov 2010 05:07 Edited at: 18th Nov 2010 05:41
cactus?

here's a screenshot with the cactus on a sand-colored background. you can also see how the hotel gets garbled in-game (when saved as a .jpg) maybe its the colorkey? i dunno:



edit: ah, no... it's the window re-sizing the graphic that's causing the mess. hmmm. shows how much i use set window size

Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit

Attachments

Login to view attachments
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 18th Nov 2010 06:07
Nomad - The hotel sprite gets garbled when I load it into my game. Why is that? The graphic would look so cool.

Thanks for the cactus image. I liked the way you placed them in your sample screenshot. I'll add this one to my game later, since it will need to be added to the sprite array for collision checking and all that jazz. I'm signing off for today, it's being a long day.

By the way, the sand background color is very nice. Do you happen to know the RGB values?

CSL
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 18th Nov 2010 06:24 Edited at: 18th Nov 2010 06:52
it's 209,174,102. and i'm back 'cause i'm a bit confused (i don't mean to detract from the topic here but you may be interested).

when i run this code:


the images are slightly blurred and i know dbpro has issues in windowed mode where, say, 640x480 isn't giving an actual 640x480 because it's counting the borders/titlebar in the dimensions. there are further issues regarding window mode and vista, my os.

earlier i asked what the window size was and you said 640x480. i guess i should have also asked the display mode, too, 'cause yours appears 1280x960? (= everything/2).

please view the attached screenshot and compare my code (and screenshot on the left) to tombstone running alongside it. note the windows aren't the same dimension. anyway, i dunno what's up. <shrugs>

add: i got a little more clarity in changing the Project Settings to Windowed @ 640x480. now i remember why i never try windowed mode...

Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit

Attachments

Login to view attachments
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 18th Nov 2010 17:56 Edited at: 18th Nov 2010 18:06
Quote: "i guess i should have also asked the display mode, too, 'cause yours appears 1280x960? (= everything/2). "


Nomad - Now I'm a little confused
I set window on, and set display mode 640,480,32 in the program. I don't recall setting a window size but will check when I get back home tonight. In order to correct the image distortion, do I need to change something on the display mode or the window size?

CSL
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 18th Nov 2010 23:57 Edited at: 19th Nov 2010 00:04
well, i assumed your resolution (under set display mode) is 1280x960 because your images are ~1/2 the size they should be. per the screenshot added above of my code running next to yours (i didn't paste it before because it's kinda wide):


my window is coded to 640x480 and the resolution is set to the same 640x480 (see the code in my last post). compare the window sizes, images (both using 32x32 images), etc.

if you're resizing/scaling sprites to get that many 32x32 images onto your 640x480 display, then that accounts for the blurry images, and is what i expect. so, i'd recommend going with 16x16 (or whatever yours come out to be) images so no scaling is required and as much detail is retained as could be. or... skip the window mode and go full screen, but that's up to you. i think it would be cool to stay windowed but dbpro just doesn't appear to be able to do it so well.

also, under the "Exe Configuration" (i use the original ide), setting the display settings there to the intended resolution is best practice (the screenshot of my code above is actually a little blurrier than when i set it to Windowed 640x480 as shown below).


anyone else, please feel free to chime in if you have any insight on this as i damn sure don't know it all

Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit

Attachments

Login to view attachments
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 19th Nov 2010 02:46 Edited at: 19th Nov 2010 02:55
Nomad - I found out what the issue is. All my sprites are 16x16 and the hotel sprite gets blurry when resized from 32x32. I would have to make a few changes to the code if I decide to use 32x32 sprites.



CSL

Attachments

Login to view attachments
Virtual Nomad
Moderator
18
Years of Service
User Offline
Joined: 14th Dec 2005
Location: SF Bay Area, USA
Posted: 19th Nov 2010 07:19 Edited at: 19th Nov 2010 07:19
sent you an email, csl



Virtual Nomad @ California, USA . DBPro V7.5
AMD Phenom™ X4 9750 Quad-Core @ 2.4 GHz . 8 GB PC2-6400 RAM
ATI Radeon HD 3650 @ 512 MB . Vista Home Premium 64 Bit

Attachments

Login to view attachments
CSL
15
Years of Service
User Offline
Joined: 22nd Mar 2009
Location: USA
Posted: 20th Nov 2010 06:17
There's an update to the original post. I have just included a new game release.

CSL

Login to post a reply

Server time is: 2024-04-18 05:49:54
Your offset time is: 2024-04-18 05:49:54