Game was too frustrating, but hey changing this easy to understand rules.ini file completely changes it to my favour! Also you could do hilarious things like an attack dog launching an artillery as its primary weapon. It taught me how to debug and roll-changes back when the game crashed with the dreaded "Internal game error" message.
cue Neo from the Matrix who starts to see the world as just code
But seriously, it was my first introduction to "programming" and then got me into QBasic via "Complete Idiots Guide to Programming" which I borrowed from the local library. I was also super into Aerospace and this book [1] also from the local library gave me background into computer hardware.
[1] https://www.amazon.com/Computers-Space-Journeys-James-Tomayk...
The RA2's rules.ini pretty much exposed the games internal hierarchical layout for units, i.e an IFV loaded with GI's is different compared to a IFV loaded with Engineers.
But serializing all of these led to a much larger file than RA1, it was quite a bit more difficult to hand-hack RA2's rules.ini. I ended up caving to a utility tool like TibEd and Red-Alchemist. [1]
Good times...
10 FOR I% = 1 TO 10
20 PRINT "HELLO, NATHAN"
30 NEXT I%
RUN
into a BBC Micro. And I was hooked. Mum and Dad saved for a year or two and bought me a Commodore 64, and I was away.Now I try never to miss an opportunity to show the magic to young kids, and I always think of the kindly stranger when I do so.
The I discovered the forums, which had a lot of healthy discussion at the time. I remember contributing to a clipboard manager written in AHK called Clipjump[1] that I still use to this day (great concept, not so great implementation). This was when I was in high school in the early 2010s. From there I got a lucky break when I was hired with no prior experience for a PHP4 scripting job, and then on to greener pastures from there with JavaScript and Python.
I got into tech of various flavors by learning to write RuneScape bots circa 2005-2009. There were a few publicly available Java reflection-based bot dev kits at the time, which was my initial entry point. I later got into more advanced programming topics by figuring out how the SDKs themselves worked and rolling my own, as the widely used free ones tended to get your accounts heuristically banned quite a lot. Sysadmin stuff when I got around to setting up proper remote bot farms, etc.
My example is somewhat more ethically dubious than a lot of similar-ish stories (e.g. blizzard rts mod development, Minecraft mods, etc.) but I've always found that "pure" intros to programming tend to lack an inherent motivating factor like what you can get with messing with games, whether it's to make something cool, skip a grind or generate some pocket money.
The RuneScape botting scene was so strange. It was a really interesting subculture to be a part of. If you were ever active on JH, we probably have seen each other's posts...
Then our high school got TRS-80s in the computer lab. I borrowed the BASIC manual and read it while I was supposed to be paying attention in calculus. (It only took an hour. That's something to keep in mind when designing a language for kids to learn.) I already knew FORTRAN, but changing a FORTRAN program took a week (create a deck of cards, hand it off to a teacher, they took it off-site and ran it, and brought back the results). Whereas BASIC I could change in a minute. (Yeah, those who say that a REPL is a big deal? Instant feedback really does change things.)
I'm glad the creators of that toy computer made it into an actual computing device, more than the mere toy it appeared to be, and that they included a manual which actually taught how to program.
Today's official answer would be Visual Studio on Windows or Xcode on macOS which aren't simple or small.
The most similar contemporary approach to that simple game making is probably the 2D game engine LÖVE, which is awesome
Ex: http://www.petesqbsite.com/sections/zines/others/basictr3.gi...
Inevitably you'd copy something wrong, the game wouldn't compile or wouldn't work correctly, and debugging began.
In high school I didn't always get along with the old man so I hadn't wanted to be a programmer honestly. But one time I had to do some VB with MS Excel for class and found it to be a lot of fun! I knew that it was kind of 'fake' boring programming compared to the stuff programmers do on the day to day, so I decided to learn real programming and now here I am almost 10 years later.
I think that you'll need to find a way to incorporate programming into some other domain that they fancy rather than trying to just introduce them to programming for the sake of it.
Second, making a website using Flash. I had a great time drawing objects on a canvas, animating them using the timeline, and adding click-events to buttons. I ended up drawing a room where you could click on the computer to jump to a list of my favorite games, click on the journal to see something I wrote, etc.
Similarly, what sparked my interest in web programming was the ability to view the page source code in order to see how a specific result can be achieved.
While perhaps not going as far as the web's original creators envisioned it to be (the user being able to directly edit and publish from the browser itself) this feature allowed you to quickly learn from and build on existing code as well as try out new patterns and practices.
I'd put Linux or Unix on them and play free games like Wolf:ET.
Linux because - was shopping for Windows on Ebay and found Ubuntu 6.04 cds.
Had to learn basic bash. Coding started from there.
Internet wasn't the best, so I setup my own squid proxy, then web servers, etc. By HS I was writing code for fun and profit.
All thanks to some old Pentiums. :)
I still believe BASIC (with line numbers, particularly on graphics capable systems) was the zenith of stimulating programming environments for beginners. Having everything you might want to do available for download/copy on the Internet within seconds is the opposite...
I was doing simple things like custom spell animations and cut scenes. I built a few dungeon rpgs back then, and sought more and more powerful tools to make simple games, GML, and finding Java in highschool was my first experience with a "real" language.
Before then it had not really clicked how much code was driving innovation all over the place.
My kid got a kick out of https://robocode.sourceforge.io/
Someone created two apps. Amytal would scrape Steam IDs to confirm what leagues the players were in. Bazbar would have a bot in IRC for #findscrim and allow us to chat with people.
Both apps could be run by sending commands from ingame chat.
It was awesome. Still no idea how they worked.
We have moved on visual programming.
I have been building a course on how to teach kids Scratch programming with her.
It was both the sensor array: microphone, cameras, IMU, GPS, etc, and the paradigm change of everyone having a computer in their pocket that got me excited about software.
Being able to create GUIs where I could put whatever I wanted seemed fun. Making it do something seemed even more fun.