Posted
6 months
ago
by
mithro
I have recently been watching and really enjoying a little known series called Starhunter. At first I thought it was an enjoyable rip off of Firefly, so i was surprised to find out that it was made first.
It has so many of the same elements, the quirky ship mechanic, the captain who doesn’t play by [...]
Posted
8 months
ago
by
Mithro
As you probably read from [my previous post][1], Thousand Parsec had quite a successful Summer of
Code last year. Unlike previous years, where we have concentrated on getting new stuff developed,
this year we have decided to concentrate on
... [More]
building on the work of our [previous years students][2]
[1]: http://www.thousandparsec.net/tp/news.php/2009-03-31-2300
[2]: http://www.thousandparsec.net/tp/news.php/2008-10-16-1400
With the deadline looming, some of the ideas on our [ideas page][3] have already had lots of
attention, but there are a number of ideas which have yet to have any applications. I would like to
point out these ideas because we think they are very important and have a good chance to be accepted!
[3]: http://www.thousandparsec.net/wiki/Ideas_for_Programmers
Some of the most important ideas have to deal with our coolest looking last Summer of Code project
last year, [Eugene Tan's new 3d client][4].
[4]: http://www.zdnetasia.com/news/software/0,39044164,62052477,00.htm
* Adding single player support to the 3d client.
As [mentioned here][1] we have just release single player support in our 2d client. We would
like to see this extended to support our other major client.
Most of the code for this support is in the libtpclient-py support library that is already
shared between both the 3d and 2d clients, so it should be significantly easier then Ezod's own task.
* Create a "Simple 3d ship designer".
Spore has shown us that it is possible to give people non-professional 3d artists, the ability
to create cool looking models. With a little bit of prefabed art work and some easy transforms, even
programmers don't have to be scared anymore.
We would like to see a similar ability added to Thousand Parsec. It can be developed as part of
the 3d client or as a stand alone program.
Another project we think is really important, is to continue the efforts to improve single player
support. These include,
* Adding support for saving and restoring games.
Having to play a complete game in one sitting is a real pain, specially since some of the
Thousand Parsec games can requires many hours to play. The jist of this idea would be to add save/
load support found in most game types.
This would require adding saving/loading support to a number of back end projects like our
primary server (tpserver-cpp) and daneel-ai.
* Adding support for single player "scenario" mode.
In some ways, this is related to the previous idea but a little simpler. This would be similar
to the "missions" you get in other normal games.
An example would be something like "King Unorganised has run our intergalactic empire into the
ground, we have put you in charge of restoring us to our former glory.
"
* Extending single player support to include "set up your own multiplayer game".
Single player support has also paved the way towards adding support for simple wizard set up of
games to be played with friends. Much of the procedure is the same and we already have an auto-
discovery process created.
Getting started with the single player development should be very easy, it only takes 6 commands
!
git clone git://git.thousandparsec.net/git/tpclient-pywx.git
git clone git://git.thousandparsec.net/git/daneel-ai.git
git clone git://git.thousandparsec.net/git/tpserver-cpp.git
cd tpserver-cpp; ./autogen.sh; ./configure; make; cd..
cd tpclient-pywx
./tpclient-pywx
If you are interested, I suggest that [you jump on IRC][5] and chat with our wonderful bunch of
mentors. It is also recommended that you put in an application (even if only a draft) as soon as
possible, as we are happy to help you with your application and provide feedback.
[5]: irc://irc.freenode.org/#tp [Less]
Posted
8 months
ago
by
Mithro
[Thousand Parsec][1] is pleased to announce our
[first release that includes single player support][2]. Now all of our players can easily enjoy the
game at anytime, whether or not they can find other interested players. We've made several
... [More]
other
improvements with this release, but this feature is the most significant change for 0.3.2. Binaries
are currently available for Windows and will soon be available for other systems (but you can always
grab the code from our repository!
).
[1]: http://www.thousandparsec.net/
[2]: http://www.thousandparsec.net/tp/downloads.php?category=client#tpclient-pywx
Single player support is a huge step forward for us, as it gives players a quick way to get
involved with minimal fuss. We have strived to hammer out this functionality for the past 3 years.
Better still, contributions from [Google Summer of Code][3] students have allowed us to reach this
goal.
[3]: http://code.google.com/soc/
The story of this release is long, and has its beginnings back in [2008][4] when
[Thousand Parsec joined][5] Google Summer of Code for the second time. The previous year's GSoC had
been very successful, and we were looking to achieve even more success in round two.
[4]: http://code.google.com/soc/2008
[5]: http://www.thousandparsec.net/tp/news.php/2007-03-16-0157
[Ezod][6] is our first Summer of Code student. He was pivotal in making this new release possible.
At the start of the summer, he proposed an interesting project,
" [Add single player support to Thousand Parsec][7]". Little did he know what he was getting into
!
[6]: http://ezod.livejournal.com/
[7]: http://code.google.com/soc/2008/parsec/appinfo.html?csaid=7731B9B4B375E2E5
To the naive, this may have seemed like a simple project; all it needed to do was start up the
server and an AI or two in the background. The proposal actually meant that Ezod would have to touch
almost every part of the code base and project infrastructure, from the servers, through the AIs, to
the clients. Thousand Parsec was never really designed to work in this way, as everything designed
to run standalone.
We had no qualms about Ezod's skill having already started submitting patches and packaging
Thousand Parsec for Gentoo, but the extent of the changes needed for the proposal to work still
raised some skepticism. To make things tougher, we had received a large number of quality
applications, meaning that we had plenty to choose from.
Luckily, Google blessed us with more slots then we could manage (we ended up giving back two) and
it was decided to take a risk. By the end of the summer Ezod had not disappointed -- he had the
basics working -- but it would take another 9 months and integrating the work of two other students
before we would reach the release we have today.
One problem we faced was that a game is not fun if you don't have any competition. This is were our
second Summer of Code student joins us.
Iwanowitch put in a proposal for creating a [rule-based AI][8] for Thousand Parsec. His proposal
was one of the two AI projects accepted as part of the 2008 Summer of Code.
[8]: http://code.google.com/soc/2008/parsec/appinfo.html?csaid=AD885F56FE726D6C
The AI originally targeted the RFTS ruleset, which was developed as part of our first
[Summer of Code][9]. While functionally complete, it ended up having a number of show stopping bugs
for AI development. This only became clear halfway through the summer with the mid-term evaluations
coming up.
[9]: http://code.google.com/soc/2007
The mentors put their heads together, and the best solution we could come up with was for the AI to
switch to a different ruleset. This decision would later decide which ruleset Ezod would support in
single player mode.
Thanks to a good design, by the final evaluation, Iwanowitch had his AI competing against the
second AI being developed over the summer. Ezod then worked with Iwanowitch to integrate the AI into
the single player mode, and it has now become the major opponent that everyone who tries out
Thousand Parsec will play against.
So which ruleset did they switch to, you ask? Well, that is where our third summer of code student
comes in.
Jphr proposed (and was accepted) to create a [new ruleset][10] for Thousand Parsec. Not having any
C experience at all, he choose the ambitious goal of developing a modified version of the risk
board game for the C server. He charged through the development, and by the mid-term evaluation
the core rules had already been well developed and he was working on more advanced features such as
custom maps.
[10]: http://code.google.com/soc/2008/parsec/appinfo.html?csaid=5B1B1C8E204530AD
It made sense for us to suggest that the AI guys target this ruleset. It had already been shown to
be solid and it helped relieve some of the painful process of finding bugs. This also meant that
with Ezod's help, Jphr's ruleset has gone on to be the first to be fully supported by single player
mode.
So that is the story of how three students' work came together to produce this release. Both
Iwanowitch and Ezod will be joining Thousand Parsec as Summer of Code mentors this year. These were
not our only successful projects for Google Summer of Code 2008 -- in fact, all of our projects
achieved success that year and more can be [read about the others on our website][11].
[11]: http://www.thousandparsec.net/tp/news.php/2008-10-16-1400
Sound like everything for Thousand Parsec has already been finished? Far from it! We are glad to be
participating in [GSoC once again][12], and I hope this story has inspired you to be part of Google
Summer of Code and part of the Open Source community.
[12]: http://www.thousandparsec.net/wiki/Google_Summer_of_Code [Less]
Posted
8 months
ago
by
Lee
Hot on the heals of 0.6.1 comes 0.6.2 release of tpserver-cpp. The main reason for this release is
to update the single player support files which changed since the last release. Single player client,
etc are coming real soon now. Also in the
... [More]
release are the quickstart conf files, shave support (nice
build messages), and clearer TurnTimers split out into separate ones, basic, players finished and
threshold timers. 14 patches by 3 people. 47 files changed, 3363 insertions, 1480 deletions (thanks
libltdl update
).
TPServer-cpp 0.6.2 is on the [downloads page][1] and will be on our SF downloads page soon. The GIT
repo is tpserver-cpp (branch master) and the tag is TPSERVER_CPP_0_6_2. Feedback and suggestions
are always welcome.
[1]: http://www.thousandparsec.net/tp/downloads.php?category=server [Less]
Posted
8 months
ago
by
Lee
This release is mostly little fixes, mostly around windows cross compiling and single player support
. 38 patches by 6 people. 148 files changed, 770 insertions, 452 deletions.
TPServer-cpp 0.6.1 is on the [downloads page][1] and will be
... [More]
on our SF downloads page soon. The GIT
repo is tpserver-cpp (branch master) and the tag is TPSERVER_CPP_0_6_1. Feedback and suggestions
are always welcome.
[1]: http://www.thousandparsec.net/tp/downloads.php?category=server [Less]
Posted
8 months
ago
by
JLP
It’s the fifth year in a row that Google is running their Summer of Code program, and the third time Thousand Parsec is participating as a mentoring organization. We did great last year and we will sure try to do at least as well this time around.
So, if you are into turn-based 4X space strategy [...]
Posted
8 months
ago
by
JLP
After successfully participating in the previous two Summer of Code programs, Thousand Parsec is happy to announce that we will be participating again. In previous years we have had a huge amount of success, with 8 students participating last
... [More]
year.
To all the interested students we suggest to take a look at our Google Summer of Code Wiki page. There you should find the ideas list and all the needed information on how to go about preparing the best possible application for your project. We highly suggest you get in contact with Thousand Parsec community as soon as possible. so we can help you with your proposal. You can find us on #tp IRC channel on Freenode.net, on tp-devel mailing list or on our forum for GSoC 2009. The sooner we meet, the better for all of us.
So, no waiting, let's get brainstorming on how to make the best 4X strategy games in the free galaxy.
Bookmark/Search this post with:
-
digg
-
technorati --> [Less]
Posted
8 months
ago
by
JLP
After successfully participating in the previous two [Summer of Code][1] programs, Thousand Parsec
is happy to announce that we will be participating again. In previous years we have had a huge
amount of success, with 8 students
... [More]
participating [last year][2].
[1]: http://socghop.appspot.com/
[2]: http://www.thousandparsec.net/tp/news.php/2008-10-16-1400
To all the interested students we suggest to take a look at [our Google Summer of Code Wiki][3]
page. There you should find the [ideas list][4] and all the needed information on how to go about
preparing the best possible application for your project. We highly suggest you get in contact with
Thousand Parsec community as soon as possible. so we can help you with your proposal. You can find
us on [#tp IRC channel on Freenode.net][5], on [tp-devel mailing list][6] or on
[our forum for GSoC 2009][7]. The sooner we meet, the better for all of us.
[3]: http://www.thousandparsec.net/wiki/Google_Summer_of_Code
[4]: http://www.thousandparsec.net/wiki/Ideas_for_Programmers
[5]: irc://irc.freenode.net/#tp
[6]: http://www.thousandparsec.net/tp/mailman.php/listinfo/tp-devel
[7]: http://forums.thousandparsec.com/viewforum.php?f=7
So, no waiting, let's get brainstorming on how to make the best 4X strategy games in the free
galaxy. [Less]
Posted
9 months
ago
While testing the Thousand Parsec single player mode on Gentoo the other day, I came across something strange. The wxPython client, when run from a Git working directory, wants to use development versions of libtpproto-py and libtpclient-py. It does
... [More]
this by prepending '.' to sys.path. For some reason, though, import tp.* was still finding the site-packages versions first, which I had installed from my own overlay ebuild. It turns out that setuptools and Portage conspired to install -nspkg.pth files containing Python code that somehow put the site-packages path for the tp module ahead of everything else in sys.path. It seems doing this at all is an undocumented feature, and the current site module docs don't mention it. My evil temporary fix (in the ebuilds) is to simply delete those files and touch an __init.py__ in the tp directory. It seems to work, but I still plan to investigate the cause (maybe the fact that there are multiple libraries sharing a namespace?) and come up with a less hackish fix if possible.
On the bright side, single player mode seems to work well for Linux! The wizard GUI needs vast improvement, but it's functional. As soon as we merge the singleplayer branches of tpclient-pywx and libtpclient-py, we can release a package, and Gentoo will have ebuilds for everything you need to play single player Risk and RFTS. Before we see this, I am probably going to have to get daneel-ai running on Windows so we can test it there before release. We're also going to need packaging for a number of modules on other Linux distributions.
I'm working on stepping up my Python game in general, checking out Expert Python Programming and O'Reilly's Python for Unix and Linux System Administration. A thousand other people have said it better than I, but this is what software development ought to be. [Less]
Posted
10 months
ago
Thousand Parsec single player mode is almost ready! The initial goal is to release tpclient-pywx with single player mode, along with at least one server and one AI client supporting two rulesets, on Windows and Gentoo Linux. We achieved a few of the
... [More]
final steps last month.
First, we have the release of tpserver-cpp 0.6.0. This release includes the new Risk ruleset as well as the administration protocol, both Google Summer of Code 2008 projects. The Gentoo ebuild for tpserver-cpp now pulls in the recently-released tpadmin-cpp. We're currently working on a Windows package for the server.
Next, we have a preliminary release of daneel-ai, also a GSoC project, which implements an AI client for the Risk and RFTS rulesets in pure Python. The Gentoo ebuild installs a script in the path and the XML file necessary for single player mode, so on that platform we're good to go. We plan to have a more solid release and a package for Windows soon. [Less]