Jump to content

jchase1970

Members
  • Posts

    356
  • Joined

  • Last visited

Everything posted by jchase1970

  1. Nice Owen, Video documentation for the contest!
  2. I think I could use it, but some people wont see the benefit from it until they try it and for them to try it .You need to push on a bit, make it simple with a windows IDE and a decent amount of functions to be able to do something with. You don't have to get everything in there yet, like don't worry about files support for now. Then people can get a good try on it and see if they like it, once people start using it then you can futher develop it as people notice things that would improve it. You know for myself, I like using basic it's fast to get something working in, powerful commands but I just hate the line numbers. So I can see a real plus to using this.
  3. Traps and Secret door When your spidy sense tells you there is something odd around here then that means there is something hidden in the 8 squares around you. Your 6th sense here will only notice something odd 50% of the time. So you could wall by something hidden and not know it. So you move and you notice something odd, use (F) to try to find it, press (F) and then a direction to search(ESDX). If you press (F) and (E) and don't find anything it doesn't mean nothing is there because something are hidden better then others and require multiple searches. Right now the games starts you with 50% chance to find it, there will be stuff to find later on that will increase of decrease your chance. Remember you can only search 4 directions(ESDX) but the unknown item could be in 8 directions so you will have to move to find it. Finding the trap is important so you don't come back though later and fall in it. Later there sill be something to disarm a trap but this is Rogue so sometimes you can't disarm a trap and it may be right in front of the last door to the last room where you know the ladder is and you have to get hurt to get to the ladder. You will have a disarming skill, but if you fail the random chance to disarm it you will get hurt, so there will be something to find that increases you chance to disarm also.
  4. OK! new file up, see top post. I think the dungeon interface is done. You have a sense to notice things not normal that are hiding secrets. It's set at 50% right now a bit high. You have to search for the hidden item and there's a chance to weather or not you find it, again it's 50% probably to high to start with. random chests and traps spread on map you can open and shut chests nothing to get yet you can get hurt by the traps but you are invincible right now. If you find the ladder you can climb it to the next level and it resets leaving you in the same location More to come if I have time tomorrow to get anything done on it.
  5. Can you imagine using cassettes for storage for business applications? conversation..... owner.......how are the sales orders looking today Secretary...wait just a few minutes and I'll load that up for you owner.......got it yet? secretary...almost I think owner after you get that I need you to record these gas receipts. secretary...no problem secretary...10 sales so far this morning owner.......I'm on the phone with the state about the sales take can you pull that up please secretary...sorry it's in the middle of loading the fuel program. owner.......I can't wait for that I need the sales info, just shut it off and restart it. secretary...ok, give me a min. secretary...off...on...1 basic...old cs1........loading it now sir. secretary...(waiting) owner.......(waiting) irs.........(waiting) secretary...run........Shit it was the wrong cassette! owner.......damn it. can't we just keep this stuff in a ledger???!!!!!
  6. Interestingly I used X for walls and . for floor and S for secert door and D for doors and if you look in the code I didn't use those letters at all. They didn't work out for my charset places. So I didn't want to retype them in? So I wrote a basic program to read the strings convert them then build a string for output that started with DATA included 3 stings separated by ",". Had the program write the strings to a file, opened it and copied and pasted it back into my source editor, just added line numbers to them.
  7. The way that I'm doing the random dungeons for ROGUE is if you tried it, noticeably faster then these mazes. Well I'm doing them very different. For speed because of basic I don't want to try and plot out any random dungeon. At best in non-overdrive it will be at least a 3 minute process. So the solution is to combine sets of strings that from a complete dungeon. Nothing new here to anybody that was programming in the 80's but I know Owen will enjoy it. Maze Man uses random strings but the output is sporadic to say the least. So I came up with this method to produce nice looking dungeons very fast. The screen needs 1 text line, a top and bottom border. That leaves 21 lines. I cut that into 3rds. I opened paint and made me a template for this for the screen area and showing my 3rds Now I draw a basic dungeon that looks nice. add some doors and secret doors. Now cut the middle 3rd out and paste it in a new temple as the middle 3rd and then draw a top and bottom 3rd that matches up to it that are different then the 1st ones. Now I have 1 middle piece and 2 top and 2 bottom pieces that all seem to fit together. Repeat this process by cutting out the middle and making a couple of more middles that fit together. So say we make 3 top and 3 middle and 3 bottoms, 3^3 27 possible mazes. not bad on memory usage as just strings, but they could be compressed since there are only 4 tiles, floor, wall, door,secret door. but uncompressed they are 28x21 maps, 588 bytes per set of 3. Not to bad. Now how to code it to work. Type out the ascii code for each string store them as DATA keeping the tops together the middle together and the bottoms together. Read them as sets of 7 and store them in arrays for top,bottom, middle. randomly pick a top print it, pick a middle print it, pick a bottom print it. This code here doesn't use data, but I compress 7 lines of ascii to 1 string and it fits with room to spare, If you had the whole screen 24 lines 8 would fit per string. 10 REM BASIC ROUGE 11 CALL SCREEN(15) 20 A$="....#....#...........#........../....+...........#..........#....#...........#..........#....#####" 21 Z$="########..........#....#...........#..........#....+...........+..........#....#...........#......" 22 A$=A$&Z$ 30 B$="....#.....#..#.....#......#...../.....#..#.....+......#.....#######..#######......+...........#..." 31 Z$=".....#......#...........#........#......#.###+##########+############..........#...........#......" 32 B$=B$&Z$ 33 C$="###+#########+##############.......#...........#...............#...........+...............+......" 34 Z$=".....#...............#...........#...............#...........#........#####/###################+##" 35 C$=C$&Z$ 36 D$="....#....#...........#......######################........#...#.......#......#........#...+......." 37 Z$="#......+........#...#.......#......#######..#####.......#......#............###/#####......#......" 38 D$=D$&Z$ 40 E$="..........#...########................#......+....................##+######/####.........######..." 41 Z$=".#.......#.........+....+....#.......#.........#....#....#.......#....############################" 42 E$=E$&Z$ 43 F$=".....................#...........................#......###+################/#######.........#...." 44 Z$="....#..........#+#.....+........#..........#.#.....#........#.........############################" 45 F$=F$&Z$ 46 G$="##+##....#...........######.....#....#...######..#../.#.....##...#...#....#..#..#.#......#...+.../" 47 Z$="....#..+..#.#.....##...#...#....#..####.#.....#....#...######..#....#.#####....#...........#/####." 48 G$=G$&Z$ 99 CALL CLEAR 100 IF INT(RND*2)=0 THEN 101 ELSE 103 101 PRINT A$ 102 GOTO 109 103 PRINT B$ 109 M=INT(RND*3) 110 IF M=0 THEN 111 ELSE 113 111 PRINT C$ 112 GOTO 120 113 IF M=1 THEN 114 ELSE 116 114 PRINT D$ 115 GOTO 120 116 PRINT G$ 120 IF INT(RND*2)=0 THEN 121 ELSE 123 121 PRINT E$ 122 GOTO 130 123 PRINT F$ 130 CALL HCHAR(2,2,35,30) 131 CALL VCHAR(1,2,35,24) 132 CALL VCHAR(1,31,35,24) 150 CALL KEY(O,K,S) 151 IF S=0 THEN 150 152 GOTO 99 The sample here is 2 tops 3 middles 2 bottoms for 2*3*2 or 12 possible maps. Hit a key to make a new map. So you see you can put design into a dungeon with some random elements to it. But this way you can create wandering halls and odd rooms that all fit well that would be hard to remake in a totally random fashion.
  8. Dang glad it worked! This was the code to open shut the doors I was trying to be flexible with the code and using the same code to open and close doors. REM GET DIRECTION RETURNS KD=1-4 2210 GOSUB 2299 REM UP OPEN SHUT 2211 IF KD=1 THEN 2212 ELSE 2219 2212 CALL GCHAR(CY-1,CX,A) 2213 IF A=90 THEN 2214 ELSE 2216 GOTO CHEST 2214 CALL HCHAR(CY-1,CX,89) 2215 GOTO 280 2216 IF A=89 THEN 2217 ELSE 280 2217 CALL HCHAR(CY-1,CX,90) 2218 GOTO 280 REM DOWN OPEN SHUT 2219 IF KD=3 THEN 2220 ELSE 2227 2220 CALL GCHAR(CY+1,CX,A) 2221 IF A=90 THEN 2222 ELSE 2224 2222 CALL HCHAR(CY+1,CX,89) 2223 GOTO 280 2224 IF A=89 THEN 2225 ELSE 280 2225 CALL HCHAR(CY+1,CX,90) 2226 GOTO 280 REM RIGHT 2227 IF KD=2 THEN 2228 ELSE 2236 2228 CALL GCHAR(CY,CX+1,A) 2229 IF A=90 THEN 2230 ELSE 2232 2230 CALL HCHAR(CY,CX+1,89) 2231 GOTO 280 2232 IF A=89 THEN 2233 ELSE 280 2233 CALL HCHAR(CY,CX+1,90) 2234 GOTO 280 REM LEFT OPEN SHUT 2236 CALL GCHAR(CY,CX-1,A) 2237 IF A=90 THEN 2238 ELSE 2240 2238 CALL HCHAR(CY,CX-1,89) 2239 GOTO 280 2240 IF A=89 THEN 2241 ELSE 280 2241 CALL HCHAR(CY,CX-1,90) 2242 GOTO 280 Then I realized I needed to open and shut more stuff, like chest and I realized that this was going to grow out of hand for my size limits. So I rewrote it to be more flexible, this code opens and shuts doors and chests and I can add more stuff to open at an increase of only 3 lines. open and close will need 6 lines. Anyway I'm doing 2 times the functions and my code shrunk 7 lines, woot. REM GET DIRECTION RETURNS KD=1-4 2210 GOSUB 2299 2211 ZX=CX 2212 ZY=CY 2213 IF KD=1 THEN 2214 ELSE 2216 2214 ZY=CY-1 2215 GOTO 2223 2216 IF KD=2 THEN 2217 ELSE 2219 2217 ZX=CX+1 2218 GOTO 2223 2219 IF KD=3 THEN 2220 ELSE 2222 2220 zy=cy+1 2221 goto 2223 2222 ZX=CX-1 2223 CALL GCHAR(ZY,ZX,A) 2224 IF A=89 THEN 2225 ELSE 2227 2225 A=90 2226 GOTO 2250 2227 IF A=90 THEN 2228 ELSE 2230 2228 A=89 2229 GOTO 2250 2230 IF A=121 THEN 2231 ELSE 2233 2231 A=122 2232 GOTO 2250 REM ------------IF ADD MORE OPEN SHUT STUFF THE ELSE NEEDS TO POINT TO THEM 2233 IF A=122 THEN 2234 ELSE 2250 2234 A=121 2235 GOTO 2250 2250 CALL HCHAR(ZY,ZX,A) 2251 GOTO 280 Now I guess I need to add some random chest in the level creation. My next update tomorrow will include chests and atleast secret detection. meaning secret doors and traps. So tomorrow will be a exciting update.
  9. Exactly. It's a zero-sum transition because on every VDP cycle, it's just reading that register and writing to the screen whatever it finds there. Adamantyr That's nice! Ok, when using more then one pattern table. when you switch the the 2nd table, I'm guessing any patterns you want to keep the same has to be in both pattern tables?
  10. I removed the copied version, something funny going on, posted a file, and it should let you open and shut all doors. DL the file please and try it and see if it works for you. Sorry, it was meant to be working right when I posted the update, lol.
  11. when you swap to it, do you just redefine the Screen Table and it redraws the screen based on what is stored in the new addresses?
  12. Ah, the spoiler is trimming spaces, I'll have to use a codebox try it again Owen. Guess, I'll start posting a basic file too, kinda long for pasting in c99. Thanks for letting me know, John
  13. Hey Adam you have screen table and buffer screen table, so are you double buffering your screen output?
  14. You need to add a file on the disk, name it something like PRIZE Have it output this -------------------------------- |Marc Hull won the SSGC contest| | | | and | | all I got was this damn disk | | | | | | O | | | | | | - | | | | | | | | | | | | | | - | -------------------------------- hehe
  15. Fixed the name spelling Rogue Added opening and closing doors code updated in 1st thread Now you can explore much more space. still might find yourself in a closed off room. No reveal secret doors yet.
  16. I think the :: would not be needed here because you are in the IF THEN structure and multiple resolves are going to be by default on the same line IF A=0 THEN C=1 D=5 ELSE C=2 D=1 ENDIF IF A=0 THEN ;enter the structure resolve condition output 1st half of line "IF A=0 THEN " Loop to compute resolve repeat until ENDIF or ELSE line 1 command C=1 store in resolve string RS="C=1" line 2 command D=5 store in resolve string RS="C=1"+":=5" end loop line 3 command ELSE add resolve string to output line "IF A=0 THEN C=1:=5" loop to resolve else RS=" ELSE" line 4 command 1 C=2 in RS=" ELSE"+"C=2" line 5 command 2 D=1 add to RS="ELSE C=2"+":=1" line 6 command ENDIF end loop cause of ENDIF and add RS to output line "IF A=0 THEN C=1:=5 ELSE C=2"+":=1" You could of course have the resolves on one line before the translation it would just treat a :: as adding a new command to the resolve string. IF A=0 THEN C=1:=5 ELSE C=2:=1 ENDIF as far as that goes this should be allowable to because you are in the structure IF A=0 THEN C=1:=5 ELSE C=2:=1 ENDIF because the structure will in pass one break out all commands line 1 "IF A=0 THEN " line 2 "C=1" line 3 ":=5" line 4 " ELSE " line 5 "C=2" line 6 ":=1" line 7 ENDIF pass 2 output add lines 1 though 6 "IF A=0 THEN C=1:=5 ELSE C=2:=1"
  17. Not sure you even need line extensions SX=12 :: SY=12 :: ... DIM MAZE(13,13) [/code[ to [code] SX=12 :: SY=12 :: DIM MAZE(13,13) In this case after the interpreter see "::" it knows the next statement (if on the same line or not) will be added to the same line in the output The same with IF THENS IF (MAZE(X,Y) AND 4)=4 THEN IF C=98 THEN C=96 ELSE C=97 ENDIF ENDIF once it finds a IF it enter a structure of what comes next and stays in this structure until it see the ENDIF.
  18. hmmm you might be right, I never claimed to be good at spelling, lol. THE BIG LIST STARTS HERE 1. Fix the name
  19. It will be completely turn based so if a person uses overdrive on a emulator great, on a real system it will be slower. I will compile it once it's done and since it's turn based it should need any timing adjustments then the moving around will be smooth and fast.
  20. Ok, so this maybe over reaching, but Owens has me dreaming of Rogue Likes and random dungeons and rpgs and well damnit Owen this crap gets under you skin and just stays there. I've been obsessing over mazes and dungeons for the last week, and after making a nice dungeon that you can move around in last night I decided to go for it. So this is my WIP thread of Basic Rogue. This 1st posting has the map making in place, unknown dungeon until you explore it. You move with ESDX and this game will be heavy on key short cuts when done. If anyone has played Rogues then you know. Right now you can only move around and all the doors are closed so depending on where you spawn you may not see much. So this is actually playable not on overdrive, overdrive of course makes it better. Since it is in TI-Basic I can compile it once I'm done. And have something pretty nice I think. 11-21 Initial post walkable revealable map ESDX commands 11-22 Open and shut doors with the O command Open and shut chests with O Find traps and secret doors with F Climb ladder with C 11-23 You now have 100hp and lose hp from traps You now get hungry if your hunger reached 99 you lose 1hp per movement(starving) Sorry no food to eat yet. You can now DIED - hey it's ROGUE! Check your stats with Z 11-24 Added food to the stat bar You can now eat food with the T command Eating food reduces hunger by 25 can't eat if you are 0 hunger(full) ROGUE.zip
  21. I like the ENDIF idea. Are you requiring all variables to be predefined?
  22. Can you open source this, I'll like to fallow along with your development, since it mirrors a project I'm working on. I mainly want to see how you are pharsing the commands. And assigning varibles.
  23. Looks so much like a 80's magazine add. You did Good!
  24. Ok 2 more programs that carve out space. I'm trying to make it erode out a chamber. You can input different values and retry them. Program 1 randomly fills the screen with blanks and then erodes around them if (the 8 squares around the tile) more then 4 squares are blank. I was thinking that is water was washing out and it had more water then land the land would loose out. Program 1 a value of 45 works good and the compiled version M1F.zip Program 2 works kinda the same except only looks for connections up,down,left and right. Little more control in this one, enter a fill percent and a minimum number of connections. Program 2 try values 55 and 3 to begin with and the compiled version M2F.zip Stay tuned for more.
×
×
  • Create New...