Phoenix2D Open Source Project

I don't even remember what day it was. Lately, remembering time has come difficult for me. I can't tell years from days apart, part of it is because I don't really care.

I've been not caring about time ever since I was this little man carving himself a big pit in sand under the 109 Degree heat. Thinking about how much time was spent on building the pit was a waste, thinking about how much it will take was a waste, and thinking what you could do with that time was the biggest of all wastes. It is enjoying the pit afterwards that was awesome.

Gotta work hard to play even harder

Thankfully technology does remember time, for what its worth. And according to github I've been helping my good friend Iván with his PhD's thesis for almost a month. And we need to move fast because this project has to be easy to deploy for any person in the world. Now you may be asking yourselves, Why helping?

You see, the reason PhDs can study their PhDs is because they are earning their bread by working for a professorship. One of their responsibilities is publishing stuff, making public relations and in general getting more cash for them professorships. This way they could buy cool stuff like an Oculus Rift Development Kit and get even more attention. Research needs money dammit. You see that amazing Robodog/Glimpse to the future from Boston Dynamics that suddenly transformed into a cat? Oh yes, it's all in the funding, and the relentlessness and fury from the people that are working in the project.

Enter the Phoenix2D Open Source Project an Open Source API to help people craft their own Christiano Ronaldo (in 2D!). You already have a lot of problems in 2D, you got environment problems, enemies, other players to coordinate with, so we are keeping it simple so you can craft AI instead of worrying about coordinates and spatial problems.

Our intention is to make students easy to get their hands on coding into Artificial Intelligence for a good cause, which is winning Soccer matches for RoboCup Socccer Simulation in 2D.

This will allow students not only to program something they'll likely love (soccer is a big deal in México), but to start programming the good stuff of Artificial Intelligence.

Because, if you don't know, AI can be a simple set of IF-ELSE rules and get as complex as you imagine it to be.

Check out the current logo, thank you Big Stock Photos.
The Phoenix Logo

I recently finished the structure of the Website, thank you GitHub Pages for that. There is still work to be done, specially our missing introductory video.

What is Phoenix2D, and what can I do with it?

It is a C++ API to allow you to start programming your custom RoboCup 2D Soccer Player's Artificial Intelligence without having to worry having client-server communication.

Soccer Field

We also provide you with the tools necessary to access the field's variables and conditions.

Who is it for?

For now it is for C++ Programmers, but we are working hard to getting it to a bigger audience and making it easier to program AI, yes Python we are looking at you. You easy to program guy you.

What do I need to get started?

You'll be needing the RoboCup Soccer Simulation Server and the RoboCup Soccer Simulation Monitor as well as the Boost C++ Libraries.
There are a lot of ways to set up the Server. You can have a buddy do that for you and you all use the same server in one machine instead of several.
The Boost libraries need to be built so we'll be having a tutorial for this, though we'd like you to use the official from boost for now.

I've never coded before. How do I get started?

For now this is gonna be a big problem since the language is C++, and it is not user friendly.

But we are pushing for bindings to Python and other languages so it will be easier to implement. We recommend right now Khan Academy, Youtube, and Coursera to learning C++. Try to keep your learning as new as possible, using preferably C++11 since that will help you drive C++ programming forward, the intention is not that you only learn AI but that your code is up to today's companies requirements.

If you can't be perfectionist with your code because of *racoons* or something, don't worry, we can help. Let's say you want to push your player into open source so everyone will enrich from how you used certain algorithms to craft the awesomest behavior of them all. It's ok if your code is a mess, we will help you get it up to the standard, helping you learn what will be expected in C++11 terms.

Can I share my PDE Player?

Of course, you can even add a Pull Request to the github project and well analyze it, test it, and eventually get it in the project.

All contributions are welcomed.

Will there be any tournaments in the future?

Soon.

Oh yes, soon.