Finally, there's a game that just is a database!
August 28, 2008 5:44 AM   Subscribe

mySQLgame. Naturally, it's an alpha build. [via]
posted by Smart Dalek (32 comments total) 5 users marked this as a favorite
(Also via)

I played this off and on for a few days, and it's fun for a bit, but I feel as though the game mechanics are a little bit broken. I understand making it expensive to wage war and cheap to defend oneself, but at a certain point, it becomes really difficult, if not pointless, to attack a well-defended opponent.

Plus, I realize, the accumulation of wealth and empire-building (which seem to be the goals) don't really appeal to me. It's still a fun time-waster, though, if you ignore the insane "yo, lay off my row, I gots homies all over this bitch" messages from other users.
posted by uncleozzy at 6:02 AM on August 28, 2008

The next time I post a link on MeFi, I'm going to tag the FPP with html, head, title, body, span, div, strong, em...
posted by spamguy at 6:59 AM on August 28, 2008

posted by mkultra at 7:17 AM on August 28, 2008

Yeah, I enjoyed this game despite the UI, and the concept is somewhere in the low-middle area of the AWESOME! range, but like most empire games it's eventually populated entirely by turtles.

The play breaks down into two phases. In the first part of the game, you're shaking down all the abandoned rows around you for cash and fuel every few minutes as you try to build up enough resources to set up a defense. If you're lucky, someone bigger doesn't come along to stomp you while you do this. Once the game gets popular enough there won't be many abandoned rows to farm your free cash on, and you'll have a miniature version of the second phase.

Eventually you get to the second part of the game, where your attack_multiplier and defense_multiplier are high enough to eliminate most other rows as potential targets -- you're not allowed to pound on other folks if you're significantly more efficient than they are -- and you start searching around for larger and better-defended targets. Unfortunately, the midgame is pretty much nonexistent. Upgrades of offensive and defensive capability are so cheap that the game is filled entirely with rows that are either defense_multiplier 1.0 or defense_multiplier 9.0.

However the cost of attacking grows so high that those are few and far between. At this point the prospect of paying 50,000 moneys to attack your target that might yield 20,000 if you pound them senseless becomes rather pointless. Everything is either too weak to attack or too big to profit from attacking.

Then you buy a row_creator (cheap at only 80,000 moneys, you could have one by tomorrow morning) and start the cycle again. Or, um, get bored with the broken combat mechanics that turn the game into a total TurtleFest.

But yeah, this would be a really fantastic game if the mechanics were tuned.
posted by majick at 7:18 AM on August 28, 2008

Cool premise, but its bound checking prevents doing anything cool.

For example, one "move" is to run two SQL statements, meant to subtract from one specified row and add the subtracted magnitude to another arbitrary row; that is, to transfer amounts. The SQL (from memory) looks like this, where M is the user-supplied magnitude and R the user-supplied row:

update table set value = value -X where row_id = 1234;
update table set value = value +X where row_id = R;

Naturally, I hoped to be able to use my knowledge of SQL to "hack" this -- that would have been a fun game.

First, I tried using the fact that "--" is a SQL comment to the end of the current line:

This would have made the first statement set "value" equal to the current value for all rows -- that is, no change --, while the second statement would have added -10 to row 5678. Essentially, hacking the "transfer" move to subtract value from mine enemy's row.

Then I tried making R be "row_id", to apply this transformation not just to row 5678, but to all rows (because for any row, its row_id equals itself, yes?, so the predicate is true, so the update applies to that row, yes?).

No dice.

There are of course further elaborations of this. Increase my row's value by the product of two negative numbers, decrease every row (including mine) by the negative product a positive and negative, net result being every row but mine loses vale:

update table set value = value -1 * (-1000) where row_id = 1234;
update table set value = value +1 * (-1000) where row_id = row_id;

Exclude my row from the carnage:
update table set value = value -1 * (-1000) where row_id = 1234;
update table set value = value +1 * (-1000) where row_id = case row_id = 1234 then 1 else row_id end ;

Etc. Unfortunately, the input validation seems to make this more of a resource game and less a game of SQL hackery. ;(
posted by orthogonality at 7:38 AM on August 28, 2008 [1 favorite]

I totally love that you nerds actually play this game. I thought its purpose was purely as demonstration, much like Progress Quest.
posted by Nelson at 8:33 AM on August 28, 2008

Shoot, I gotta upgrade my video card to run this game.
posted by Tacodog at 9:35 AM on August 28, 2008

The irony is that it runs on Google App Engine, whose datastore is not a relational database at all.
posted by ignignokt at 9:41 AM on August 28, 2008

I liked it. Though majick's comments are pretty accurate. Needs a bit of tweaking.
posted by GuyZero at 10:30 AM on August 28, 2008

Nelson: I'd completely forgotten about Progress Quest. I got up pretty far in that game until I lost access to the Windows machine I played it on. Your link just informed me that there is a Linux version, and I'm installing it right now. Do you know if you can transfer over old characters?

On topic, mysqlgame is fun for awhile but the rules are such that it is very easy to calculate everything out. You know exactly how many defenders you need to buy to protect a certain amount of money. You know exactly how many attackers you need to send to overcome a certain number of defenders and how much money they will bring back. And you have to log in every few hours to buy more defenders because your cash balance keeps growing at a steady and predictable rate. The only way to get ahead is to farm the rows of people who don't log in every few hours to keep their cash balance from exceeding their defense capabilities. Anyone with a spreadsheet and time can play the game perfectly. And anyone with some knowledge of firebase and python can write a program to play the game perfectly for them.

That said, it is a fun tool and it is nice to seem all these web games stripped of all the pretense, much like Progress Quest did for WoW et all.
posted by ChrisHartley at 10:35 AM on August 28, 2008

Do you know if you can transfer over old characters?

I can't tell if this is an intentional joke or just someone temporarily forgetting that Progress Quest is a joke, but it's a funny question either way.

also, without playing the game (yet) I thought uncleozzy's first comment was a joke. now I know it's not I kind of can't wait to go see what this game is actually like even though I don't know any SQL.
posted by shmegegge at 10:56 AM on August 28, 2008

"I totally love that you nerds actually play this game"

Wait whut?

It's actually a pretty good (if rudimentary) game design. Yes, the interface gives the illusion of being something vaguely nerdy, but it's totally an illusion. Rename a few fields here and there and change some text and it's a barebones space empire game. This thing has roughly the complexity and playability of an early BBS doorgame, and similar mechanics. It's a real game, and worth playing. It would be more worth playing if it were tuned, but it's a perfectly decent game.

Did seeing something that pretends to be a SQL query confuse you into thinking it was nerdy?
posted by majick at 11:00 AM on August 28, 2008 [1 favorite]


much like Progress Quest did for WoW et all

Ummm... you do realize that PQ came out two years before WoW, right?
posted by hanov3r at 11:16 AM on August 28, 2008

hey, are there other games like this out there? I don't mean coding nerd type games, but rather games where you set up a permanent base and try to raid other people online while not getting too badly raided yourself. I dig this gameplay, but would like it less obtuse.
posted by shmegegge at 11:18 AM on August 28, 2008

ok, yeah, on first glance it looks like attacking (so far at least) results in pyrrhic victories at best. when you consider that each attack costs the initial cost of creating the attackers ($20 per attacker) plus the cost of replacing dead attackers (same) plus the fuel to send them over (2 fuel per attacker for an enemy located in the row next to you) it seems like you could never really have it worth your time. I just spent several minutes building up an army of 14 attackers, and sending them next door to pillage the guy who was clearly just sitting there slowly earning money without watching his shit, and eventually had to rebuild virtually my whole army only to discover that I'm broke again. out of all of that, all I got was enough money to build my fifth money factory. better than nothing, but I probably could have done that - if not more - if I'd simply sat there with no army letting my money build up in the first place. I mean, it cost me 280 just to build up the army the first time, and the 320 I eventually stole to build my money factory was spent rebuilding the army back up and sending them over in the first place.
posted by shmegegge at 11:52 AM on August 28, 2008

shmegegge, try Travian: Or, as majick alluded to, it's like a lot of BBS "door" games. I remember playing one on a friend's Amiga back in, ugh, 1987? Empire maybe? It was written in some strange proprietary language. Anyway, if you figure out how to get to 1987 I can show you a bunch of games just like this one. Relatively simple games like this have fallen somewhat out of favour.
posted by GuyZero at 11:57 AM on August 28, 2008

Also shmeg, UR DOIN IT RONG. You find defenseless neighbours and farm the heck out of them attack them) to essentially grow faster than you could organically. At some point you will run out of resources, so log out for an hour, then log back in and repeat. You never attack anyone with a defense until you've run out of defenseless rows to farm. And until you're strong enough to beat them. But basically you attack the easy targets, defend yourself like crazy and then simply beat everyone else by outgrowing them.

I played Travian for a while and the winners, in some ways, were determined in the first few days of a new world opening up. It's all about growing fast right off the bat and then leveraging that into more growth later on. The downside is that once you realize how the game is played there's no point joining a world that's already a going concern.
posted by GuyZero at 12:04 PM on August 28, 2008

yeah, I eventually saw what I was doing wrong. I was attacking defenseless dudes with 3-5 attackers at most, then getting frustrated at having to rebuild the crew back up. when I started upping my attack and defense mutliplier (so I lost fewer dudes attacking and defending) and also carried more loot home, I saw how to make it work. Right now I'm the merry kind of my cell block, but the vulnerable peoples in neighboring blocks are too expensive to be worth attacking right now, unfortunately. so for now I satisfy myself in knowing that no one within 10 spaces of me is allowed to have more than 100 money at a time before my Racketeers (yes, the capital R is intentional because I have named them.) show up to warn them about the possibility of an unfortunate accident occurring.
posted by shmegegge at 12:55 PM on August 28, 2008

no! some dude a couple blocks over just completely emptied me! there's nothing I can do to stop him!
posted by shmegegge at 1:40 PM on August 28, 2008

posted by mrnutty at 1:54 PM on August 28, 2008 [2 favorites]

This reminds me of Earth 2025, which was all the rage back in "the day" (like 1999 or so). If you're looking for something similar, but without the SQL, that's what I'd suggest.
posted by goingonit at 1:58 PM on August 28, 2008

"no! some dude a couple blocks over just completely emptied me! there's nothing I can do to stop him!"

And so it begins. Soon (very soon, because defenders are dirt cheap for how over-effective they are) you'll have 5000 defenders and a mutliplier of 8, and then there will be nobody to fight with.

If you're lucky, somewhere along the line you'll get to do a HAH! TAKE THAT! counterattack and empty the other guy out, but then it'll turn into a standoff, you'll come back two days later, buy a row_creator, and go "meh."
posted by majick at 2:35 PM on August 28, 2008

oh man, you're right. in retaliation, I've already gotten up to 100+ defenders and a 4x defense multiplier. I'm in full turtle mode, just scavenging the little guys around me for resources when they have enough worth taking. I'm probably just gonna turtle till I get a row creator, now.
posted by shmegegge at 2:38 PM on August 28, 2008

Don't go over 4 until you're done scavenging. At 5 and up you can't attack all those abandoned "client states" stuck at 1.0. When you're done for the day, dump all your cash into defenders and multiplier, then come back tomorrow and spend your unmolested dosh.

I'd offer you my row_creator and 250,000 fuel but...
posted by majick at 2:42 PM on August 28, 2008

and then I got emptied again. le sigh.
posted by shmegegge at 2:42 PM on August 28, 2008

"100+ defenders"

Too low. Think in the thousands. Basically go raid your farms, and as soon as the cash comes back, buy defenders with the profit, otherwise you're going to get pounded by that guy until he gets bored.
posted by majick at 2:49 PM on August 28, 2008

I think I'm just going to get pounded by that guy until he gets bored. I can't afford to keep watching over this for much longer (playing at work. workday over soon). Right now, I'm ok because I keep emptying my money into defenders before it gets high enough for this guy to get much good out of raiding me. but in the time it takes for me to get home tonight he'll get plenty.
posted by shmegegge at 2:52 PM on August 28, 2008

also there's no way I'm going to ignore my girlfriend in favor of watching a mySQL database.
posted by shmegegge at 2:53 PM on August 28, 2008

A fake mysql database. Not even a real database. A pretend one.
posted by majick at 3:00 PM on August 28, 2008

A fake mysql database. Not even a real database. A pretend one.

which reminds me, this may in fact be the nerdiest form of nerd escapism ever created. I mean it is just light years removed from actual activity on so many levels.
posted by shmegegge at 3:08 PM on August 28, 2008

No. Talking about it on a website is.
posted by majick at 3:58 PM on August 28, 2008 [1 favorite]

This sucks. Somebody call me when they make a version that runs on SSX '05.
posted by infinitywaltz at 10:17 PM on August 28, 2008

« Older Will the Dalai Lama reincarnate?   |   We Could Be Heroes... Newer »

This thread has been archived and is closed to new comments