Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Programming IT Technology

Write Your Own Freenet-based Game 55

lhdentra writes "Linux Journal is carrying an article by Brandon Wiley of the Everything Over Freenet project explaining how you can create your very own turn-based game, running over Freenet. He claims it's faster than playing chess by post."
This discussion has been archived. No new comments can be posted.

Write Your Own Freenet-based Game

Comments Filter:
  • Believe me when I tell you that Brandon gets laid plenty.

    Don Negro

  • Sesssion 14 (Bohemian Rhapsody) had used this, the crew of the Bebop would have never been able to find him.

    http://www.genkiland.net/CowboyBebop/Sessions/sess ion14.txt [genkiland.net]

    Besides that, I really can't think of a practical use for this, besides reworking FreeNet's topology and such. In any case, it's interesting.

  • Freenet supports pseudonymous interaction, and for many EOF (Everything Over Freenet) projects like IRC, gaming, etc., pseudonymous interaction will be required for reliable functionality. Of course, if you want to play anonymously and can find suckers to take you up on it, more power to ya.

    Now really, the EOF project is cool, as it gets more and more diverse developers to come play in the freenet world. Some applications will be just silly, but some will provide useful functions where freenet's caching, security, anonymity, or pseudonymity (or a combination of the above) can add some really cool features.

    Freenet has some webpages published within it (images and everything are distributed around the freenet network) already, and I believe there's a webcam project as well.
  • Fwah.
    Turn-based pen-and-paper RPGs are as fun as they've always been.
    And have the advantage that you see your friends in real life, and can throw popcorn at the DM when you encounter a beholder. :)
  • I think this is a very clever design, and nicely illustrates how to use Freenet's signed-subspace keys to avoid interference from a third party. I do believe, however, that it suffers from a couple problems inherent in the design of Freenet--- although only the first looks like a showstopper to me.

    • Massive contention on game starts. If you restrict yourself to using just Freenet, the only way to find a game is to start searching "today's" namespace. This is a very expensive operation on Freenet; in addition, the amount of time needed to start a game will grow linearly with the number of people interested in playing it.

    Perhaps a better algorithm for searching could help (for example, finding the "next" number on game creation by doing a search for 1, 2, 4, 8, etc., and then searching in the partially-used interval you find.) But--- I don't see any way of making it faster to find games that have been created but not replied to. Random search doesn't seem promising either unless many more games are created than actually get played--- which may well be feasible.

    I don't fully understand the mechanisms by which Freenet prevents duplicate keys, but I believe it is vulnerable to network partitioning (or just insufficient TTLs). In any case, heavy contention on a small portion of the namespace could quickly bring to light any flaws in the protocol or implementation. :)

    A natural idea is to have an indexing service which keeps track of which games have been started but not replied to yet. But once you introduce such a mechanism, you might as well use that instead for game setup.

    • Dependence on perfect storage. The moves of a particular game will be scattered among a large collection of servers and duplicated. But the protocol as given can't handle the loss of _any_ records. There are some easy fixes, but this is almost a textbook example of the end-to-end principle: Freenet cannot (and does not) guarantee reliability, so the end-nodes need some mechanism for recovering from lost moves. The client can periodically check to see if the last move it made is still available, but this does allow for a subtle form of "cheating".

    Games may also appear in retrospect to contain illegal moves if a move is lost by the system and and replaced--- but this is not a big problem, since the "cheating" can only be done by the player who would stand accused.

    (I realize that the article was only meant as a sketch--- and that the author admits Freenet isn't reliable--- but the protocol can and should address how to handle the unreliability.)

    • Congestion control. Since Freenet includes no notification mechanisms (nor am I suggesting it should), clients must constantly check for keys they desire. This can naturally be tuned to provide some good compromise between response time and local resource usage. However, there is little way for a client to be notified that it is using too many resources elsewhere in the network. Freenet, just like the Internet, can suffer congestion collapse. (Rate-limiting implies dropping requests. Queueing only delays the time until you have to drop.)
    Don't get me wrong--- I like Freenet; it has some very cool technical ideas. However, I think the claims of its usefulness (such as "uncensorable") are overstated. In particular, it's only effective against law-abiding censors, not totalitarian ones, who will cheerfully make running a Freenet node a punishable offense. Further, Freenet only changes the problem from "finding a copy of the forbidden content I want" to "finding the key for the forbidden content I want". (A smaller piece of information, certainly, but still one that has to be distributed outside of Freenet and is thus subject to interception and censorship.) Indexing is, in my opinion, a feature that any successful content-distribution system has to address.
  • I started up a Quake3 Arena by post server.
  • My move is B5 to C5...

    Ehh.. I don't even know the terms.


  • I didn't say that there wasn't any content, just that all the content is built on top of a model where the only two actions are putting something in, and taking it out again (I mean requesting, not removing). The same thing goes for all of the various more advanced protocols. Also that we are loosing a lot data from the network at the moment, which is true, but I am hopeful that I will be able to improve that by the end of the summer.

    && oskar
  • by Hobbex ( 41473 ) on Thursday June 21, 2001 @11:40AM (#135020)
    What Freenet provides in this model is simply a balloon and honeypot ("So it does!" said Pooh. "It goes in!" "So it does!" said Piglet. "And it comes out!" [machaon.ru]) which I think most people are aware is all that Freenet is at the moment (and unfortunately it currently seems to have a rather big hole in the bottom of the honey put to boot).

    Brandon's creative ways of adding any service on top of this limited base are fun, but they aren't really specific to Freenet as equivalent protocols would work over any system that provides a secure way to put things in and take things out. In fact, it is pretty easy to see how TCP could be implemented over any such system be enumerating each packets name (it would be faster than rfc1149 anyways...)

    && oskar sandberg
  • by Flounder ( 42112 )
    What about Solitaire by post? Or Marbles by post? or, my personnal favorite, Twister Online!
  • by interiot ( 50685 ) on Thursday June 21, 2001 @11:25AM (#135022) Homepage
    From the freenet chat description [sourceforge.net]:
    • In case you're wondering, yes, we know that chatting over Freenet is a fairly insane idea due to the lag. We're going to do it anyway because we are in fact insane.

  • I hope they make games like Quake for Freenet .. and I thought the lag was bad over 56k ;)

    microsoft, it's what's for dinner

  • Black Nova Traders [blacknova.net] is a take off on the old BBS game of Tradewares.
    Turn based definetly slows the pace down, but it allows many people (100's) to play in the same game.
    Its not quake, netrek, or even nethack, but it has its place.

  • If you put Freenet in the same speed category as erosion and tectonic shifts, then, yes, I think you've got it...
  • Technology is driven by two factors:

    1. Its ability to enable sex.
    2. Its ability to enable game playing.

    So the ultimate way to develop technology is to find ways to apply it to sex based games!

    (Making InterSextions (basically a sex based Monopoly game) one of the most important programs of the 20th Century)


  • I just like to add that Freenet features anonymity, but you can choose to create new virtual identities only you have the key to. In effect, anonymity prevails. Noone can link the key or "nym" to your computer or your personal name.

    The good points of a distributed system like this is: 1) no sentral server 2) no snooping parties or middle-man attacks 3) anonymity, you don't have to worry about getting cracked, DOSed or pinged to death. The bad news is 1) high latency 2) more complex and unreliable 3) need for a trust-model.

    As a final point, if every inventor on earth listened to negative talk like this, we'd still be smashing rocks together.

    - Steeltoe
  • by GodHead ( 101109 ) on Thursday June 21, 2001 @10:14AM (#135028) Homepage
    Found [1,103,038] hits for chess.
    Displaying 1 - 5
    1. Chess_Christina_Ass_Chess_Porn_Britney_MP3_Wares_g ames
    2. Christina_Ass_Porn_Chess_Britney_MP3_Wares_games
    3. Christina_Chess_Ass_Porn_Britney_MP3_Wares_games
    4. Christina_Ass_Porn_Britney_Chess_MP3_Wares_games
    5. Christina_Ass_Porn_Britney_MP3_Wares_games_Chess_C hess

  • The article is available in Freenet as freenet:KSK@gaming.html [localhost]. Oh, yeah - that's another thing Freenet is good at ;-)
  • I was just thinking there is nothing stopping the client/server verifying inserts like GJ's BBS/chat system. I've tried it, it works. The more people (and by people I mean node operators) Freenet attracts, the faster and more reliable it becomes. I've certainly noticed an increase in reliability even over the time I've been running a node.
  • So what if people cheat? It's a game of reputation. If someone beats me hands down, I'm not going to play them again because it won't be any fun - regardless of whether they cheated or are just really good. Although the trust models are a bit different (you have to go by past experience and reliable sources) there is enough similarity with the real world for these things to work.

    This implementation may be just proof of concept, but the possibility is there for some really interesting interactive applications of Freenet.

  • Maybe I didn't come across very well saying that. I like a challenge, but if I was up against I don't think there'd be much scope for entertainment. YMMV.
  • The point is that Freenet allows you to create a virtual entity (or "nym" as they call it) totally untraceable to you, by using SVKs and such. For example, one of the visitors to a freesite might want to play the owner at chess. They both might want to play honestly, but without revealing each other's identity. Freenet seems to be becoming more and more like an anonymous, uncensorable WWW.
  • They also have a working apt-get [sourceforge.net] implementation, mail (configuration instructions [sourceforge.net]), news, chat and DNS. Most of it's still in CVS at the moment, but they are the basics of an entire anonymous communications system.

    Various other pieces of software have been developed, notably freeweb [sourceforge.net] and Snarfzilla [sourceforge.net], to help with freesite insertion and/or browsing for stuff. HTH

  • What Freenet provides in this model is simply a balloon and honeypot ("So it does!" said Pooh. "It goes in!" "So it does!" said Piglet. "And it comes out!" ) which I think most people are aware is all that Freenet is at the moment (and unfortunately it currently seems to have a rather big hole in the bottom of the honey put to boot).

    That doesn't sound like the Freenet I know. There is actual content floating around, and I don't just mean porn. Take Snarfoo [] and Content of EVIL [] for example, to name but two.

    You will have to be running fproxy for those links to work, btw.

  • by lhdentra ( 111259 ) <leo@lwh.jp> on Thursday June 21, 2001 @10:55AM (#135036) Homepage
    Since there is no centralised namespace, there isn't really anything to get corrupted. Plus, there is no permanence in Freenet, so the files only stay around for as long as they are requested (eg, the First In-Freenet International Chess Championship might hang around for a while, but a quick private game probably won't). Also a large amount of requests is very good for Freenet - more activity means more organisation and faster responses. Basically, a very good thing.
  • by lhdentra ( 111259 ) <leo@lwh.jp> on Thursday June 21, 2001 @11:00AM (#135037) Homepage
    Dear root,

    Go left.
    Aim up.
    Select rocket launcher.

    Until next week,

    Joe Fragger.
  • Same thing as the uber-silly TCP over email protocol. It *can* be done, it can be *shown* that it can be done, and somewhere out there is some bored guy/gal who will see the light and implement something useful.

    e.g.: When Microsoft put out their Active Accessibility API to make it easier for us to make Win32 applications that can be accessed by people with disabilities, I doubt any one of them thought some jackass (me) would use it to turn AOL's Instant Messenger into a magic hate ball (think magic 8 ball but this one answers your questions with rage & spite instead of vagueness). The easier way to do it of course would be to just create a quick plugin for TiK (tik.sourceforge.net), but nooooooooooooooo, not me. I see a cool new technology (shut up, AA API was new to me...) and I decide to abuse it. This freenet game thingee is the same thing...

    ICQ 77863057
  • by Lord Omlette ( 124579 ) on Thursday June 21, 2001 @10:53AM (#135039) Homepage
    Technology is driven by two factors:

    1. Its ability to enable sex.
    2. Its ability to enable game playing.

    With anonymous porn, freenet clearly had the first all set up, but now that it has the second, there are no more obstacles to its widespread adoption.

    Thank you for reading

    ICQ 77863057
  • TCP/IP is a better choice for Chess if you want to place at a reasonable speed. Freenet is a better choice if you don't want a centralized game server or you're afraid of evil people inserting false moves into your game or you want to play totally anonymously.

    I don't know if anyone actually has these goals. I think most people would prefer to play at a reasonable speed. But the actual point was to teach people how to write applications for Freenet. I figured it was more fun to show how to write chess than to show how to write, say, an Enterprise Application Server.
  • There's a joke about two guys, one stationed at the North Pole and one at the South Pole, playing a game of postal chess.

    Every few months the mail would arrive by plane with the other guy's next move. Then, one month, the guy at the North Pole doesn't get the expected letter. He figures the guy at the South Pole didn't mail it in time, and it'll be in the next batch of mail.

    A few months go by, and the letter isn't in the next batch of mail, either. A few more months, nothing. Six months go by, and finally a letter arrives from the South Pole. Excited, he tears the letter open and reads:

    "J'adoube." (I adjust.)

    (In tournament chess there's something known as the "touch move rule" which means that if you touch a piece, you have to move that piece. You can nudge a piece only if you first announce that you're just adjusting it by saying, "I adjust," or, in French, "J'adoube." Classy chess players prefer to say it in French.)

    I don't know if Freenet would be that bad, but if you wanted a more secure game of chess it would be cheaper to just run some other protocol through SSL.

    Dave Conrad aka Dr. A. van Code
    Well a friend of a friend of a friend told me

  • Is there any reason to do this other than "just for the sake of doing it"?

    Is there some government somewhere that is repressing chess play? Who would gain from anonymously playing chess?!?

    If you want to play chess remotely with high lag, just play by postal mail. It may cost a buck or two, but it is private, and if someone decides to read your mail, you will know about it.

  • There is absolutely no way I would ever play chess online on a truly anonymous system. Cheating (the use of chess programs to boost a fragile ego - yes, some people view online chess as a "get the highest score by whatever means" type of game and, like they're UO/Diablo/Whathaveyou counterparts, are utterly baffled that there are people who don't) is already a problem on systems like ICC and USChessLive with registrations and moderation and sophisitcated detection systems. The only people I'd play over freenet are people I know in real life and then... what's the point?

  • I've heard one-time boxers positively gloat over the fact that they got crushed by the world champion. I've heard a local Chess IM fondly recall when he got trounced by Mikhail Tal. People pay good money for the chance to get beaten by Grandmasters they've not even heard of.

    Getting beaten in a test of skill by a person who is much better than you - even repeatedly and without sign of end - is an honor (well... except maybe in the boxing thing, where it'd probably involve death eventually). Getting beaten by a twirp with a computer isn't. I don't need to know who my opponant is - I've played hundereds of people I don't know on ICC. I just need reasonable assurances that I'm playing another person when that is what I'm choosing to do. If I want to play a computer, I can (and do) do that as well.

    And the trust model doesn't work at all. If only people you had past experience with or reliable sources vouching for were allowed to play you, that's not really all that anonymous, is it? You know them possibly better than I know the guys I played at the Chicago open a few weeks ago. If you don't require that, it's not at all difficult to keep coming back as a different random string of characters.

    I do agree that there are strong possiblities for the technology. Chess is not one of them. I can think of no non-masochistic reason why any tournement player would take part - and while that's far from the majority of people who play the game, it's the vast majority of people who are at all decent at it.

  • by MacGabhain ( 198888 ) on Thursday June 21, 2001 @11:45AM (#135045)

    And you enforce "The point" how? Are Freenet users going to somehow be more honorable than everyone else? Is this like Marxism's "point" that absolute power, if just in the hands of a different group of people, would be a wonderful thing?

    Games are, by the nature of most of them, competative. The more anonymous they get, the more they get dominated by those who don't wish to play fairly by the rules - because on the one hand you have lusers who just want to feel the momentary thrill of having "won" (even if, in the case of Chess, it's Fritz or Crafty or Junior who won) and on the other hand you have people actually interested in the game who don't want to deal with the former, so the only one's left are the lusers and the naive.

    In RL situations, cheating is rarely a viable option - the ways to cheat are fewer and the chance of getting caught are higher. Go into a digital world - be it the equivilant of Chess or Paintball - and all of a sudden it's both easier to cheat and harder to get caught. You can't have your laptop next to you in over the board chess, and you can't use a dupe bug on your pellets in paintball. You can on ICC or in any of the myriad of FPSs and the like. And you're much less likely to get caught with much less effort to hide yourself. And what happens? People cheat more. Golly, what a surprise.

    So this is somehow going to get better in a totally anonymous environment? Never happen. Well, barely ever happen. What will happen is the owner of the freesite will make it known that he wants to play chess and dozens of adolescents (maturity-wise) will flock to his site and test out CM8000 against him.

    Or, for a slight decrease in anonymity - the operaters of the site know who you are, but none of the other players do - the owner of the freesite can play on ICC or USChess live or any of a number of other sites, and have reasonable cause to believe that the people who just beat the crap out of him were, in fact, better than him, and not just fronts for a chess engine he could play without logging on at all.

    Complete anonymity and playing competative games that require a LOT of work to become even marginally skilled at for real just don't go together well.

    Someone else mentioned the idea of proof of concept - and, indeed, the people behind this don't seem to see it as a particularly serious endeavour. As a way to see what can be done on Freenet, great. Looks cool, and maybe there are some games that will fit nicely on it (turn based strategy-war games spring to mind). As a way to play a game like Chess online, however, it's a complete wash.

  • Please do not get me wrong, I do not want to "troll" around here, but I am wondering (maybe its me being too tired) what exactly is the point? I am not getting over excited by a game slow as a snail, but maybe he sees it just a a proof of concept. Thank you and go and build something that is of greater impact. I think Freenet has to stay around, as being posted earlier on Slashdot Zeroknowledge will stop supporting the Linux platform. Anything that protects consumer privacy has to keep around until the consumers (and not only Geeks, /.ers and alike) notice how important privacy is. And how dangerous censorship is.
    Just my $.02 (but these are mine, mine, mine)
  • So what if people cheat? It's a game of reputation. If someone beats me hands down, I'm not going to play them again because it won't be any fun - regardless of whether they cheated or are just really good.

    I can't imagine never being willing to play a game because someone else beat me at it. If anything, by playing against a better player, it's a chance to be exposed to better strategies, to at least better your own playing abilities.

  • Erosion is faster than playing chess by post. Jesus, tectonic shifts are a formula-1 race compared to playing chess by post.
  • You obviously don't have an account at Pimp War [pimpwar.com]. Turned based games rock.
  • As the concept that Freenet could beat playing chess by post is undoubtably incorrect, I should point out that some of us have played Diplomacy by post, and in fact used to develop role-playing-games (RPGs) that could be played by post.

    IMHO Freenet is worse than post. It doesn't let you send secret decoder rings in the envelope, you can't include photos of your cat balancing on a high tension wire, and it's not possible to put a whole mess of glitter inside Freenet as you can with a well-designed postal envelope.

    Some of us used to give away nifty badges, fake coinage, and various artifacts via post, so Freenet is definitely not even close in the end-user experience as a good snail-mail based game.

    Even if it is used for chess.

  • It is impossible to run realtime application over Freenet, because Freenet is just not designed for this kind of things. The design of Freenet is similar to the News system, where post are passed around for a while before getting to their destination.

    Mail might be a good application to run over Freenet: simple and fast enough. I don't know how they handle the fact that Freenet is an unreliable network by design (basically the documents you insert into Freenet are not supposed to stay forever), but EOF seems like a neat project.
  • Doesn't he know that turn-based games have gone the way of the caveman? Games nowadays need to be fast-paced, click-click, multiplayer, full-immersion, twitch-based simulations.

    No one has either the time or the attention span to wait for another human being to make a move. This is the future, baby, and if you don't move quickly, you are dead. Games that are based on waiting are dead.

    There's no time to strategy. Strategy is formed at the business end of a gun. Read and react. There's no time for deep thinking. Think too long and the game is over.

    Kinda like fp'ing on /. :-)

    Dancin Santa
  • Play tic-tac-toe with Gnutella! And 52-pickup with Gigabit Ethernet cards! And "pull my finger" with inetd!
  • If the content of the freesites (websites in/on freenet) were going to get something constructive from GJ(MSK@SSK@enI8YFo3gj8UVh-Au0HpKMftf6QQAgE/homepag e//) /freesite(MSK@SSK@2vz8xnhEJyJOlBVNfBEOWaohQFEQAgE/ freesite//) /snarfoo(MSK@SSK@p0EFqjmDioSqKmYYORPrClUepi4QAgE/s narfoo//), somthing rat or gibbon related from the gibbon site (MSK@SSK@AUaDUtxWJAVvVFOJHE8lpmt5FPQQAgE/gibbon//) and something illigal from Content of EVIL (MSK@SSK@9BRxNPeBdBVvWUIJb7etC52nlUUQAgE/ContentOf Evil//). What 'fun' :)
  • this is a big step for Freenet, but it seems to me people have been playing turn based games over the phone lines for eons.
  • That way, when it happens, you will be able to prove your prediction?

  • I get it, it's spy code sent to your spymasters in Tajikistan. What's next I wonder?

    BTW, Louis Armstrong died on July 6, 1971 at his home in Flushing Queens. I don't believe he and his last wife Lucielle had any children.

    Interestingly enough, he celebrated his 71st birthday on the 4th of July two days earlier. However, Gary Giddings, noted jazz critic and author discovered that Louis was actually born in August 1901, which made him 70 when he died.

    As Duke Ellington once said "Louis Armstrong was born poor, died rich, and never hurt anyone along the way".

  • I always wanted to play chess without the gov't looking over my shoulder. They always try to recoed my strategies....Ok, the spec for the game would allow encrpyted based input, but its not using new ideas, no compression, and a very primiative overall. I know when your developing on a beta level platform you take it slow. But sheesh, Is this what developers want for FreeNet? I mean its slow already, do we really want to waste all that bandwidth just to play turned-based games. I think not.
  • About 5 minutes ago, Anonymous Coward was found dead in his trailer out on the I-95. The only witness in the area, TikkaMassala, could not be approached for a comment, as he had to return his chainsaw to the shop for a refund/de-braining.
  • You can't patent a game or even the idea of a game that's been around for thousands of years. It's like me trying to patent forests, or the 'boat'*.

    * Patent Pending, (c)2001 TikkaMassala.

  • It is a much higher percentage of porn,
    there is hardly any warez at all and
    very few mp3s.

    Go look on http://www.freegle.com or Snarfoo to
    see keys posted daily for evidence.
  • Really the only thing about the Freenet system is that it guarantees privacy, at least as good a guarantee as one can get on the Internet. Now I can't come up with too many valid reasons for this level of protection, we're all better off if there's accountability at some level. This game is just a first step in developing somewhat realtime applications that use the Freenet engine. One could imagine future versions of Freenet being optimized to the point that they could create a virtual socket between computers. You could realtime chat with people without anybody having a hope of tracking you down. But as I said before, I'm not sure this is a good thing.

  • by PYves ( 449297 )
    but how is this better than playing chess on yahoo games or something? or MSN gaming zone? or Internet Chess Server, or (if you insist) by email or instant messenger? I know that I've hooked up with some friends to play go on that myself, takes a whole "couple of seconds" to set a game up, and then there's this nice graphic interface, where you can also choose your likeness (myself I'm a cat wearing a baseball cap)! I'm quite sure that the day freenet starts making it big time, you won't hear "and you can play chess with it too!", I mean, I'm much more interested in the anonymous transfer of free information than... a new way to play chess.
  • Games is an excellent way of promoting anything. Why do people buy expensive computers? Games. Why do people spend enormous amounts of cash on broadband internet? Games. So why should anybody interested in freenet? Games.

    - Yuioup "I could think of an interesting quote, but I couldn't be bothered right now - Yuioup"
  • As a programming exercise, this in entertaining. But not only is freenet slow, it's unreliable. Even when playing a game over email, you at least know where on the internet the email server is. With freenet, you don't have that luxury. Did you notice the bit in this article about having to set HTL high and be patient in order to make sure you wouldn't get a false error message? Freenet is nice, but not as a gaming platform.

  • by Shortcut to CmdrTaco ( 460807 ) on Thursday June 21, 2001 @10:28AM (#135066)
    Doesn't inserting potentially millions of tiny, one-time-use files onto the Freenet risk corrupting the namespace? Is there an advantage to having your chess moves live forever? Seems to me like TCP/IP or HTTP are much better choices, because the transferred data doesn't take up space once the game is over.

Don't tell me how hard you work. Tell me how much you get done. -- James J. Ling