Show HN: War on Ether
waronether.com
waronether.com
I read the text and I have no idea of what to do. Tried to click around, nothing. Tried to click on the example link and got a Firefox download dialog
You have chosen to open:
waronether_player_example.sol
which is: BIN file (1.8 KB)
etc
Going back to step 1:> First, create a bot contract having an "execute" function which the game contract will run each round:
How to do it?
Ether is a pretty generic term and I was setting up some IP addresses when I checked that site. I was primed for a different context :-)
I mean, expecting prerequisite knowledge is one thing. Expecting your audience to be telepathic is another.
Or I could be totally wrong. I don't really know etherium that well.
9.4.3. Jump Destination Validity. We previously used D as the function to determine the set of valid jump destinations given the code that is being run. We define this as any position in the code occupied by a JUMPDEST instruction. All such positions must be on valid instruction boundaries, rather than sitting in the data portion of PUSH operations and must appear within the explicitly defined portion of the code (rather than in the implicitly defined STOP operations that trail it).
I didn't consider implementing another spec though. Theoretically, should be possible, but I'll have to think about it some more!
-Writing a Redcode assembler
-A contiguous address space of up to 8000 units, with circular memory (i.e all addresses are computed mod the size of the address space.), and a segregated, program-specfic address space (typically 1/16 the size of the full address space), if you're implementing ICWS '94
-Writing an actual Redcode VM, with support for all 16 (7168, actually, counting the different addressing modes) instructions, and process queues for each program.
Notably, all instructions take up one slot in RAM, and take one cycle to execute, after which control is passed to the program which has executed least recently, specifically the process in the program's process queue that has run least recently.
Finally, all assembled programs must be inserted into ram, and the emulator is started.
See, not hard at all!
No, seriously.
If you're interested, the ICWS '94 draft (ICWS died before it was ratified, but it remains the most popular dialect available today) is available at http://corewar.co.uk/standards/icws94.htm. A. K. Dewdney's orginal articles in Scientific American describe the origins of the language, as well as the oldest dialect of Redcode, if you're interested in implementing that, as wellas describing the basics of how to play. They're also just cool reads. They can be found at http://www.koth.org/info/akdewdney/. Dewdney's Corewars guidelines, from '84, are also of interest http://corewar.co.uk/standards/cwg.txt. The Corewar wikipedia article is also informative.
Finally, http://corewar.co.uk, and http://koth.org have links to a wide variety of resources about the game.
Why would anyone pay $11 to play something so poorly documented with almost no fun factor?
- it's ok as it establishes Ether as a real "currency" that is being used to pay for stuff
- greed is considered okay
- the presence of intermediate tokens like casino chips or video game currency makes it easier to spend money (unless you deliberately rephrase it as something like "$11")
In the "ethereum world" most of the community doesn't actually care too much about the currency aspect, it's the least interesting aspect of what you can do with Ethereum.
I'm also considering running an instance myself on the live network with different parameters (larger board, different fee).
How is this different than hosting your own game server without a blockchain?
It wasn't so long ago that subscription gaming like World of Warcraft was a non-starter, or mobile micro-transaction gaming was a non-starter, but then both those concepts went on to dominate. There are many possible futures in which blockchain gaming could become viable. It's still early days for the tech. Much is in flux. None of us can be sure how it's going to play out.
That can never happen. Not unless the miners are willing to lose their asses off. Bandwidth, storage, CPU etc are not free, and blockchain tech is extraordinarily gluttonous for all of those things relative to transaction volume.
Can you explain the map?
The registration fee is 1 ETH ($11 currently)?
What does claimTile() do exactly?
The map shows the current state of the game board - one color for each player for his owned tiles. The tiles with * are "life tiles" - you receive them when the game starts and they grant you a greater bonus, so there's an incentive to destory the enemy's life tiles first.
As each participant in the network sees the entire blockchain, the players can see the "compiled code", essentially the EVM opcodes, but only after all the players already committed to the hash of their code and new players can't commit anymore. This is a "commit-reveal" method that allows the game creator to accept registrations for a specific bot without actually revealing the player's code beforehand.
The registration fee is indeed 1 ETH at the moment, but that's a placeholder. The winner gets almost all the pool of registration fees (winning a game with 5 players = 4.5 ETH).
claimTile is the API exposed to the bot contracts - it's a way for them to change the board state to signify they own the tile. Of course, as every operation, it costs some gas. So you can have a strategy of claiming as many as possible by using only claimTile, but you could also seek enemy tiles and claim them. It's a trade-off of gas.
If you run claimTile() on an enemy tile that is alive, it dies?
Calling move() will try to move a cell that is alive - can i only move the "alive" part of the cell into a cell that I claimed first using claimTile()?
The game ends after 10 rounds - the number of actions per round is only limited by available gas?
You are running the game on a test chain right now so there is no real ethereum (=money) involved yet?
- It becomes your tile.
- You can move only "life tiles", those with an asteriks, the 5 you have been allocated.
- Limited by the gas you have been allocated at this round. Careful, though, if you exceed the amount of gas allocated, your actions are reverted. 10 rounds is more of an example. An actual game would have more I believe.
- Test chain indeed. No money involved.
I will make that more clear on the site, but meanwhile: You start with 5 life tiles which grant you a larger gas bonus. Then, as the bot, you have an API to claim a tile, move your position (your life tiles) and to see the board state. You have to utilize the gas you are allocated smartly in order to eventually control more tiles than your enemies.
(At first I thought "gas" was just an in-game resource. Didn't realize it was literally Ethereum gas.)
[0]http://www.legalsportsreport.com/9022/fantasy-sports-or-gamb...