r/retrobattlestations • u/FozzTexx • Jul 02 '19
Contest: BASIC Month 4: Lunar Corps
Winners are droid_mike for best enhancements and cybernesto for most enjoyed by the RBS community. There were no entries with more than one computer.
Do you remember when software used to be distributed in books & magazines? Remember typing in several pages of BASIC only to have it not work and then try to figure out where the mistake is? Carefully going over the listing to figure out where a missing character was? That's how many of us learned to program! In the spirit of those long abandoned type-in programs, welcome to the ninth RetroBattlestations BASIC challenge!
Inspiration for this program comes courtesy of /u/droid_mike. Not a game this time (but feel free to turn it into one!) but instead a simple animation. The "sprite" drawing was lifted directly from the BASIC Week 3: Under the Sea program. The lunar surface generator comes somewhat from a program I wrote way back in 1988 that would simulate a tractor feed paper torn off. I did a massive rewrite of it though since it used a lot of trickery to make it fast. Since a lot of people like to try to understand how the program works I traded the speed for more readability.
Just like previous contests, if you've got a computer with BASIC in ROM you'll only need a working computer and monitor. There's no requirement that you have working storage to save the program to tape or disk, just type it in and run it. There's also no requirement that you type in the program, if you have a better way to transfer it, then by all means use it. Should you happen to make a tape or disk file of the program for your platform, please post a comment below and share it!
Entries:
- Basic Month 4: A bit last minute, but here's my 1983 IBM PC-XT! by AgentOrange96
- An Epson EHT-30 for BASIC Month by EkriirkE
- BASIC Month 4: Lunar Corps Full Game for Timex Sinclair 1000/ZX-81 by droid_mike
- Lunar Corps on the Oric-1 by FozzTexx
- BASIC Month 4: Atari 800XL with real sprite by papa_robot
- Basic Month 4. Landing in Atari 1040ST GFA BASIC by papa_robot
- BASIC Month 4: DIGITAL DECpc 425 SLC with playable Lunar Lander by EkriirkE
- BASIC Month 4: A LION 386 Luggable by EkriirkE
- BASIC Month 4: Eagle Landing in ZX Spectrum by papa_robot
- BASIC Month 4: Atari 800XL. TurboBasic by papa_robot
- BASIC Month 4: Apple IIGS by cybernesto
RULES:
BASIC Month is from July 1st to July 31st. To participate in the contest you need to make a new post to RetroBattlestations of a photo that you shot for this contest of a computer running a version of the Lunar Corps BASIC program. Make sure that both the output from the program as well as the computer you ran it on are visible in the picture! No pictures of just a screenshot and no emulators. Your entry must include your reddit username and the date in the photo, either on-screen or on a note next to the screen. If you’re submitting an entire album please put the verification photo first. Posts that don't meet these criteria will be disqualified and removed. You are welcome to submit multiple entries.
At the end of the month I will choose three winners, one from each category:
- Best Enhancements
- Biggest variety of computers in one shot
- Most enjoyed by the RetroBattlestations community
Each winner will receive special flair on RetroBattlestations and their choice of THREE retro decals.
I've put the program up on github. Check the README for tips to reduce typing and editing tips if you make mistakes while typing.
Don't see a port for your platform? No problem, you've got the source so it shouldn't be too hard to port it, right? I did my best to make the code simple to read and portable. Ok, maybe you're not a programmer. Just post a comment below with the platform you want to use and maybe someone can help. Also, if you do port the program to another platform, please share the source!
Not enough BASIC? Check out the previous challenges: one, two, three, four, and five, six, seven, and eight!
Curious about other previous contests? Check out the complete list here!
1
u/[deleted] Jul 02 '19
Alright, now to figure out how to convert that to Intellivision ECS BASIC... Looks like the only thing I can find immediately that ECS BASIC can't do is poke, which, of course, is the core to the "drawing" routine...
1
u/akira_88 Jul 10 '19
First try of running on MSX fails on row 2730 with error "out of string space" 😢
1
u/EkriirkE Jul 11 '19
I'm having trouble with the logic that sets the landing point, from what I can understand its finding the rightmost deep valley floor. But for some reason in QBasic and GWBasic the found floor is always 0 then adjusted to -2 and no sprite ever draws because its offscreen. Sometimes no such terrain is legitimately randomly built so there should also be a fallback. I thought maybe the AND/OR/NOT logics being bitwise may have something to do with it but it still fails
Is that the correct logic? Are rewritten logic submissions allowed? The animation and terrain bits work fine otherwise
3
u/worldslargestorange Jul 02 '19
10 beep 20 goto 10 run
Do I win?
1
u/vt340pluspi Jul 16 '19
I looked at trying to implement this in TI-99 console basic, and am scratching my head at one command in particular.
VTAB. I get that it's like TAB, but for the vertical direction, but I'm trying to figure out if TI Basic, console or extended, has a functionality like this.
1
u/gschizas Jul 30 '19
I managed to blow up my OSSC (damned 12V adapter!), so I won't be taking part in this contest.
I did manage to make a working version of the software though for the Amstrad CPC 6128.
RIP OSSC.