I once wrote a game-like sim about "how to get rich" (which I named American Barons.) Java, desktop game, just to scratch an itch. and yes the player/PC does start out dirt poor.
closest thing I've seen to what you're asking about. I never released it to the public but I might have its code sitting on some backup disk somewhere.
If you don't mind sharing, what's the name of the game? I got my start in programming through Runescape back when it was still a java applet run through the browser, so I'd love to check it out.
Are there any games like that? As far as I know nothing ever became of that Minecraft-sequel/Elite-Clone that featured a fictional CPU and most programming games are rather educational and/or feature programming combat AIs...
Although it would be interesting how one could program a narrative into that, if the player starts out without any prior programming knowledge. First task is simple memory access, then looping is required etc.
The game teaches you to build a simple game for Win32 from scratch. The graphics would be pretty dated now, but the scripting system for enemy AI and quests is a Turing-complete programming language. I learned more from that book than from my compiler course in university.
Oh yeah, loved to read this! Gaming and especially moddable games are a great entry into programming.
It wasn't exactly my entry, as I had programmed stuff before, but I learned a huge lot during my university time while writing a database site for World of Warcraft, which also had a distributed data collection mechanism by which hundreds of thousands of users could upload data gathered while playing the game to my site, where it would all be distilled into a database, of which a special, minified copy was then compiled and offered to be downloaded by the players right into the game, to be used while playing as a knowledge base. And alongside of that, people could query the database via a web frontend that used all the latest shit (it was 2007 or 2008, AJAX was a big deal back then, reactive layouts were in their infancy, but I had one, and I even wrote a 3D model viewer in the browser and something like Google Maps to view pre-rendered maps of the game world that looked like satellite images). That thing was 60k LOC Java (data processing and website), 30k LOC Lua (for the addon in the game), about 5k LOC ActionScript, some hundred lines of PHP and Bash scripts, and about 5-10k LOC of C++ for the native client to do data uploads and downloads.
I eventually sold it for about 60k€ including maintenance, and maintained it as a side project for 7 years total (most of the time I was also actively playing WoW) and then it was abandoned because the site didn't catch on enough among the competition, and the game itself assimilated lots of the functionality provided by my in-game database (which was named MobMap and did catch on massively with the players, I counted at least 1.1 million installs over it's lifetime) so that successful service became redundant over time and was eventually discontinued as well.
But that project brought me lots of experience. Different programming languages and runtime environments and contexts, operating a multi-server infrastructure all by myself, using the latest web tech before there were frameworks that did all the hard things for you, maintaining a codebase over a long period, reverse-engineering (to get some of the data out of the game you had to reverse the original game data file formats, and since they changed with every patch, that was a continued activity done by a very small community of people in obscure online wikis, to which I eventually started contributing), updating large numbers of client installs in a secure and reliable way, processing gigabytes of raw data per day into a concise database (I think it was about 50GB XML incoming per day and the final DB was 4GB MySQL - and it was pre-SSDs, so I had to work all in memory with that DB to get the insert and update speeds I needed), this project had it all, and I continue to draw from those lessons in my job today.
Yes, thank you, I almost forgot about how it really began with tweaking the code for the game itself! Great memories. Reminds me of how so many old games had .dat files (or something similar) that you could mess with initial settings or screw with the sounds.
This gives me a good idea for teaching my kids to program. Why start from scratch? I'm going to give them a game like this, with code, and see if they can do something crazy with it!
P.S. For me, I became the computer lab teacher's assistant in order to skip recesses or other activities in middle school. Fixed printers, made .bat file menus, good times.
Nowadays they have macro programs to help with this that use LUA or custom scripting languages to run the game.
I remember learning LUA by writing scripts. Probably my pinnacle here was one to harvest wood / mine automatically, recalling to a bank to drop everything off and then head to a new mine, rotating mines so they wouldn't run out and playing a siren noise and sending me an email when the anti-macro popup would come up.
At this point I was more playing to see how advanced and resilient I could make my script, and less so to play the game, heh.
There are a lot of brilliant programs or games that were created by people with little programming experience. While the code may be of bad quality, the idea is so good that it becomes very successful.
This reminds me of QBasic for DOS -- you have the code and the execution environment tightly integrated. (I think QBasic did have some graphics support, though?)
Thinking back on it, QBasic might have created a generation of programmers -- you would copy a working game from a friend, and then try to modify the source code to let yourself cheat.
This reminds me of the old BBS game Tradewars 2002 that in later years (1999-present?) metamorphosed into a scripting based game played primarily by developers and amateur coders. As with Schemaverse, it's also a space-trading game although of course there is an interface - albeit text only.
This is clearly taking programming dependency a step further, and I would love to play it if I still had time to devote to any form of gaming.
Yes it is pretty good for that type of game. People enjoy it, there are no royalties to worry about. You can use C# which will be familiar to you as a Java dev.
I had a crazy idea re: a multiplayer roguelike engine that would be scriptable. It was a pipe-dream, mostly due to my skill level, and I abandoned it after using it as a hobby for roughly 3 years when it became clear it needed a massive rewrite. However attempting it taught me an insane amount OOP and modern development practices. The Java client rendered with LWJGL, and it was very easy to start playing with basic concepts for graphics and voxel worlds. Without the ease of LWJGL the project wouldn't have taken off at all.
I went from doing general IT to being a professional software developer, and the first thing I ever starting coding was that engine.
In High School, I recall that I built a random maze generator in TI-BASIC, added a really basic movable sprite, and slowly added some very simple/dumb RPG mechanics to push it towards becoming a terrible roguelike.
(One of those lost HS projects it would be fun to revisit but the code was lost when the calculator itself suffered a factory resetting memory/power glitch due to a static electricity discharge event in some College move or another.)
I recently wrote a game from scratch in one week over at my blog (http://jonbho.net). In C, and the source code is available. Still pending to revamp the design and publish it, hope to do so in the next few weeks.
closest thing I've seen to what you're asking about. I never released it to the public but I might have its code sitting on some backup disk somewhere.
reply