« first day (2140 days earlier)      last day (2695 days later) » 

12:00 AM
@Zizouz212 it's similar to the US midwest accent
 
Hold up!
 
which is why I was surprised I heard it in Gananoque
 
Indian people are fully aware of what their accent sounds like
 
wut
 
@Zacharee1 Gananoque? That's Kingston area right?
 
12:01 AM
uhh
 
I've been to Kingston a few times, never heard anything there
 
I think it's about 3 hrs out of Toronto
it's about 5 miles North of NY
 
Sounds like Kingston
 
It's the Thousand Islands city?
 
That's Kingston
 
12:02 AM
ah
is Kingston a town or county?
 
City
 
Gananoque is right to the east of Kingston
 
I guess I'll watch it then
 
Yeah, Gananoque is basically one of those spread out rural town/community places
 
12:04 AM
Oh god, it's great X'D
 
are there complete CFGs of the english language available? I don't care if they're ambiguous
 
What's a CFG?
@Zacharee1 It's at the Canadian accent part... xD
 
config, maybe?
oh wait natural language nevermind
 
@Zizouz212 A language grammar, in regular form - they are used for computer languages too
 
Ah... never heard of it :/
 
12:09 AM
In computer science, extended Backus–Naur form (EBNF) is a family of metasyntax notations, any of which can be used to express a context-free grammar. EBNF is used to make a formal description of a formal language which can be a computer programming language. They are extensions of the basic Backus–Naur form (BNF) metasyntax notation. The earliest EBNF was originally developed by Niklaus Wirth incorporating some of the concepts (with a different syntax and notation) from Wirth syntax notation. However, many variants of EBNF are in use. The International Organization for Standardization has adopted...
digit excluding zero = "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
digit                = "0" | digit excluding zero ;
 
@noɥʇʎPʎzɐɹC If they exist, they'd be terrible. You'll probably want to look for some form of probabilistic grammar.
 
Noun → flight | breeze | trip | morning | …
Verb → is | prefer | like | need | want | fly …
Adjective → cheapest | non-stop | first | latest | other | direct | …
Pronoun → me | I | you | it | …
Proper-Noun → Alaska | Baltimore | Los Angeles | Chicago | United | American | …
Determiner → the | a | an | this | these | that | …
Preposition → from | to | on | near | …
Conjunction → and | or | but | …
@quartata PCFGs are still CFGs
S → NP VP I + want a morning flight
NP → Pronoun I
 | Proper-Noun Los Angeles
 | Det Nominal a + flight
Nominal → Noun Nominal morning + flight
 | Noun flights
VP → Verb do
 | Verb NP want + a flight
 | Verb NP PP leave + Boston + in the morning
 | Verb PP leaving + on Thursday
PP → Preposition NP from + Los Angeles
 
@noɥʇʎPʎzɐɹC They're not really what you asked for
But it isn't the best way to parse it anyways
 
How, then?
 
Depends on what you're trying to do exactly.
 
12:16 AM
...*cough* AI *cough*/ English REPL....
Extract data from wikidata using english
 
So some form of partial parsing? (still not sure exactly what you're trying to do to be honest)
 
This question has issues that need reviewing: codegolf.stackexchange.com/q/102471/42643. The only answer is also invalid.
 
@quartata "How tall is the tallest mountain?" -> {query: 'tallest mountain'} -> {result: 'object ID 43278', attrs: {...}} -> "How tall is Mt. Everest?" -> 43278.attrs.height
Is there a good crash course on easy/quick-to-use (& beauty if possible) UI design?
e.g. a blog post with the essentials
 
@noɥʇʎPʎzɐɹC So you're asking for full syntactic and semantic parsing? :P
I think you're better off using a library to interface with WolframAlpha or something.
 
@quartata Because it would be better than my current model.
nltk, baby
 
12:23 AM
@noɥʇʎPʎzɐɹC Of course, it would be better than anyone's model right now.
Not saying that it isn't possible per se but it's pretty hard stuff.
 
lol
 
@quartata I've gotten my hands dirty...
What are the best HTML & JS docs, as reference?
 
12:41 AM
@noɥʇʎPʎzɐɹC even if I did have the NLP expertise to show you how to do this I couldn't do it in a couple of chat messages or links to papers. This is the kind of stuff Wolfram and Google have spent years and years trying to achieve
Good semantic parsing is the ultimate goal of NLP and it's hard
Now I really don't know what kind of scope you're looking for but you might want to consider some kind of partial/shallow parsing (i.e fishing for keywords). That might be sufficient for your purposes -- just tag the parts of speech and then look for noun groups and stuff
Brill's tagger uses rules; you can also do part of speech tagging with ML (although if you're using NLTK you won't have to roll this yourself)
 
Hmmm...
 
1:48 AM
Huh. The youtube rewind video is out.
 
It's not good. 2013 is still the best.
 
I don't remember that one. I only started watching them in 2015
which was better than this one
I did appreciate the Dwayne Johnson opening though, lol
 
XD teacher posted answer sheet instead of normal homework
 
Anonymous
@mınxomaτ Wasn't 2013 "Rewind Youtube Style"?
 
0
A: Sandbox for Proposed Challenges

JayDeppOrdinal Representation A trick in code golfing, especially when digit usage in a source is restricted, is to use the ordinal values of characters to reach numbers. Instead of finding a representation for a single number, you will be finding an algorithm to represent any number in terms of ordina...

 
2:05 AM
I found it to be an interesting video. Still not sure if I agree with it
In essence, his point is that encapsulation doesn't handle crosscutting concerns very well, either requiring major refactoring or breaking encapsulation
He did make a rather good point that we put all functionality into classes even if there is no state in that functionality, and that that functionality should be a function, not a class + method
 
Anonymous
@DJMcMayhem I just watched it. The only pop culture stuff in that video that I recognized was Slow Mo Guys, Hank Green, that one British comedian, and Tape Face.
 
Anonymous
I don't know if pop culture is getting dumber or if I'm just getting old.
 
how to upload pictures to chat from mobile
 
@ConorO'Brien no, I would probably say something along the lines of «lo ka jetnu»
 
@GabrielBenamy imgur
 
2:12 AM
@DJMcMayhem how to upload pictures to chat from mobile while maintaining any scrap of dignity i have left
 
Anonymous
Also Youtube showed its political leanings pretty hard in that video
 
Anonymous
@Mego Oh and Dwayne Johnson, duh
 
@Mego yeah, I felt like a lot of it went over my head too. I caught more than that, but I felt the same way
I mostly just recognized a bunch of the YouTubers
 
@GabrielBenamy Request the desktop version.
 
Matpat, PewDiePie, Rhett and link, jacksepticeye, and studio C
 
2:14 AM
who wants to help me design a programming language with this as its mascot
 
Oh and Markiplier I guess
 
Anonymous
Youtube Rewind 2012 had "Obama" (some youtuber dressed up as Obama) in it. Youtube Rewind 2016 had no sign of Trump.
 
Doesn't surprise me at all
 
Anonymous
Imagine that. Youtube/Google/Alphabet lean left.
 
Anonymous
It took me until now to realize that the sprinting bit in the rewind was because of the Olympics
 
Anonymous
2:17 AM
@DJMcMayhem I know that those are people, but I couldn't pick them out of a lineup
 
@Mego No reason it can't be both, ya know.
 
Anonymous
@Geobits I'm only 22 though :P
 
Anonymous
I'm not old enough to be a grumpy old man
 
@Mego What did you think was political about it? I noticed they didn't have Trump in it, but the rest didn't strike me as very political
 
Anonymous
But damn was that video stupid
 
2:19 AM
Sure you can. I know some positively grumpy 20 year olds. And then there's me ;)
 
Anonymous
@DJMcMayhem They set a precedent in 2012 that they didn't follow through with in 2016.
 
Anonymous
I'll bet you real money that the next Democrat president will appear in the Youtube Rewind for that election year (assuming Youtube doesn't grow some sense and stop making them by then).
 
a sample of one does not make a pattern
 
Anonymous
And that no Republican presidents appear in the interim.
 
@Doorknob so there is no single word translation?
 
2:20 AM
"i'm thinking of a sequence. the first number in the sequence is 1. what is the rest of the sequence?"
 
@GabrielBenamy 1
 
Anonymous
@ConorO'Brien 2
 
@ConorO'Brien Well, there can't be in any case, since if you want a "noun" you need a «lo».
 
@Doorknob oh, cool. I don't know much lojban, I just thought it would be neat to use it in that multi-lingual challenge
 
2:23 AM
@Mego Huh. I don't know why but I thought you were way older than that.
:P
 
Anonymous
@ΛεγίωνΜάμμαλϠΟΗʹ Do you not know what The Onion is?
 
@Mego Joke site, I presume?
 
Anonymous
@DJMcMayhem Probably because I'm grumpy.
 
Anonymous
@ΛεγίωνΜάμμαλϠΟΗʹ The Onion is one of the longest-running, most-well-known satirical news outlets.
 
2:24 AM
Wait, in the 2012 one, are you talking about Alphacat? It's not a big surprise he was in it, since he was big in 2012 and was famous for portraying Obama. I don't know of any similar Trump-youtubers this year.
 
This site is really nice for finding movies to watch; omive.com
 
Anonymous
@Geobits Just look for anyone with a bad combover.
 
Heh
 
Anonymous
I'm fairly certain that tons of people have masqueraded as Trump on Youtube this year
 
Possibly, but I don't remember seeing it at all. I remember seeing Alphacat go viral.
 
Anonymous
@DJMcMayhem You ninja'd me
 
Meh. ERB has been around too long to be fresh this year :P
 
I like ERB a lot, but that one was dissapointing
Obama v Romney was much better
 
They did a one-off video of him. It's not like Alphacat's Obama thing.
My point is that he was a big YTer that year, so they put him in. So what else was he going to do except the thing that people would recognize him for?
 
Anonymous
2:31 AM
@Geobits Pewdiepie has been in every Youtube Rewind since the beginning. That argument doesn't hold.
 
Well of course he has. He's got 50 million subscribers
 
Anonymous
@DJMcMayhem It helps when you get them for free because new accounts are auto-subbed
 
ERB only wishes they were Pewdiepie lol
 
@Mego Wait really? I never heard about that
 
To be fair, tonight is the first I've seen any of the rewinds. I could have done without it.
 
Anonymous
2:34 AM
@Geobits 2012 was pretty good. 2013 was by far the best.
 
sigh Fine... I'll watch the 2013 one now :/
 
Anonymous
@DJMcMayhem They don't do it anymore, but for a long time Youtube had all new accounts automatically subscribed to the "default subscriptions" list, which included Pewdiepie
 
why would there ever be a default sub list ಠ_ಠ
 
@Geobits -1 too much goat
 
Anonymous
@ConorO'Brien Because Youtube wants their biggest cash cows to rake in more money
 
2:40 AM
right
 
@Geobits Don't let him hear you. :P
 
Oh, he knows
 
Anonymous
@DJMcMayhem He doesn't recognize the word when it is spelled correctly
 
I haven't actually hit 20k yet, but it's cool to see it rounded up. :)
 
\o/
is anyone else having problems with the nexus
 
3:14 AM
@GabrielBenamy All images on SE are hosted by imgur by default.
 
0
A: Sandbox for Proposed Challenges

DJMcMayhemThe evolution of integers code-challenge game-of-life restricted-source source-layout The game of life (GOL) is a famous cellular automaton where cells turn on and off depending on how many neighbors they have. For a quick overview, the rules are: Every cell is either alive or dead. Each ...

 
@ConorO'Brien I'm gonna learn J right now. I might end up bugging you when I get stuck though. :P
 
1
Q: What exactly is "on the stack"

Socratic PhoenixSo, there's a community concesus that functions from stack based languages can leave their output on the stack. This question is about an edge case for that. Suppose the correct result is some value x. Also suppose that that you are working with a stack based language that has an unlimited well o...

 
3:44 AM
@Mego I'm writing up a meta post and I'll be quoting this answer of yours. Just to make sure I understood it right: Does optional restrictions refer to bonuses or something else?
@DJMcMayhem PewDiePie rings a bell (thanks, South Park), but I have no clue who the others are.
 
do they have spanish/portuguese south park in paraguay?
 
Spanish? Probably. Portuguese? Why would they have that?
 
@Dennis don't worry, you're not missing much. :P
I really like matpat though (the game theorists)
 
Anonymous
@Dennis Bonuses, as well as stuff like choosing to write a full program even though a function would be more optimal. Basically anything that decreases the score but wouldn't make it not a serious contender.
 
Anonymous
Or like in code golf, using an approach that is slightly longer but is actually testable because it doesn't take a few lifetimes of the universe to finish
 
3:50 AM
Or not using a lambda in Java? :P
 
Anonymous
@Geobits Or that, though that's more language choice (Java 7 vs Java 8)
 
@Mego Yeah. That's covered by algorithm though.
 
@Mego Not really. I write my golf in a Java 8 environment. I only label them Java 7 to stop the "you could lambda this and save a few bytes" comments that inevitably appear.
 
Anonymous
@Dennis True. I kinda combine those two in my head.
 
Anonymous
@Geobits I really don't get why you Java people hate lambdas so much :P
 
3:51 AM
@Geobits why don't you preemptively lambda them then?
 
Because Java does them stupidly.
 
@Geobits The other way to stop those comments would be to use lambas. >_>
 
Anonymous
If you're going to hate something about Java, hate the entire language like the rest of us.
 
Seriously?
 
Anonymous
grumbles incoherently
 
3:56 AM
The way we score Java lambdas makes them completely untestable without further explanation, since it leaves out the typing in a language that definitely needs to know types.
 
For example, a recent golf is b->b.equals("google")?1/0:b.length();
Unless you know (and import) that it's a java.util.function.Function<String, Integer>, you can't run it. But that doesn't get counted at all for some weird reason.
 
Anonymous
Duck typing :D
 
Except it's not really duck typing at all. You have to assign it that way.
 
@DJMcMayhem I'm ideally asleep right now but I'll be up for a while
 
Anonymous
4:00 AM
@Geobits You could assign it to any Function<?, Integer> where the first type has .equals(String) and .length().
 
Anonymous
I wish Python's lambda syntax wasn't so verbose. lambda b:b=="google"and1/0or b.length() is way too long.
 
@Mego Not that it would work correctly if you did that >_>
 
Anonymous
@Geobits It could, given the right type
 
are there any perfect languages? >-<
 
Could is not what I was looking for.
And even then you still have to import Function for it to work at all, which we don't count, despite counting imports in any other situation.
 
4:04 AM
@Geobits hm, okay
 
@Geobits I've seen C++ submissions not counting "standard imports" like #include <iostream> when defining a function
unless I just misunderstand
 
Anonymous
@ConorO'Brien That's usually because the stuff defined in <iostream> isn't needed in the function
 
so I just misunderstood then
 
Anonymous
@Geobits This is what I had in mind :P
 
lol yeah I'd figured that. Anything with length() should do, since equals() should be inherited and it'll just do an object comparison. Still :P
 
4:22 AM
@ConorO'Brien yes, cheddar :D
 
oh of course
 
@ConorO'Brien IIRC GCC will implicity add it, but throw warning
 
You do realize you can flag comments right? :P
 
but there's nothing wrong with them?
 
4:30 AM
you can do custom flag
 
They're obsolete
 
oh
TIL
 
Doesn't matter, they're gone now anyway
@ConorO'Brien What is modulus in J?
 
it's |, but the arguments are reversed
e.g. n % k is k | n
"residue"
 
:'( very sad moment when you don't back up USB drive and it get stolen
 
4:31 AM
OK
I'll let you know when I figure out my first answer. :)
 
:D
btw after learning you some J for great terseness you should really check out jext
 
I'm so far away from that right now
Right now I'm tripping over things like "How do I cast an int to a string?"
 
@ConorO'Brien OK, so if i. is "index of" then why the heck does this happen:
   s =: 'hello world!'
   s i. 1
12
Oh wait, nvmd.
Ignore me entirely
I'm backwards
 
so if an entity is not found, it gives #s as a return
 
4:37 AM
Yeah, I read "N'th element" not "Index of"
 
Anonymous
@Downgoat GCC warns in C if you don't #include <stdlib.h> or #include <stdio.h> (and probably some others), but it gets linked in anyway. C++ is much different due to name mangling.
 
ah. to get Nth element it's just N { s
 
@Mego name mangling? Is C++ compiled to C and then to object files?
ah ok, it has to do with function overloading
 
Anonymous
@Downgoat No, C++ is compiled to object files. Yeah, it's because of overloading. Assembly doesn't like multiple function definitions.
 
Would "Visualize the digits of a number the way this challenge does" be a good challenge?
 
4:42 AM
btw question: if JIT engines compile directly to machine code, how do they deal with OS differences? I mean AFAIK your generated code would vary significantly between OSes
 
For example, "31415926" would give:
     9


       6
    5
  4
3
      2
 1 1
 
I need halp with AJAX calls
How do I call a node.js function through a button click?
The SO answers are confusing me
 
@DJMcMayhem shouldn't there be two newline between 9 and 6 or am i missing something?
 
Anonymous
@Downgoat The same way AOT compilers deal with platform differences
 
how is that?
v8 internals is astonishingly sparsely documented
 
Anonymous
4:44 AM
You get the source code, you analyze it, and you use configuration settings for common platforms to figure out how to compile it
 
@Downgoat I don't know what you're talking about. >.<
 
CMC: given N, output a V in any orientation representing the steps of N. E.g., for input 3:
3 0 0 0 3
0 2 0 2 0
0 0 1 0 0
 
Argh its so frustrating I don't understand AJAX
 
@ConorO'Brien Can the '0's be spaces?
 
@DJMcMayhem yes
and there do not have to be inbetween spaces
 
Anonymous
4:45 AM
Typically, in C/C++ programs, you have two steps in compilation: the configuration script, and the Makefile
 
so long as e.g. 32123 is visible in that shape ish
 
so in a JIT engine, would compiling to LLVM as an intermediate be practical to handle platform-differences
 
:( No one can halp
 
Anonymous
./configure creates the Makefile from a template, using your platform's configuration details, then make actually runs the Makefile to build the software
 
Anonymous
@Downgoat That's one way, yes
 
4:47 AM
@Qwerp-Derp I don't know your problem
 
@Qwerp-Derp from the browser?
Well I assume node.js is running on your server
 
I'm not sure what "typically" means in this context
 
Anonymous
Passing the problem off to some other tool is always a great solution :D
 
@Downgoat Yup
 
so you need to descide on how they will interact
will you use REST interface?
 
4:48 AM
What is REST
I am extreme newb
 
@DJMcMayhem I'm retiring to bed rn. I'll check any questions you might have in the morning (about 6, 7 hours from now)
 
REST, put simply, is basically website.com/api123?param1=value and when you do this. the nodejs script for api123 will run with arguments param1 and value
 
Anonymous
Some configuration-specific stuff is stored in code files in the compiler's configuration directory. Some other stuff is library-specific, so the compiler just has to trust that the library knows what it's doing. And some other other stuff is specified via command line options.
 
Huh
So is that a good idea?
 
Anonymous
@Downgoat Isn't that just a basic GET request?
 
Anonymous
4:49 AM
Oh right, GET is a type of RESTful request
 
Anonymous
It's been a long time since my web dev course :P
 
I want to light up an LED in Arduino through a browser-side button click
Do you just want me to put all of the code here?
 
@Qwerp-Derp okay forget REST what i mean is "HTTP"
I apparently forgot all my vocab
@Qwerp-Derp so what are you using on your backend for webserver?
 
@Downgoat Node.js
 
no I mean HTTP library for node.js
(e.g. express)
 
4:52 AM
express
Yup
So I have a function derp in Node.js
And I have a button which runs the function asdf in browser js
How do I wire the asdf to derp so that the function derp will run?
 
ok, so now you are going to want to add to express something along the lines of app.get('/api/doThing', function(req,res) { /* code */ })
(in express)
to test just do res.send("Testing") and check if you see the text when navigating to your endpoint
 
@ConorO'Brien Well, it's terribly golfed, but V, 24 bytes
 
if it is, then just in that callback call your function to turn on LED or whatever
 
So how do I wire Ajax to that
 
lookup "XMLHttpRequest" essentially just do a GET request to /api/doThing and you're good
 
4:55 AM
Ah
 
Easier option would be to do React + Webpack + Express and then you can integrate things tighter but then things get much more complicated
 
Shouldn't I POST info to the node.js thing?
 
not for your case, that's not necessary (and might break things)
if you're submitting data (e.g. making something like TIO) then use POST that way it will be handled correctly by browser and all
If you're also making your website on the www, then yeah, use POST to avoid bots triggering your endpoint
 
Doesn't work, for some reason
 
Anonymous
5:18 AM
"on the www"
 
Anonymous
The 90s called, they want their terminology back. They also want you to get off of the www so that they can call someone.
 
> Thats all folks!
For the real deal open clickclickclick.click on a desktop computer.
Bleh
 
 
1 hour later…
6:29 AM
Yay I hit the rep cap yesterday because people were voting my trivial answer (the 3rd one in the answer chaining challenge).
 
Anonymous
Am I an idiot, or is there something wrong with J on TIO? tio.run/nexus/j#@2@soKJg@P8/AA
 
You need a full program, not a REPL snippet. tio.run/nexus/j#@5@anJGvYKygomD4/z8A
 
Anonymous
Oh
 
Anonymous
I'm new to J :P
 
Alternatively, you can just put the code in Input to replicate REPL behavior. tio.run/nexus/j#@///v7GCioIhAA
 
 
1 hour later…
7:41 AM
0
Q: Can serious contenders do more than the challenge asks for?

DennisAs our help center likes to put it: All solutions to challenges should: Correctly implement the required specification. Be a serious contender for the winning criteria in use. For example, an entry to a code golf contest needs to be golfed, and an entry to a speed contest should mak...

 
Anonymous
@MartinEnder Yeah I gave up on doing "proper" input via STDIN
 
Anonymous
I haven't the slightest clue how to make arguments work
 
Anonymous
This doesn't work, and neither does this
 
wow
Flobnar seems like a forgotten lang even though it is pretty cool
Introspection seems to be the only method of turing complete computation for example
 
7:54 AM
@Mego Your meta answer doesn't address infinite stacks at all. I'd write up my own answer but it would be virtually identical to yours except for the part: I'd say that iff your function finds that the stack below the input is only the implicit infinite part and the output coincides with the implicit value, then you may return with an "empty" stack.
If you disagree, feel free to address that differently and I'll post a separate answer later.
 
Anonymous
@MartinEnder I'm not sure how it doesn't (with the latest edit). You are only allowed to manipulate the stack down to the last input element, and the input should be entirely replaced with the output.
 
also doesn't brainflak have it's top of stack truthy regardless of rest of stack for truthy, for example
 
@Mego with infinite stack bottoms this can be completely indistinguishable from deleting the input though (provided that the language can't check the explicit stack depth I guess).
 
must answer a question with flobnar...
 
@DestructibleWatermelon link?
 
Anonymous
@MartinEnder With a stack that has an infinite amount of identical elements below the input, any number of those infinite elements could be deleted, since the final stack minus the output would be indistinguishable from the initial stack minus the input.
 
0
A: Sandbox for Proposed Challenges

MegoOutput the 16-color CGA palette code-golf kolmogorov-complexity The 16-color CGA palette (also known as the HTML colors) is a set of 16 colors used by early graphics adapters. The goal of this challenge is to output all 16 of them, in hex format (RRGGBB), in ascending order by hex value, separat...

 
@Mego yes, that's what I meant to say (unless there's a stack depth command, or another way to distinguish implicit from explicit default values)
 
Anonymous
@MartinEnder I've clarified that in my answer. Is it better now?
 
@Mego there are 2 808080s in your sandbox post
 
8:09 AM
I played too much Risk today
 
^^one should be C0C0C0 (I think)
 
When I saw SMBF (self-modifying BF) I thought about Saturday Morning Breakfast Cereal for some reason
 
Same
 
Anonymous
@Sherlock9 For some reason I can't keep you and Nathan straight in my head. It leads to a lot of confusion, because I tend to disagree with Nathan frequently, but not with you.
 
0
Q: Dutch Burgerservicenummer (BSN) eleven-test

Kevin CruijssenIntroduction: A Dutch BSN (Burgerservicenummer) is valid when it complies to the following rules: It only contains digits. The length should be either 8 or 9 in length. When the digits are indexed as A through I, the result of the following sum: 9xA + 8xB + 7xC + 6xD + 5xE + 4xF + 3xG + 2xH + ...

 
8:23 AM
@DestructibleWatermelon what a lovely language :). Reminds me a bit of Jellyfish. I do think the call stack might be sufficient for Turing-completeness though.
 
8:34 AM
Hmmm... what about a game where it's a mix of trading and Risk?
So you have to amass armies
But you can build defenses and borders and stuff using resources
And certain places only have certain resources
And you roll dice to see if you can conquer other people, just like in Risk
Walls and stuff have special powers
Ooh and there are "sets" which when collected, give a bonus to certain stuff
You can also upgrade resources and stuff
Once you conquer other people by taking their HQ, you essentially take all of their stuff
Whoever's the last one standing wins
And every trade is between two cities, you roll a die to see if trade occurs
And you're allowed to trade with other players for resources
As well as neutral grounds
 

« first day (2140 days earlier)      last day (2695 days later) »