+Atarius Maximus Posted August 17, 2013 Share Posted August 17, 2013 I've been taking a break from my Atari projects, after working on Gate Racer and doing a cart run (for the first time) I was a bit burned out. I'm starting to get the itch to start on a new game and started looking at some of my older unfinshed projects. I just bought a joystick coupler for the 5200 from an ebay seller and I'm excited to play Space Dungeon (and Robotron!) with it. I have a homemade coupler that I made about ten years ago out of cardboard that sort of works... but even with that it's by far my favorite 5200 game. I've wanted to make Space Dungeon for the 2600 for years and I made a mock-up demo last year that I didn't get very far with. In the demo you can move around all of the rooms and fire, the map on the top right works, but there are no enemies to shoot. I may be able to make something work using DPC+, but even with that it will be challenging. I'm attaching the old demo I wrote last year using the standard kernel. I'd likely have to start from scratch now but I think I'm going to try it for my next project. Does anyone else love Space Dungeon as much as me? space.bin space.txt 2 Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/ Share on other sites More sharing options...
Philsan Posted August 17, 2013 Share Posted August 17, 2013 That game reminds me that I would like a code snippets that explains how to program the movement across rooms, just like your Space Dungeon. In fact I only need that you explain your code... Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/#findComment-2812705 Share on other sites More sharing options...
+Gemintronic Posted August 18, 2013 Share Posted August 18, 2013 Changing rooms doesn't have to be a mystery - especially if your world is the same amount of rooms tall as wide. In my last game if the player crossed a certain x/y bounry I updated the current room and went to the new room drawing code: if player0x = 5 && openwest then player0x = 147 : room = room - 1 : goto newroom if player0x = 148 && openeast then player0x = 6 : room = room + 1 : goto newroom if player0y = 17 && opennorth then player0y = 87 : room = room - 5 : goto newroom if player0y = 88 && opensouth then player0y = 18 : room = room + 5 : goto newroom in the newroom section I used an on .. goto statement to leap to the actual new playfield data: on room goto A B C D E F G H I J K L M N O P Q R S T U V W X Y which usually did this and returned to the main loop: C opennorth = 0 openwest = 1 : opensouth = 1 : openeast = 1 : solid = 1 : doorhere = 1 ballx = 56 : bally = 41 pfcolors: $F6 $22 $06 $08 $0A $24 $24 $D6 $D8 $F2 $F6 end playfield: ................................ ........XX...................... ......XXXXXXXXXXX............... .....XXXXXXXXXXXXX.............. ....XXXXXXXXXXXXXXX............. ......XXX...XX..X............... ......XXX...XXXXX............... ........................XXX..... .......................XXXXX.... ........................XXX..... end goto main_begin 1 Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/#findComment-2812848 Share on other sites More sharing options...
Jess Ragan Posted August 18, 2013 Share Posted August 18, 2013 So what would you call it on the 2600? Space Dungeoness? Annnyway, I'm up for just about any 2600 game programmers are willing to create. Designing games for the system is always a fun exercise in minimalism, and sometimes those demakes are genuinely fun to play. (Screw Lanzinger; I think Crystal Castles on the 2600 is brilliant considering the limitations of the console!) Having said all that, Space Dungeon was never a particular favorite of mine. It's a game I WANT to like, but the agony of defeat is so pronounced that I always step away from it angrier than I started. It'll also be tough to make work on the 2600 due to the use of diagonal lasers in some rooms, and the unrelenting chaos in others. Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/#findComment-2812854 Share on other sites More sharing options...
sqoon Posted August 18, 2013 Share Posted August 18, 2013 If you can get Space Dungeon on VCS with dual controller functionality, I will be all for it. It is the best game for 5200 IMO, and would be a fun addition to the VCS. Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/#findComment-2812860 Share on other sites More sharing options...
+Atarius Maximus Posted August 19, 2013 Author Share Posted August 19, 2013 That game reminds me that I would like a code snippets that explains how to program the movement across rooms, just like your Space Dungeon. In fact I only need that you explain your code... Sure, I can explain it. I know theloon already went through it so this may be a bit redundant, but I thought I'd give my explanation as well. First, If the player crosses a boundary, go to the movement code. if player0y = 36 then gosub go_north if player0x = 133 then gosub go_east if player0y = 89 then gosub go_south if player0x < 21 then gosub go_west Next, based on which way you're going you'd load up the appropriate room number from the data table. go_north player0y = 87 room = move_north[room] goto draw_room go_east player0x = 32 room = move_east[room] goto draw_room go_south player0y = 42 room = move_south[room] goto draw_room go_west player0x = 129 room = move_west[room] goto draw_room In the draw_room section I define the playfield for each room, then return to the main loop after changing the playfield. draw_room s= room_shape[room] on s goto drs_0 drs_1 drs_2 drs_3 drs_4 drs_5 drs_6 drs_7 drs_8 drs_9 drs_10 drs_11 drs_12 drs_13 drs_14 drs_15 Each number in the data tables corresponds to the room number you're in. In the code below, the first value in move_north is 0, the first value in move_east is 1, the first value in move_south is 2, and the first value in move_west is 0. So if you start in room 0, if you move north you'd stay in room 0 (what I use when the path is blocked anyway by the playfield), if you move east you'd go to room 1, if you move south you'd go to room 2, and if you move west you'd stay in the same room (again, likely a blocked path on the map). data move_north 0,0,0,0,5,2,4,8,9,0,11,12,0,0,0,14,0,0 3,21,0,0,20,0,0,22,23,28,0,27,24,32,0,31 end data move_east 1,0,3,4,0,0,7,10,0,0,0,13,0,14,0,17,15,0 19,20,0,0,24,22,23,0,0,26,0,0,31,0,0,0 end data move_south 2,0,5,18,6,4,0,0,7,8,0,10,11,0,15,0,0,0 0,0,22,19,25,26,30,0,0,29,27,0,0,33,31,0 end data move_west 0,0,0,2,3,0,0,6,0,0,7,0,0,11,13,16,0,15 0,18,19,0,23,24,22,0,27,0,0,0,0,30,0,0 end To help map it out I use an excel spreadsheet to generate the data tables. I've attached a screenshot of the spreadsheet I used when I made the space dungeon demo. When you map it out that way it makes it pretty easy. 1 Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/#findComment-2813614 Share on other sites More sharing options...
+Atarius Maximus Posted August 19, 2013 Author Share Posted August 19, 2013 So what would you call it on the 2600? Space Dungeoness? Annnyway, I'm up for just about any 2600 game programmers are willing to create. Designing games for the system is always a fun exercise in minimalism, and sometimes those demakes are genuinely fun to play. (Screw Lanzinger; I think Crystal Castles on the 2600 is brilliant considering the limitations of the console!) Having said all that, Space Dungeon was never a particular favorite of mine. It's a game I WANT to like, but the agony of defeat is so pronounced that I always step away from it angrier than I started. It'll also be tough to make work on the 2600 due to the use of diagonal lasers in some rooms, and the unrelenting chaos in others. I'm not sure what I'd call it, but probably not Space Dungeoness. Yeah, it would be tough to make it work exactly the same as the 5200 version, there would be changes and compromises to be made for sure. It would be a game that resembles Space Dungeon but wouldn't be exactly the same. Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/#findComment-2813615 Share on other sites More sharing options...
+Atarius Maximus Posted August 20, 2013 Author Share Posted August 20, 2013 I put some time into making a working demo of 'Space Dungeon' using DPC+ over the past few days. It works, but I don't think I'd be able to put enough of the gameplay elements into it to make it truly feel like the original. If I continue on this it'll be pretty much an entirely different game... I may go back to working on that pitfall-like demo I started on earlier in the year instead. In this demo you can walk around and fire at enemies, one enemy will fire back (including diagonally), there is a laser that shoots across the screen like in the original (in two directions) and the map keeps track of your position. There is an exit, a bonus, and a treasure, but there is no collision detection specifically made for them, if you touch them you will die. Also, shooting one enemy will make them both disappear, again I didn't spend much time on proper collision detection for that. You have unlimited lives, and when you die you are reset to the starting room in the lower left. Not sure where I'm going to go with this next. sd.bin sd.txt 3 Quote Link to comment https://forums.atariage.com/topic/215687-space-dungeon/#findComment-2814452 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.