I'd like to build a PokerBot (and a few other games) for the intellectual challenge. However, I only want to do this in an ethical and legal way.
So, I need a game server where all players and the game operator know that I'm running a pokerbot. Where that's not cheating but the norm. Perhaps even where being a human is against the rules.
(I'd also like to build PlayerBots for other games, not just poker.)
If one doesn't exist already, anyone up for doing a collaborative project to build such an environment?
UPDATE:
I would say that an open API is the ultimate sign of a server open to bots.
No API = Bots not welcome.
Also, I'm happy to play for points rather than real money.
You can check the Coding the Wheel series How I Built a Working Poker Bot to see if he mentions any sites where bots aren't frowned upon, but I'm pretty sure any of the sites that let you play for money will ban you for running a bot.
If you just want to do it for the learning experience or the challenge, try one of the free game sites like Yahoo! Games to see if bots are against their terms of service.
Poker academy has a bot API, and they run an online service for bots. It's commercial software though.
Related
I have few ideas for really simple games that I want to try and code.
I know C/C++/Java/PHP/AS3/Python and few more (and learning a new one isn't really a problem).
I'm looking for a game engine that can give me these features:
cross platform (possibly write once run anywhere solution) simple development env that runs on win 7 (or linux, but I prefer win 7)
I need access to in-app purchases/ads/splash screen and any other way to monetize
facebook/whatsapp integration (simple share options, or invite friends in fb)
ability to connect to database (mySql)
ability to connect to some sort of server (TCP/IP, or just fetch any data from certain URL)
2d graphics, simple lines and shapes drawing, text and numbers writing
most games have timers, so I need good response time when clicking a button or any other place on the screen (i guess that rules out Phonegap)
try to think I want to develop a simple card memory game with 5 seconds timer for each time you try to get a pair.
any ideas?
thanks!
try unreal engine 4 :)
it's editor is amazing
one example project is actually that memory card game :)
you can code in c++ and/or you can use blueprints, which is a visual interface to define your game by connecting boxes in an UML like fashion. Its quite easy even for people with no coding background thus collaborating with non-coders can get quite productive.
looks, usability, tons of features, cross-platform.
its not free, but you can get away with a single month subscription fee, which is 20$ or 25$...
and if you sell your game they get a 5% cut. which is ok I guess.
AS3 is easy to learn and its community is still alive :)
To me it is currently the most exciting cross platform technology out there at that time...
I would also recommend using the GPU accelerated 2D Framework Starling http://gamua.com/starling/
Then use ANE (Adobe Native Extensions) for all platform specific transactions such as Facebook integration or in app purchases.
Check out a simple 2 day project available on web/ios/android with one single code base: http://flappy-turd.com
Good Luck!
As a personal hobby, I would like to program a web-based card game with a few tokens and write an AI for it. I do not want to spend time and effort on standard elements such as maintaining a list of games and coordinating who's playing who, or even writing a login system (ideally I'd like to use Google accounts).
My choice of programming language is flexible, but would prefer something I could run on Google app engine.
I know Google Play Games provides some of the APIs but I was hoping for something more comprehensive. Even better if it works with Google Play Games.
Can you recommend toolkits that provide all or most of this functionality?
Board Game Arena supplies the community and lobby for your online board game, and also provides hosting and the community of players, and helps deal with licensing. The big downside is that you must comply with their system, and must write in PHP, and they don't work with Google accounts.
That said, it is a solution for the problem presented in the question, at least in some cases.
Though I am sure this is a little less fully formed than you were hoping, I would propose WT Toolkit, which allows for javascript-less C++ web applications.
Does it support a login system? Yes it does! supporting both google and facebook, with an easy path to integrationg other OAuth methods (hotmail for example)
List of games? std::vector
List of current people playing others? std::unordered_map
Games are closer to native apps than they are to web pages; a framework that allows you to leverage typical game design methods and exposed WebGL through a unified interface, like WT does, might make it easier for you by allowing you to focus on the GAME, not the WEB.
Maybe not complete answer but at least it didn't belong to comments. (Doesn't have to be correct)
On Google App engine things that will help:
Users service Will help you with authentication
Oauth on Appengine
The Channel API can help you with realtime sync between players and server
The endpoint's will help you with endpoints for devices if needed
XMPP service offered for sending and receiving chat messages
The above will get you started with a simple game. Recommend to look at the channel api for the tic tak toe game.
I hope it helps
When creating a AI talking bot what kind of methods of design should I use? Should it be one function, multiple modules, should it have classes?
Understanding language is complicated, so the goal you need to determine first is what aspect of language you want to understand.
An AI must be able to understand what the person says to it, then relate it to what it already knows, and then generate a legitimate response.
These three steps can all be thought of as nearly independent, so you need to address each on its own.
The brain, the world's best language processor, uses a Neural Network, but that's not likely to work well for you.
A logic-based proof solving system, where facts that follow from facts are derived would probably work best, and I know of at least one system that uses it fairly effectively.
I'd start with an existing AI program (like the famous Eliza) and run its output through a speech synthesizer.
Some source for Eliza is available here. One open source speech synthisizer is FreeTTS.
If you're using a language other than Java, there are similar candidates AI bots and text-to-speech code out there.
I've started to do some work in this space using this open source project called Talkify:
https://github.com/manthanhd/talkify
It is a bot framework intended to help orchestrate flow of information between bot providers like Microsoft (Skype), Facebook (Messenger) etc and your backend services. The framework doesn't really provide implementation for the bot providers yet but does provide hooks into its natural language recognition engine.
The built in natural language recognition library can be used to classify sentences to topics which you can then map to skill functions.
Give it a try! I'd really like people's input to see if how it can be improved.
Lately I've been looking at force.com which happens to be SalesForce.com's cloud initiative. However, what I am unable to draw is its comparison with Amazon & Azure platforms. Force.com seems to be targeting Enterprises primarily, so I am not sure if as a small shop, I should be going that way. Mine is going to be a social networking portal. What attracted me to force.com is the 'chatter' platform. I am struggling to find information w.r.t. pricing of using this platform. Most of the pricing details are written in the format $xyz/user/month. Now that may go well for an enterprise but not for someone like me who is going for a social networking with unpredictable number of user. I get a feeling that I am missing something somewhere. Further, I don't see many review about the platform. Can someone throw some light on that as well?
Force.com is absolutely a PaaS offering making SFDC more than a CRM SaaS player. That being said I do not see them offering Chatter as a stand-alone application anytime soon, if ever. Force.com does have it's own pricing model. This is all readily available on their web site.
As always, it depends on what you want to achieve. Force.com is ideal for forms based, data-centric application development - check out Jason Ouelette's book on Force.com if you're interested in learning ideal app dev situations for Force.com. I suspect even the most aggressive Force.com supporters would not think of Force.com as being ideal for your purposes. Zoho and Caspio offer data driven PaaS as well, but again I do not think this is ideal for your application.
If I were in your position I would try to leverage a platform already developed for social networking purposes like Ning or even something like Google Groups. Can you achieve 90%+ of the end user functionality you're looking for with free services readily available?
This article is old but perhaps some of these examples other than Ning might help: http://www.techcrunch.com/2007/07/24/9-ways-to-build-your-own-social-network/
The Force.com developer challenges have shown you can build just about anything on Force.com, but just because you can do something doesn't mean you should.
To the other respondents - if you're not taking PaaS, in general, and Force.com, specifically, seriously as Custom App Dev platforms then you're behind the curve. Force.com is a great platform but I do not think it is well suited for your particular needs.
Force.com fails to deliver on one of the key cloud promises: scalability. It is a very resource-constrained environment, and developing even CRM products on it can be a trial if your customer's model of their business is not in line with Salesforce's. It is definitely not the right solution for a casual social-networking platform. You will be signing up to have your hands tied for very little gain.
A couple of links for you:
force.com evening the score and force.com VS net
Give a bit of a developers view on the force.com platform. You absolutely don't want to use the chatter application as it is available to an "org" but each user will need a license on your org to gain access to chatter.
There is a free edition which allows 100 users, so you could theoretically create a network of 100 users, but after that you'd have to start paying.
SFDC is also a platform, and the capabilities of the Java-like language (APEX) have grown significantly over time.
As for pricing, there are a lot of different options. There are light users and standard users, as well as pricing based on bandwidth. You can also negotiate with Salesforce over the pricing, but AFAIK there are not people building mass market applications based off of Force.com, largely because of these issues.
I've just discovered J2ME and I love the possibilities that it presents. I'm currently working on a simple application and I'd like to maybe release it as an open-source project sometime in the future.
As part of my research into J2ME and mobile devices, I looked into applet signing. It seems that people who want to create applets for free are caught between and rock and an awful shite-place. Applet signing is extremely expensive and extremely convoluted - and the expense can't be justified when coding for free.
There are a huge number of J2ME compatible devices out there - I think it would be a shame to have to ignore them, and just wait patiently for the next wave (e.g. Android).
I was wondering if other people have any ideas about ways to approach this problem?
UPDATE: I found this blog article which summarises the problem for those interested... http://javablog.co.uk/2007/08/09/how-midlet-signing-is-killing-j2me/
I thought about setting up a non-profit umbrella organisation for open-source J2ME developers who want a VeriSign certificate (as a certificate can sign code an unlimited amount of times). I would aim to raise the $500 and then enable group members to share the purchased certificate. Had a quick chat to a VeriSign rep and they thought the idea could work (as long as the organisation was registered as a legal entity).
However, since handset manufacturers now seem to be moving to support only UTI root certificates (which you can only get through the 'Java verified' programme) - this might not be as useful as I thought it could be... if anyone has any ideas would be great to hear them.
I am afraid that you are fighting a battle that you can't win. Using the restricted APIs is getting harder and harder and this is not accidental. As you've read in the blog entry you've mentioned the biggest problem is the network operators. Even if you buy a certificate from Verisign or Thawte (which is by the way cheaper), your application won't run in network operators branded phones, since these have their own CA rules.
At first it was possible for a developer to install his/her own certificate, but even this is now not possible. This strict rule is mandated by the phone manufacturers (Nokia for example) and applies to all phones (even no branded ones). I believe that this too is not accidental and is mainly because of pressure put to device manufacturers by the network operators.
Finally, although MIDP 3.0 has been announced for years, nothing has really come out of it. It seems that even Sun believe that J2ME is only for games.
All of these have been extensively discussed in J2ME forums for a long time. The general consensus is that the network operators do not want to have every phone available in the market operate as a smart phone and be able to run a third-party application. Then it will be very easy for everyone to use a cheaper, web-based alternative instead of SMS messaging for a example. This may sound as a conspiracy theory, if you are new in the J2ME world, but have in mind that network operators sell phones with their own firmware that lock even basic functionalities (e.g. transferring photos via Bluetooth or using MP3s as ringtones) to force the owner to use paid services!
I don't know if this is going to change now that smart phones (iPhone, Android, Windows Mobile) are gaining momentum. Have in mind that restrictions apply also for these platforms (notably Symbian, which is also very unfriendly for open source).
You can create a signing certificate
that you self-sign. Your users have
to be willing to trust you.
You can instruct your users how to
create a cert and self-sign with it.
Then the users have to be able to
trust themselves.
There are more or less open CAs; you
have to be willing to trust them and
convince your users to trust them.
The Java Tutorial has a section on signed applets that will lead you through the steps.
I'm a J2ME application developer and i totally agree your post. The costs for signing a MIDlet are simply unaffordable for open source initiatives and unless your're developing simple games, you'll soon or later end up in using restricted APIs to access sockets or Location API just to name two of them. This is very frustrating and if you consider that the permission policies are not always threated the same on various devices, the thing get worst: on some mobile phone you can tell the OS to trust the entyre MIDlet and never bother you at all, other continue to ask you permission every time you call for a restricted method. It's tragic!
I rellay appreciate your proposal and i think it would be a great achievement for JavaME developers.