OCTGN 2.0 : BM alpha

I know you were all eager to try O2 first hand, so here it is: the very first alpha release!

A few words about it, though.

This release is mainly because I know how frustrating seeing all the still screens is. But keep in mind that this is not even a beta. Although I have all the features I required for a first alpha, many core features are still missing. E.g. piles manipulations are very limited, it is impossible to create new cards during a game (tokens), …

Simple games can easily be played, though. For this first release, I have locked down the client to a single game, which can be played without problem: Blue Moon. (hence the release name: BM alpha). I know many of you want to play other games and I will unlock it in 2008.

Test game: Blue Moon

(Please do not confuse the Blue Moon card game with the recently released Blue Moon City board game.) 

Blue Moon is nice for 2 reasons:

  • It’s simple, hence completely playable with the current OCTGN build. This does not mean that the game is not interesting.
  • Kosmos (the german company, which published the game) has recently discountinued the game. Moreover they are “officially tolerating” online play at www.blue-moon-fans.com (warning: German site). So it is pretty safe to test the client with this game.

Blue Moon is a simple game of bidding. It is not truely a CCG since there are no collectible/rare cards. There is the base box and several expansions but those are complete: there’s no additional cards you may have to buy separately. There’s no deckbuilding in O2 yet, so you can only play with the original decks.

Start with the Hoax and Vulca, those are the simplest decks (the two in the base box). Next there are the “original” expansions: Terrah, Kind, Flit, Mimix, Pillar, Aqua. Then two expansions made specifically for deck building, which are not included in this release. Finally a more complex expansion (the last one): The Buka Invasion. Note that “simple” doesn’t mean you have less chances to win against more complex decks!

The full english rules are available here as PDF: http://www.fantasyflightgames.com/PDF/bluemoonrules.pdf
(There are additional rules if you want to play with the Buka Invasion.)

If you like the game, the english version is still (for how long?) distributed by Fantasy Flight Games. It’s not expensive, so you may want to buy it (I know I am kinda late, christmas being just behind).


Unfortunately there is no manual yet. So you’ll have to figure most of the stuff yourself. If you read my blog, you’ll find some hints (like: hold shift to play a card face-down). (Take care: decks are NOT shuffled when you load them. Don’t forget to shuffle them manually!)

We have a few “political” problems with the OCTGN website. So the install/update experience will not be as smooth as I’d like it to be for now. Here are the install instructions:

– [Prerequiste] You need .NET 3.5 on your machine. This was just released so you most probably don’t have it yet. I think it may be an optional Windows Update, but I am not sure. The most simple way to install it is to grab it there: http://www.microsoft.com/downloads/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6&DisplayLang=en .

– Download the alpha here: http://www.megaupload.com/?d=YR47N6J9

– This is a ZIP. Simply unzip in the directory of your choice and you are ready to play. No install required.

– There’s an important feature lacking: changing your nickname. Before you launch OCTGN, edit (e.g. with notepad) the file octgn.exe.config. Inside, spot <value>User name</value> and replace “User name” with your nickname. That’s the joy of beta software!

You have to find an opponent the usual way, i.e. in the OCTGN IRC channel: #octgn on chat.irchat.tv . You can use the online java applet if you prefer at www.octgn.org .

 Unfortunately on January 1st I am leaving for a week. So no support, no comment, no nothing. In the meantime I hope that my main private tester Fork reads this blog and may provide a few supportive comments. Please do not spam this post like crazy. For bug reports and deeper discussions please use the forums at www.octgn.org. Keep the comments here simple.

I couldn’t test this last build before leaving so I cross my fingers that everything goes well. And according to Murphy it won’t but I would have tried.

Happy new year everyone!

jods – leaving to party

Explore posts in the same categories: OCTGN.net

38 Comments on “OCTGN 2.0 : BM alpha”

  1. wowtcgame Says:

    First. Darn, really need an “unlocked” version. Thanks though.

  2. Mike Says:

    Oh happy day! Thanks a ton for your work 🙂

  3. Mike Says:

    Also, I have webspace and 10gb of bandwidth per month. I’m not sure how many hits it will get but if you wish, I could host it there. No Ads, No anything really, just the file.

    If the bandwidth handles it, I can just let it sit, if I go over in the first week, well, it was worth a try 😛

  4. Joesnuffy Says:

    This is amazing. very good interface. We currently have a 50 / 10 connection at my office with workload balance if you still need a place to host. Would this just be an IRC and file host or do you need anything else? I currentlly have IRC setup on the server for a computer support chat that we run I could easily bind another terminal server to it if you need one of those as well. Let me know 🙂 Keep up the great work. Happy New years!

  5. Pascual Says:

    Thx!!! Jods!!!

    Have a happy new year!!!

  6. Frustrated Says:

    The program seems cool. But I personally can’t recommend the 3.5 .NET framework link you provided.

    I used to get 3.5 .NET framework, installed it, and when the system rebooted, windows simply would shutdown before booting up, again and again and again. Safe mode did the same thing.

    I had to go through a linux live cd to restore a back up I had of my entire hard drive.

    It’s probable that you won’t have this problem if you have a valid activated copy of windows vista. I unfortunately didn’t so that probably was what caused the crash. Or maybe it’s because I unlocked the hidden Administrator account in Windows Vista, logged myself in as that and disabled all other accounts.

    But if anyone else had the same thing happen to them after installing .NET 3.5 through that link even with a valid copy of vista, please post so we know that the .NET link itself is to blame.

    I can confirm that the program wasn’t the source of the problem though. I installed the program and rebooted fine before I even attempted to install .NET 3.5.

  7. Awesome work dude – am having a quick play around now and the animation effects are stunning – you’ve really outdone yourself.

    My only points of contention would be:

    a) In the screens before you get into the game, the white text with a drop shadow on top of a pale blue background is hard to read (relatively) – I would switch this to black text without a drop shadow (or are you setting this up to be configurable in a future release anyway?)

    b) I have noticed a potential exploit – when you are looking at an unrevealed set of cards (e.g. when I try looking at a deck which has not been revealed to me) I get the card backs as normal. However, if I middle click on one of them to target it, the card’s name shows up in chat. The same thing happens when I target a face down card on the table. If I click and drag from an unrevealed card to another, both card names show up. Finally, when I shift-drag to play a face down card, it reveals the name in chat. (I understand this isn’t important for Blue Moon and may simply be something you haven’t gotten onto doing yet)

  8. Xenocyde Says:

    Yeeeeeeeeeeeehaaaaaaaaaa! It’s here! Nice job jods! And a happy new year to you!

  9. AWESOME Says:

    AWESOME. Thank you, you rock. I’m going to install when I get home…

    Originally Posted by discord on Jan 2006

    Also, in regards to backgrounds and board games….

    * When you release OCTGN 2.0, make it LOOK as impressive as possible. My themed OCTGN 1.0 looks at least twice as good as the original default. For instance,I think it should have defaulted to that Wood Background it shipped with.

    * I agree with Rob. The OPTION for Servers to enforce backgrounds/boards is good. Think of the money we could make selling advertising space!

    * Seriously though, I’ve just thought about it some more…..and now I disagree. (I’m like that) Players can easily load any game-related backgrounds they need, and enforcing backgrounds could lead to abuse…i.e. pornographic backgrounds.

    * DISCORD CCG won’t need a specific background, but my next project( STRIFE ) will. It’ll also need card-shaped rectangles on the background that will stay the same size as the cards regardless of resolution/zooming.

    Keep up the good work…


  10. AWESOME Says:

    Sorry to post again.

    Just wondering, is the sourcecode for the game out anywhere.

    Those two problems that Zark pointed out seem to be pretty relevent, so I hope that they get fixed in the source code by someone.

  11. Matthew Says:

    Congratulations Coder #1! You are the tops!

  12. gendruw Says:

    Simply amazing!
    Can’t wait to play the you-know-what-game 🙂

    Many thanks and keep up the good works, jods!

  13. PhreekUhXoid Says:

    Going to dl later on tonight … can’t wait to take a looksy!

    Thx for the release and all the Hard work. kutgw!

  14. roblethal Says:

    Did Discord just agree with me on something I said over 2 years ago? Anyway, about to check it out jods. Been quite busy w/ real life, and haven’t even touched OCTGN in a long time, I’ve been anxiously awaiting your product to coax me back into it 😛

  15. Fork Says:

    @Awesome: The source code is available in here: https://octgn.svn.sourceforge.net/svnroot/octgn/octgnFX

  16. Discord Says:

    The truly scary thing was that it wasn’t even me. 🙂

    I did write the above, but it was like two years ago….no idea why it was just quoted. 🙂

    Anyway, great work Jods! 🙂

  17. riddle Says:

    Good Stuff. Looks really nice, just played around with the functions a bit up to now. Oh yeh, i really love the automatic playfield resize, but there should be a way to reverse the effect. Because otherwise youll play with microcards if someone desides that it looks cool and does it again and again (like me *cough*)

  18. edmacd Says:

    I found the project on SF while looking for a C# card game platform to develop “old fashioned” card games like hearts, crazy-eights, etc. I had a really tough time finding this site, but once I did, I took the Blue Moon alpha for a spin. While I have no clue how to go about playing it, it was enough to see the platform looks very promising.

    I haven’t dug through the code in detail yet, but I would like to get the author’s opinion as to what it might take to plug traditional card games into Octgn.



  19. jods Says:

    Phew! Many comments to catch up with!

    Sorry for the *very* annoying problems you had (and I know it is). I’ve never heard before about .NET breaking a Windows installation but I can’t say I know a lot about MS measures against illegal OS. What I know is that the black screen / no login is one symptom of Windows detecting an illegal copy. Although I thought a safe-mode (with no optional network, etc) should work. If you find out *exactly* what part caused the trouble it may be interesting to share, so that others don’t get into the same painful experience.

    An exploit you say? 😉
    I think I should point out that what YOU see in your chat log is NOT what everybody else sees. When you play a card face down, you see it named in the log. Which is fine since you know (or can check) what card you just played. Other players will just see “Zark moved ‘card’ from Zark’s hand to the table”. I will go further and say that if that card initially came from a shuffled deck, your opponent’s clients don’t even have enough information to guess/cheat what the card is.
    The fact that targetting reveals the name of cards to you may be a bug, though. Targetting is a “late” feature and I should check that.
    Also, I need to add a good way to “peek” at face down card you are allowed to see.

    Use your mouse wheel to zoom in and out. Should solve your problem. Zooming is always centered on your cursor so place it at your point of interest.

    Not much. I still have to create and test a few games, which uses some “shared” or “common” piles. But in the end it should be possible. Keep in mind that OCTGN is probably not the best software for that kind of games. Such games usually involve the winner of the trick taking all cards on the table, counting scores, etc. Which are better done automatically with a software, which enforces rules.

    Thanks everyone for testing the game and leaving a positive comment!


  20. roblethal Says:

    Intuitively, peeking at a face down card should be resolved to hovering or a mouse-over on the card. Whether the whole card is displayed, or just a tool-tip with the name is up to you I guess, but it would make more sense (to me at least) for it to be the whole card while the cursor is on it.

  21. Bernd Says:

    Really awesome program! Some questions: Will it be possible to play games where players have more draw piles than one? Is there any functionality planned to allow card stacking (making piles on the board), so that only the owner of the cards can look at the cards under the top card? I really like it how the programm zuntzu is handling this in its poker game box – it opens a new window where you can look at the cards, and move or shuffle them (sadly there is no option to hide these stacks to the opponent in zuntzu at the moment).

  22. jods Says:

    Multiple draw piles: yes as many as you want.
    Stacking: this is a low priority feature. But I know at least one cool game, which is hardly playable without any stack support (Guardians).

  23. Kenneth Says:

    Wow, it’s like, just great!
    I mean seeing the screenshot was always, like, something cool but trying it out yourself is just … WOW.
    Despite I can’t play blue moon (I know the rules are posted here) I still find it fantastic as demonstration and can’t wait to see how things go further in!
    Keep up the good work, jods!

  24. Chops Says:

    Are the file formats final? That is, can we start making games for an unlocked release?

  25. jods Says:

    No. This is an important point. Although I don’t expect the file format to change much there surely will be a few more tweaks.

  26. Ahh, I hadn’t realized it was only showing me the card names- havent really fiddled about much in multiplayer.

    As for peeking at face down cards, how about something similar to OCTGN 1 – the large card preview becomes the face.

    Am hoping you are able to implement single-deck games and finalize the format soon, I am looking forward to building a few games 🙂

    One idea I had for OCTGN is the ability to create a ‘grid’ which cards can be locked into, like in many paint programs. It could be useful for board games in the future to set out tiles etc. This is assuming it isn’t too hard to code of course 🙂

  27. Xenocyde Says:

    Please provide MTG support, please jods! 😀

  28. Aggersborg Says:

    Is there any news on the way? It has been over 14 says 🙂 Cant wait til MTG support.

  29. Pinder Says:

    edit – Finished. And wow. The program, overall, is amazing. It will only let you play a game (and at this point only with the blue moon cards), so I can’t speak for deck editing, but the program is very, very pretty, and by the looks of it, functional. One thing I like is that graveyard and library views are of the actual cards, which make it a lot easier to pick certain cards out than the list MWS gives you. Also, targeting is very well done, but it requires you to press the middle mouse button (and therefore have one) when you could just right click and drag like MWS.

    A few qualms, though:

    -When you double click on the library, it refills your hand. This isn’t really intuitive, as most players (especially those who’ve played with MWS in the past) will assume that it draws a single card.
    -You can’t drag boxes. If you click on the playing field, and drag the mouse pointer, it moves everything on the field. You can’t select more than one thing at once (at least, I couldn’t figure out how), and you have to move things individually.
    -Some things work differently than they do in MWS. This is important, because a lot of people will be switching over from MWS if they start using this program, so keeping the things that MWS does well the same will make the transition a lot easier. No one wants to relearn how to do everything they already know.
    -There doesn’t seem to be any avatars or representation of a player, so it might be hard to drag arrows for cards that target players because there’s nowhere to drag them to. This might just be because I was in a single player game, though.
    -Joining your own game with a second instance of the program causes the program to crash, and there doesn’t seem to be any way to play single player with two decks.

    Overall, though, it’s still the Alpha, and if it keeps going this way, it could easily outclass MWS as the premier free online Magic utility.

  30. shoggi Says:

    you can open two instances, you just need two seperate copies of the program, in two different locations.

  31. Pascual Says:

    The program is just wonderfull and I love the way it looks and work, it is very very confortable, intuitive and atractive (the big view of the cards and the round corners are great), just wonderfull.

    I’m totally agree with Pinder

    I know it is an ALPHA with just the support for Blue Moon, but it seems that this little details need to be evaluated, like, the lack of an avatar for the players, the multiple selection of cards (for movement of groups in the field and between areas), the movement of the table view (I think it would be better to move the field with the space bar + left click or something like that, instead just the left click, and leave this to drag boxes for the multiple selections)and other few things already mentioned.

    Something that I see to be uncomfortable is that when I put a card on the table, it seems to stay in a permanent layer and when I put a second card on top of the first one, I can’t click the first card and put it on top of the second one, it just seems to stay in the original order of placement no matter what.

    Overall the program is great and easy to use. I can’t wait to play MTG on this (sorry for my bad english, I speak spanish)

  32. Indy Says:

    I’ve been playing with the alpha for a little while now, and as a veteran app developer myself I have to say that so far you’ve done a great job. Are you drawing all the graphics in your own classes, or are you using a 3rd party graphics engine?

    That said I have made several observations intended to be constructive. I’ve developed business apps for 12 years and I know how unsettling it can be to hear an outsider criticize something that you slaved over. I’m by no means an interface expert, but I have learned a thing or two in my many years developing apps for dummies.

    1) In response to above comments about lines showing up in the chat log about face-down cards: it would be nice if the chat log was color coded so that items that were only visible to you showed up differently than “public” comments. That way you could quickly glance through the comments and see which items were for your eyes only.

    2) I confirm what the last comment says about z-ordering the cards. When I place 2 cards on the table, the first one placed will ALWAYS be behind the 2nd one. It would be nice if there were some basic “Bring To Front”, “Send To Back” functionality to change the layering of the cards.

    (some of the following comments are about things that may just be issues with the Blue Moon rules)

    3) It would be nice to be able to “attach” cards to one-another (creature enchantments in MtG, for example). As others have mentioned it would be much easier to be able to drag a group of cards that are all attached to the base card.

    4) I assume that left-clicking on a card will “tap” it in games that support that mechanic. In Blue Moon left-clicking on a card does nothing, so I’m just guessing that is done on purpose.

    (these are some general comments on the interface and design, that I don’t think are related to Blue Moon)

    5) I’m not a huge fan of the targeting. Obviously many users will not have a middle-button to target with. On my computer my scroll wheel is my middle-button, and many times when I depress it I accidentally zoom in or out. Not a huge deal, but annoying. Like you, I’m also not a huge fan of resorting to key combinations to perform critical functions. One possibility for targeting would be to show a small target icon in the corner of the card you’re hovering over, and if they left-click on the target icon the card becomes targeted.

    6) It would be nice if there were some sort of “Are you sure?” confirmation when you click the green “End of Turn” button next to a player’s name. You could easily click that on accident which would pass the turn to the next player unintentionally.

    7) When you hover over a card in play and right-click on it to expose the context menu, the large card image disappears. I understand there is probably an event that captures when the mouse is no longer hovering over the card, but it would be nice to persist the large card image when the mouse is hovering over that card’s context menu.

    8) I can’t decipher the logic that dictates where the large image of the card will display. Some cards show in the upper-right, some in the upper-left, and some seem to switch when you put additional cards in play. It would be nice if this were consistent (something subtle that will be appreciated by people just getting started).

    9) I realize that overhauling the control scheme is likely out of the question, but this type of app would be PERFECT for the control scheme that the original Sims game used. If you didn’t play it, you left-clicked on an object (in this case that would be a card in play), and action icons appeared in a circular pattern around that object representing the possible actions for that object (click off in “dead space” and it reset). It was extremely intuitive, and only required left-clicking. When you wanted to do something like “make the kid wash his hands”, you would first click on the kid, then click on the sink; that would expose actions around the sink that could be performed by the kid. In a fashion similar to this you could string together cards that have effects that target other cards.

    10) I’ve poked around on the OCTGN sites, but I haven’t really found much info on developing decks, cardsets, or game parameters (like how the library reacts). I would be very interested in beginning work to develop card lists and rules for a game I’m working on. If there is any documentation on how to do this, please share. It would be greatly appreciated.

    11) Quick question about the file formats. The .o8d files are obviously XML. Are the other file formats (.o8s, .o8g, .yap) serialized class data, or some other binary format? I’m wondering how we (the community) will be able to build these files ourselves.

    12) Another off-the-wall idea/suggestion. It would be awesome if this had some sort of scripting support so that people could develop rules that could be hooked into the game engine. I developed an app for a large fantasy football site that was intended to help people select players to draft. That app used a pick selection engine that was script based so that people could write their own mods for the engine (so if they valued Quarterbacks over Running Backs, they could modify the logic to weigh those positions accordingly). It worked great and wasn’t terribly difficult to implement.

    13) Related to #12, it would also be awesome if developers (like myself) could write server software to host managed games using this client. I’m not sure how the messaging system is designed, but assuming there is some sort of challenge/response system in place a server could regulate the game and enforce rules. Or, the server could be used to issue random card sets (i.e. boosters for sealed games/tourneys).

    Again, this is ridiculously awesome! You have done a great job thus far and whether you intended it or not, the end result is that it looks great and feels very friendly. Any developer can create an app that is littered with grids, buttons, and textboxes…it takes a master to turn those into an interface that is inviting to everyone.

  33. jods Says:

    Thank you very much for taking the time to try OCTGN 2 and moreover taking the time to write such a long and detailed comment. I really appreciate it.

    1) Everyone sees exactly the same log, except for a few card names. Seeing how it confuse players I wonder if it really is a good idea.
    The basic idea was that I found it stupid that when you draw a card, if later you would like to check what you drew, you can’t (same if you played a face down card). So one example is that when you draw a card, you see in the log “You draw ‘Ace of Spade'”, while your opponent sees “He draws ‘Card'”. I thought players wouldn’t freak too much since they clearly notice that they can’t see their opponent’s draws but… it looks like I was wrong 😉
    Maybe I’ll remove this feature, I haven’t decided yet.

    2) Of course I’ll add “Bring to Front” and “Send to Back”. Remember, it’s just an alpha!

    3) Attach cards: also on my TODO list, but a bit further down.

    4) Double-click will trigger the game default action on a card. In BlueMoon there’s none but in your average CCG it may very well be tap. This is coded in the game definition.

    5) I am not a fan of middle button targetting anymore since I got a new mouse 😉 I am considering the same alternative as you suggested. Probably a kind of button will appear when you hover cards so that you can left-click to target. I have to say I am not a fan of keyboard modifiers (Ctrl, Alt, Shift) because they are hard to discover.

    6) If you have to confirm everytime you pass the turn, it’s going to slow down the game a lot. Changing turn has no “real” consequence since O2 doesn’t enforce rules. So if you change turn by mistake, just write it in the chat and continue your turn! If there are a lot of request for this, it may at best become an option.

    7) Context menu + large image display:Well, why not. I may do that but it surely goes at the very bottom of my list 😉

    8) The logic behind the large display is actually pretty simple. It goes the further away from your cursor. I.e. left if you’re on the right, bottom if you’re at the top. The logic is that I don’t want the large image display to hide whatever you are looking at. I noticed that up/down is not very important and just adds confusion (one has the impression that the picture is randomly moving and hard to predict where it will appear). So I may stick to left/right only.

    9) I never played The Sims but I did actually consider using a radial menu. In the end I decided that it was not such a great idea. A radial menu works best with icons and a limited number of options. Both are inconvenient for people who create game definitions. Also the context menus need the be categorized in two: one part is for the card, second for the group the card is in. While possible this makes the radial menu even more complex.

    10) That’s normal because I haven’t published any information yet.

    11) .o8d (Decks) are in a pretty simple XML format. .o8s (Sets) and .o8g (Games) are using the Open Packaging Conventions (OPC). It’s a simple format mostly based upon a ZIP archive and XML files. If you are a tech-savy you can create those files yourself (it’s what I currently do). In the end I would like to publish tools to do that.
    The .yap file format is a database created when you import a game into OCTGN. This file is for internal use of the software only. You are not meant to manipulate it.

    12) Scripting is an idea in the air for a future (2.5 or whatever) release. Please note that OCTGN was never designed to support rules, though.

    13) The game is built around a client/server model. One of the two players is actually the server as well as a client. The code is built in such a way that a very small independent server can be published and used to host games.
    On the other hand, the messaging system is built so that the server knows absolutely nothing about the games and does not handle any game-logic. The benefits are that the server size is very small and it uses little CPU. Moreover you don’t have to trust the server not to cheat (this is important due to the open source nature of OCTGN).
    Side-effect is that you cannot use the server to enforce rules (again, rule-enforcement is a choice, which requires clever design from the start of the project. OCTGN did choose NOT to support rules enforcement).

    Thank you very much for your constructive feedback!

  34. Nibiki Says:

    I must be missing something simple here, but ever since the posting of this Alpha release, I’ve been unable to even give it a spin. It doesn’t seem to have come with the ‘Blue Moon’ game described in the post, and so when I start it up and attempt to host, the “Select which game you want to play” drop-down, it’s blank, and I can not continue. Is there some place else I’m supposed to attain the Blue Moon game, and place it in the ‘Games’ folder OCTGN generated?

    I figured I would wait until the next release, but I’d like to at least give the interface a spin, and give some feedback on that, since interface design intrigues me a lot, and it looks like OCTGN2 is very neat.

    I’m also eager like others to have a resource to start generating the game plugins or card databases.

  35. Nibiki Says:

    With the help of a friend I was able to figure out, the problem was how I unzipped the files provided. So never mind about the game not being provided, it’s all working fine now, and I really like it! I’ll play with it some more and try to come up with some helpful suggestions that others haven’t already described!

  36. jods Says:

    Glad you were able to fix that by yourself!

  37. Jim Says:


    I’m just wondering what the logic was behind requiring people to join an IRC channel to find an opponent. How difficult would it be to have GUI to find opponents and kick off the game from there?

  38. jods Says:

    Not too hard I guess, but as usual this is no free feature.

    It takes time to build a good system to find opponents (with people advertising what games they are looking for, a possibility to chat and so on). So I suppose the temptation to just use “any existing means” to find opponents is high.

    It is my desire to include a good system to find opponents, exchange games and possibly other features into the OCTGN client. But this is a lot of work and no requirement. So don’t expect such a feature before an OCTGN v3.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: