chewy Posted August 6, 2019 Share Posted August 6, 2019 I was just thinking about that Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted August 6, 2019 Share Posted August 6, 2019 Probably not without a CPU on-cart. Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 6, 2019 Share Posted August 6, 2019 The Oregon Trail was originally a text-only game. Later migrated to AppleII using shape table graphics as "Oregon" by MECC. Later released commercially (and revamped) for various platforms by Brøderbund. Don't see why at least Oregon couldn't be ported. Start with the text, then sprinkle in some minimal graphics. 3 Quote Link to comment Share on other sites More sharing options...
Keatah Posted August 6, 2019 Share Posted August 6, 2019 IIRC there are BS schemes that do 512Kbytes. That's more than most of the computer versions. So memory shouldn't be an issue. The logic and progression of the game isn't uber complex. And didn't someone make a 40 or 60 or 80 column text routine? So that helps. I don't see why not. 2 Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted August 6, 2019 Share Posted August 6, 2019 (edited) The commercial version was still MECC. ? Edited August 6, 2019 by The Usotsuki Quote Link to comment Share on other sites More sharing options...
+Andrew Davie Posted August 7, 2019 Share Posted August 7, 2019 I tried a quick-n-dirty conversion of the title screen, giving the results shown... 2 1 Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted August 7, 2019 Share Posted August 7, 2019 For what it's worth, a lot of the game logic is written in BASIC (though a significant part of the code is ASM too, including the entire hunting minigame). I'd like to try to re-engineer the whole thing, not for a 2600 version, but to try to rewrite it in C. Quote Link to comment Share on other sites More sharing options...
Inky Posted August 7, 2019 Share Posted August 7, 2019 This would be great with the keypad / Video Touch Pad controllers. 1 Quote Link to comment Share on other sites More sharing options...
chewy Posted August 7, 2019 Author Share Posted August 7, 2019 i was thinking for the vcs we'd have to leave out the mini games.... Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 8, 2019 Share Posted August 8, 2019 "Have to"? Only 2 moving objects during those. Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted August 8, 2019 Share Posted August 8, 2019 More likely you'd be lucky to be able to do anything but the minigames... 1 1 Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 8, 2019 Share Posted August 8, 2019 If you throw enough ROM at it, I think it would be pretty simple on a technical level to accomplish. Most of the game isn't real-time, so running out of cycles isn't an issue. I don't see it taking up a huge amount of RAM, either. Quote Link to comment Share on other sites More sharing options...
root42 Posted August 13, 2019 Share Posted August 13, 2019 It boils down to whether the game’s mutable state can be fit into 128 bytes. Or maybe 256 with the SARA. I am no VCS programmer, but I am a programmer. I never played Oregon trail, but you would need to make a table about how much bytes the gamestate will take up. You will probably have to forego custom names and the like and only keep core values like health and equipment of your party, if I understand the game correctly. Plus you will have to reserve some variables for drawing routines. Will be a tough thing. Quote Link to comment Share on other sites More sharing options...
+TwentySixHundred Posted August 15, 2019 Share Posted August 15, 2019 It would be possible but i doubt anyone could pull off full text and action (hybrid) like the original. It would be more the traditional 6 sprite text strings and action or complete text based game using one those 24 character text kernels. I haven't even looked into the technical side of those kernels so don't know if there would even be enough memory left for game logic? Anyway, i think it would be possible just a simplified port like most 2600 games. Quote Link to comment Share on other sites More sharing options...
+Karl G Posted August 15, 2019 Share Posted August 15, 2019 My WIP combines two 24-character text lines with graphics/action without any need for an arm processor. For Oregon Trail, I would probably add a couple more lines of text, and make the graphics area slightly smaller, but I really don't think it is as impossible as many people seem to think to accomplish. 1 Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 15, 2019 Share Posted August 15, 2019 I don't understand why some think that it is impossible either. Nothing is particularly advanced about the game, it's just a wall of text with a random element of what you encounter every couple of weeks. Success with a rifle is based on how fast you can type the word "bang" (later changed to be a minigame using graphics, success based on how close your shots get to the moving target). The variable list is quite short...can be even shorter than the original when you consider that half of those are just flags. Listing of the original "The Oregon Trail": https://gist.github.com/fogus/95cd88f43aa37c8014b5 3 Quote Link to comment Share on other sites More sharing options...
BydoEmpire Posted August 15, 2019 Share Posted August 15, 2019 If the 2600's amazing library has taught me anything, it's that any game can be done. It's just a matter of how close you get to what you want to port, and how many changes to the design you need to make to accommodate. 1 Quote Link to comment Share on other sites More sharing options...
Keatah Posted August 15, 2019 Share Posted August 15, 2019 Or how many new programming techniques you can invent. For how much (hardware) there is, it's really quite flexible. 1 Quote Link to comment Share on other sites More sharing options...
ChildOfCv Posted August 15, 2019 Share Posted August 15, 2019 1 hour ago, Nukey Shay said: Success with a rifle is based on how fast you can type the word "bang". I can't type "bang" in any reasonable time with a joystick. On a more serious note, a simplified hunt screen would be simple enough. I mean we have plenty of tank fighting games with shots bouncing around, even including walls and obstacles. How hard would it be for one of those tanks to turn into a deer (that doesn't shoot back)? Quote Link to comment Share on other sites More sharing options...
Nukey Shay Posted August 15, 2019 Share Posted August 15, 2019 Carnival would be a better example. But it is still only 2 sprites. The existence of collision registers means that you don't even need to check how close it reached the target. Just branch if the display produced a collision. Quote Link to comment Share on other sites More sharing options...
orange808 Posted August 16, 2019 Share Posted August 16, 2019 One version of The Oregon Trail simply fired bullet straight up the middle of the screen when you pressed the space bar. Animals moved horizontally from one of the screen to the other. I remember it as a "shooting gallery" with three rows. Animals were drawn as white outlines with two frames of animation. I recall a deer, rabbit, and bear. It's one color against a black background. The 2600 can do a three row shooting gallery. Quote Link to comment Share on other sites More sharing options...
Tangentg Posted August 16, 2019 Share Posted August 16, 2019 Unless I'm mistaken, Oregon Trail seems to play out the same every time you make the same choices, making it a non-randomized game. I've always wanted to see a version where the factors were more random and less predictable, so maybe the port could consider those? I've never once lost at the game and it makes the choices you're supposed to take extremely obvious so I was always bothered by the lack of variety after I won three times on my first 3 goes and they seem to play out the same. Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted August 16, 2019 Share Posted August 16, 2019 Just checked the code. It does indeed use the RNG. Here's RIVER.LIB: 50000 SR = 0:RC = (LM = 2) + 2 * (LM = 9) + 3 * (LM = 12): GOSUB 50150: GOSUB 250: RESTORE : FOR L = 0 TO 6: READ Z$: NEXT : FOR L = 0 TO 5: READ Z$:T$(L) = Z$ + "": NEXT : & QFH 50001 GOSUB 260: & WIND: PRINT : PRINT Z$CC$: PRINT TD$CC$: & DFW,7 AT 20,60,220,119: & DFW,6 AT 30,70,230,89: & WIND,7 50005 PRINT : PRINT "You must cross the river in order to continue. The river at this point is currently "RW" feet across, and "RD" feet deep in the middle.": GOSUB 30000 50010 GOSUB 50150: & DFW,7 AT 0,48,279,111: & WIND,7: & BOX: & CO: PRINT "Weather: "W$(W): PRINT "River width: "RW" feet": PRINT "River depth: "RD" feet 50011 & GCP,,Y: & CO,,Y + 4: PRINT "You may:":Z = 0:F = 0: & GCP,,Y: & CO,,Y + 4: FOR L = 0 TO 1:Z = Z + 1: PRINT Z". "T$(L): NEXT : IF RC(RC,5) THEN Z = Z + 1:F = 1: PRINT Z". "T$(RC(RC,5) + 3) 50015 FOR L = 2 TO 3:Z = Z + 1: PRINT Z". "T$(L): NEXT : PRINT :Z$ = "-1" + STR$ (Z): PRINT WW$;: & INP,1,Z$,1,Z$:V = VAL (Z$) 50020 IF V = 4 + F THEN & BOX: & WIND,6: GOSUB 50160: GOTO 50010 50025 IF V = 3 + F THEN & BOX: & CO,,50: PRINT "You camp near the river for a day."CC$: GOSUB 30000:SR = 0:SD = 1: GOSUB 500: GOSUB 250: & WIND: & CO,,18: & CEL: PRINT TD$CC$: GOTO 50010 50030 IX = 1:V = V + (V = 3) * (RC(RC,5) = 2):Z = 0: ON V GOSUB 50035,50080,50130,50100: ON F GOTO 50010:A$ = A$ + "":Z$ = Z$ + "":K$ = K$ + "": RETURN 50035 Z = 0:I = 2:F = 0:A$ = "You made the crossing successfully.": IF RD < 2.5 THEN ON RB GOSUB 50060,50070: RETURN 50037 IF RD < 3 THEN A$ = "Your supplies got wet. Lose 1 day.":SD = 1: GOSUB 500:Z = 0: RETURN 50040 V = (RD / 10) / IX: GOSUB 50205:V = ((RD - 1) / 10) / IX: GOSUB 50185:V = ((RD - 2.5) / 10) / IX: GOSUB 50175 50050 IF Z THEN A$ = "The river is too deep to ford. You lose:" 50055 RETURN 50060 A$ = "It was a muddy crossing, but you did not get stuck.": IF RND (1) < .4 / IX THEN A$ = "You become stuck in the mud. Lose 1 day.":SD = 1:SR = 0: GOSUB 500:Z = 0 50065 RETURN 50070 A$ = "It was a rough crossing, but you did not overturn.":Z$ = "": IF RND (1) < .16 / IX THEN A$ = "The wagon tipped over":Z$ = " but you did not lose anything.":V = .1 + RND (1) * .3: GOSUB 50205: IF Z THEN Z$ = ". You lose:" 50075 A$ = A$ + Z$: RETURN 50080 Z = 0:I = 3:F = 0: IF RD < 1.5 THEN & BOX:F = 1: & CO,0,50: PRINT "The river is too shallow"CC$: PRINT "to float across."CC$: GOSUB 30000: RETURN 50085 SD = 1: GOSUB 500:Z = 0:A$ = "You had no trouble floating the wagon across.":V = (RD > 2.5) * (RS / 20) / IX: IF RND (1) < V THEN V = (.4 + RS / 25) / IX: GOSUB 50205:V = ((RS - 3) / 15) / IX: GOSUB 50175 50090 IF Z THEN A$ = "The wagon tipped over while floating. You lose:" 50095 RETURN 50100 Z = 0:F = 0: IF RD < 2.5 THEN F = 1: & BOX: & CO,0,50: PRINT "The ferry is not operating today because the river is to shallow.": GOSUB 30000: RETURN 50101 X = INT ( RND (1) * 5 + 2):V = 5: GOSUB 200:V = 5: & BOX: & WIND,6: PRINT "The ferry operator says that he will charge you $"K$" and that you will have to wait "X" days. Are you willing to do this? ";: GOSUB 30100 50105 IF Z$ = "Y" AND MY < V THEN & CO: & CEW: PRINT "You do not have enough money to pay for the ferry.": GOSUB 30000:F = 1: RETURN 50110 IF Z$ = "N" THEN F = 1: RETURN 50115 SR = 0:I = 1:MY = MY - V:SD = X:X5 = 18: GOSUB 4505:Z = 0:F = 0:Z$ = "":A$ = "The ferry got your party and wagon safely across.":V = .05 * (RS > 5) + .1 * (RS > 10) 50120 IF RND (1) < V THEN A$ = "The ferry broke loose from moorings. You lose:":V = .8: GOSUB 50205:V = .2: GOSUB 50175:V = .5: GOSUB 50185: IF NOT Z THEN A$ = "Some trouble in crossing but nothing was lost." 50125 A$ = A$ + "":Z$ = Z$ + "": RETURN 50130 X = INT ( RND (1) * 2 + 2): & BOX: & WIND,6: PRINT "A Shoshoni guide says that he will take your wagon across the river in exchange for "X" sets of clothing.":F = 1: PRINT 50135 IF I(3) < X THEN PRINT "You don't have "X" sets of clothing.": GOSUB 30000: RETURN 50136 PRINT "Will you accept this ": PRINT "offer? ";: GOSUB 30100: IF Z$ = "N" THEN RETURN 50140 F = 0:IX = 5:I(3) = I(3) - X:K$ = "The Shoshoni guide will help you ":Z$ = "ford the river.":V = 1: IF RD > 2.4 THEN Z$ = "float your wagon across.":V = 2 50145 K$ = K$ + Z$: & BOX: & WIND,6: PRINT K$: GOSUB 30000:Z = 0: ON V GOSUB 50035,50080: RETURN 50150 RD = INT ((RC(RC,0) + AR * 2) * 10 + .5) / 10:RW = INT (RC(RC,1) + 15 * AR):RS = RC(RC,2) + AR:RB = RC(RC,3) 50155 RETURN 50160 & CO: PRINT "To ford a river means to pull your wagon across a shallow part of the river, with the oxen still attached.": GOSUB 30000: & BOX: & CO 50165 PRINT "To caulk the wagon means to seal it so that no water can get in. The wagon can then be floated across like a boat.": GOSUB 30000: & BOX: & CO 50170 PRINT "To use a ferry means to put your wagon on top of a flat boat that belongs to someone else. The owner of the ferry will take your wagon across the river.": GOSUB 30000: RETURN 50175 FOR L = (NP > 1) TO NP - 1: IF RND (1) < V THEN T$(Z) = N$(L) + " (drowned)":H1(L) = - 2:Z = Z + 1:V = V * (Z < 11) 50180 NEXT : RETURN 50185 Y = 0:X = I(2): IF NOT X THEN RETURN 50190 FOR L = 1 TO X: IF RND (1) < V THEN Y = Y + 1 50195 NEXT : IF Y THEN T$(Z) = STR$ (Y) + " oxen":T$(Z) = LEFT$ (T$(Z), LEN (T$(Z)) - 2 * (Y = 1)):Z = Z + 1:I(2) = X - Y: IF I(2) < 0 THEN I(2) = 0 50200 RETURN 50205 FOR L = 3 TO 8:X = I(L): IF X AND RND (1) < V THEN Y = INT ( RND (1) * X + 1):I(L) = X - Y:Z$ = I$(L): GOSUB 50250:T$(Z) = STR$ (Y) + " " + Z$:Z = Z + 1 50210 NEXT :Z$ = Z$ + "": RETURN 50250 X = (Y = 1) * ((L = 8) + (L = 3) + ("s" = RIGHT$ (Z$,1))): IF NOT X THEN RETURN 50255 IF L < > 8 AND L < > 3 THEN Z$ = LEFT$ (Z$, LEN (Z$) - 1): RETURN 50260 X = 6 - 2 * (L = 3):Z$ = LEFT$ (Z$,X - 1) + RIGHT$ (Z$, LEN (Z$) - X): RETURN 51000 DATA attempt to ford the river,caulk wagon and float it across,wait to see if conditions improve,get more information,hire an Indian to help,take a ferry across Quote Link to comment Share on other sites More sharing options...
Video Posted August 18, 2019 Share Posted August 18, 2019 It's not randomized, and is mostly text based (or totally, if you got an older one) it wouldn't be hard at all, depending on it you want graphic images or not. There are some other text based games already. If like to see it with images, nobody has done a game featuring chronocolor yet, as far as I'm aware, and the Christmas cart was cool. Always hoped for a game at some point, and this would fit the bill. I saw an Oregon trail single function handheld in stores last year, thought that was cool. Quote Link to comment Share on other sites More sharing options...
monzamess Posted August 18, 2019 Share Posted August 18, 2019 (edited) The code snippet does use RND but RND is a pseudo-random number generator and will always produce the same sequence of results for a given seed. So a game can be "random" and completely predictable at the same time. The traditional way to combat this problem is to seed the random number generator using the real-time clock... for systems that have one. Or some programs have the user enter a seed value (so they can choose their "variation" of the game). Or maybe base it on how many cycles pass before a user presses a button or something (since that will be hard to replicate run after run). Just some thoughts. Edited August 18, 2019 by monzamess Ackshully... Quote Link to comment 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.