ProtoCiv: porting Freeciv to Python

This is a discussion on ProtoCiv: porting Freeciv to Python within the Other Technologies forums in category; Brandon J. Van Every wrote: > I am > > - *TENTATIVELY* - > > (operative word) undertaking the project of porting the GPL open source game > "Freeciv" to Python. Freeciv is, in essence, an almost straight clone of > Sid Meier's Civilization II, albeit with better cross-platform and > multiplayer support. www.freeciv.org Haven't played it, but still can't help thinking that it's a really weird project. People surely won't be interested in playing it just because it's in Python, so what is the selling point. Do you expect there to be any other result than a variation of ...

Go Back   Application Development Forum > Other Technologies

Object Mix

Register FAQ Calendar Search Today's Posts Mark Forums Read
  #21  
Old 12-26-2003, 12:06 PM
Bjoern
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python


Brandon J. Van Every wrote:
> I am
>
> - *TENTATIVELY* -
>
> (operative word) undertaking the project of porting the GPL open source game
> "Freeciv" to Python. Freeciv is, in essence, an almost straight clone of
> Sid Meier's Civilization II, albeit with better cross-platform and
> multiplayer support. www.freeciv.org


Haven't played it, but still can't help thinking that it's a really
weird project. People surely won't be interested in playing it just
because it's in Python, so what is the selling point. Do you expect
there to be any other result than a variation of the Civ principle of
gameplay? With Freeciv being available for free, how do you plan to make
any money?

Also it sounds to me like a lot of work (conversion) before anything new
could come from it. Couldn't you think of some simpler project to
achieve your goals (evaluate python and strategy gaming concepts?), that
might also be attractive to todays buyers?

I wonder if this is really just about Python??? People currently seem to
think that it's some kind of Silver bullet? But there's Ruby already on
the horizon, and anyway, should the language really be the motivation
for creating a game? I can't imagine that it's so much faster to code in
Python, it's not anymore highlevel than other current programming
languages, as far as I can see??? By the time you finished your
evaluation of Python, there will already be another fad in programming
languages. Personally I prefer learning by doing, and 'know one
programming language, know them all' still sticks imho.

Maybe, if you really want to know if Python is the right tool, make a
list about the issues you think might be dealbreakers, and try to test
them explicitly (performance, interfaces?) with some small code
snippets. But rewriting an entire game sounds like months of nerve
wrecking work to me...

Just my thoughts...


Bjoern


--


Let's not weep for their evil deeds,
but for their lack of imagination
(Nick Cave)

Reply With Quote
  #22  
Old 12-26-2003, 04:41 PM
Brandon J. Van Every
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python


"Bjoern" <bjoern_p1@gmx.net> wrote in message
news:bshpng$cbkg0$1@ID-142197.news.uni-berlin.de...
>
> Haven't played it, but still can't help thinking that it's a really
> weird project. People surely won't be interested in playing it just
> because it's in Python, so what is the selling point. Do you expect
> there to be any other result than a variation of the Civ principle of
> gameplay?


ProtoCiv will transmogrify into a Python game engine for implementing 4X TBS
games. The games I make will be rather different than Civ II. The point is
to facilitate others who also wish to make significant departures, to try
new stuff out.

> With Freeciv being available for free, how do you plan to make
> any money?


I don't. ProtoCiv is not for making money, it's for advancing Game Design.

> Also it sounds to me like a lot of work (conversion) before anything new
> could come from it.


I don't think so. I think I'll have some initial results in about 2 weeks.

> Couldn't you think of some simpler project to
> achieve your goals (evaluate python and strategy gaming concepts?),


Plan B is of course to just forget about it and concentrate on Ocean Mars
only.

Plan C might be to work from the Civil source code, it's a hex wargame
written in Python about the US civil war. Good point is it's Python
already, bad point is it's not a 4X TBS game, so it can only function as
starter code. http://civil.sourceforge.net/

Plan D would be to try to talk up the Battle For Wesnoth developers about
adding Python support. They are C++ guys, so it may not be as difficult to
sell them on it as when talking to C guys (Xconq, Freeciv). Wesnoth has
unusually high production values for an open source project, that's one of
its value adds. However, it wouldn't surprise me if they want to keep
focusing on the game of Wesnoth, and aren't terribly interested in 4X TBS
engines in general. Haven't asked them though. www.wesnoth.org

I've done an awful lot of due dilligence. There is no project out there
that currently meets all of my goals. To be honest, I'm tired of asking
people, it takes a significant amount of time to hash things out with
developers. I'll only consider it after I've slugged at ProtoCiv for a bit,
and determined how easy or hard it is to convert "codebases in general" to
Python.

> I wonder if this is really just about Python??? People currently seem to
> think that it's some kind of Silver bullet? But there's Ruby already on
> the horizon,


From an ease-of-programming standpoint, Ruby is certainly an equally valid
language for rapidly prototyping Game Designs. However, Ruby does not enjoy
the level of industrial support or marketing momentum that Python does. I'm
not interested in languages "on the horizen," I'm interested in what's
commercially proven and ready for prime time. That would be Python.

> and anyway, should the language really be the motivation
> for creating a game? I can't imagine that it's so much faster to code in
> Python, it's not anymore highlevel than other current programming
> languages, as far as I can see???


It's certainly higher level than C++. C# has a number of similar features
accessible through the .NET libraries, like standard lists and dictionaries
and so forth, but it's rather verbose compared to Python's built-in support.
I'm estimating that one could write half as many lines of code doing it in
Python, because the built-in syntax is cleaner and you don't have to worry
about types. Java is at an equivalent place on the food chain as C#. As a
Windows-centric programmer, I think C# is a better solution from a "talk to
Microsoft APIs" perspective, and Python is a better solution from a rapid
prototyping perspective. So my evolving business model is Python / C# /
..NET bridging.

Part of the project is indeed about my personal business model. *A
different* business model could still accomplish a lot of the same goals
about 4X TBS Game Design. But I'm going to use the one I'm trying to make
money on, that's my strategy.

> By the time you finished your evaluation of Python, there will already be
> another fad in programming languages.


I've been evaluating Python for almost 2 years. I know as much as possible
about a language without having done anything significant in it. How is
that possible? Because I kept approaching Python from a tools and
industrial support perspective. Finding out what projects use Python, what
the extant level of industrial momentum and marketing is. One thing that
does worry me is that the people of the Python Software Foundation are very
bad marketers. They're holding up the people who could actually market
Python properly. I've attempted to do things to address that; ProtoCiv is a
change in tactics.

> Personally I prefer learning by doing, and 'know one
> programming language, know them all' still sticks imho.


Python is *not* C++.

> Maybe, if you really want to know if Python is the right tool, make a
> list about the issues you think might be dealbreakers, and try to test
> them explicitly (performance, interfaces?) with some small code
> snippets.


ProtoCiv *is* the test.

> But rewriting an entire game sounds like months of nerve wrecking work to

me...

No, it won't be. I'm going to migrate Freeciv, not rewrite it all in one
fell swoop. And if Freeciv isn't yielding me good results in about 2 weeks
of full time work, I'll be dumping it.


--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

"Desperation is the motherfucker of Invention." - Robert Prestridge

Reply With Quote
  #23  
Old 12-26-2003, 08:53 PM
Tom Plunket
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python

Bjoern wrote:

> Also it sounds to me like a lot of work (conversion) before
> anything new could come from it. Couldn't you think of some
> simpler project to achieve your goals (evaluate python and
> strategy gaming concepts?), that might also be attractive to
> todays buyers?


Brandon has made up his mind, there's no convincing him of
otherwise at this time. He's got to figure it out for himself.

> I wonder if this is really just about Python??? People currently
> seem to think that it's some kind of Silver bullet? But there's
> Ruby already on the horizon...


I think Python and Ruby are about the same age. They solve the
same sorts of problems in different ways, but Python seems to
have a much larger userbase and much better "community support"
in terms of libraries and so forth.

Python isn't any more of a silver bullet than C or C++ were. You
could call either one of those languages 'fad' languages as well,
but it doesn't matter; people are using them to do real work.

> I can't imagine that it's so much faster to code in Python, it's
> not anymore highlevel than other current programming languages,
> as far as I can see???


You should try it. Unless there's a truly compelling reason to
write in another language, everything I write these days is in
Python. It is SO much faster to develop in when compared to C or
C++, I just don't want to screw around with project settings,
makefiles, compiling, so forth. I edit code, execute it, and it
goes.

> Personally I prefer learning by doing, and 'know one programming
> language, know them all' still sticks imho.


That statement is so incredibly inaccurate that you're selling
yourself really short.

Someone who's a good programmer will likely be able to pick up
any language at a basic level quite easily, but being able to
maximize your use of a language takes some time.


-tom!
Reply With Quote
  #24  
Old 12-26-2003, 09:56 PM
Brandon J. Van Every
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python


"Tom Plunket" <tomas@fancy.org> wrote in message
>
> Python isn't any more of a silver bullet than C or C++ were. You
> could call either one of those languages 'fad' languages as well,
> but it doesn't matter; people are using them to do real work.


Python *is* a silver bullet when a problem resides entirely within the
Python domain. But I find the big weaknesses of Python are:

1) going outside the Python domain. For instance, .NET integration, or C++
migration.
2) performance
3) marketing

These things have kept me from jumping on the Python bandwagon a lot sooner.
That said, Python definitely has industrial momentum behind it. Thus it's
reasonable to hope that these problems will be solved. I can certainly
point at extant attempts to solve these problems, it just may be awhile
before they reach "prime time" industrial maturity.

> > Personally I prefer learning by doing, and 'know one programming
> > language, know them all' still sticks imho.

>
> That statement is so incredibly inaccurate that you're selling
> yourself really short.


I certainly wouldn't confuse imperative for functional programming
languages, for instance.

--
Cheers, www.indiegamedesign.com
Brandon Van Every Seattle, WA

"Desperation is the motherfucker of Invention." - Robert Prestridge

Reply With Quote
  #25  
Old 12-27-2003, 05:27 AM
Bjoern
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python

Tom Plunket wrote:
> Bjoern wrote:
>
>
>>Also it sounds to me like a lot of work (conversion) before
>>anything new could come from it. Couldn't you think of some
>>simpler project to achieve your goals (evaluate python and
>>strategy gaming concepts?), that might also be attractive to
>>todays buyers?

>
> Brandon has made up his mind, there's no convincing him of
> otherwise at this time. He's got to figure it out for himself.


Of course - I am also not saying that his strategy can't work, just that
I don't understand it.

[...]

> Python isn't any more of a silver bullet than C or C++ were. You
> could call either one of those languages 'fad' languages as well,
> but it doesn't matter; people are using them to do real work.


> You should try it. Unless there's a truly compelling reason to
> write in another language, everything I write these days is in
> Python. It is SO much faster to develop in when compared to C or
> C++, I just don't want to screw around with project settings,
> makefiles, compiling, so forth. I edit code, execute it, and it
> goes.


Didn't mean to bash Python, just because something is a fad doesn't mean
it's bad. Maybe it deserves to be a fad ;-)

I stepped through the Python tutorial once, but I think I stopped when
it turned out you have to do for loops in a really weird way (maybe I
overreacted here ;-). I think I also didn't like the documentation so
much, I had problems finding the stuff I wanted (testing some CGI
programming). I guess I am spoiled by Javadoc...

I'm still a java developer, but of course at times I am annoyed by the
verbosity, so I look at other languages. Currently I have more hopes for
Ruby, but who knows, if I keep hearing it, maybe I'll give Python a
second try.

For my current target platform, there is only Java, though.

>>Personally I prefer learning by doing, and 'know one programming
>>language, know them all' still sticks imho.

>
>
> That statement is so incredibly inaccurate that you're selling
> yourself really short.
>
> Someone who's a good programmer will likely be able to pick up
> any language at a basic level quite easily, but being able to
> maximize your use of a language takes some time.


I was going to deny that, but now I reconsidered. Maybe it only goes for
the languages I care about. I wouldn't be so optimistic about becoming a
good Perl or C++ programmer, but I would be very optimistic about C#. I
suspect Ruby and Python are somewhere in the middle, but still very
manageable.

If the language is too confusing to be mastered within a reasonable
time, I usually don't care for it very much. The only excpetion is C++ -
meanwhile, it looks like I might do without ever having to pick it up
again, but of course for a long time it seemed as if it was the only
possible choice for game programming. In that case I guess one has to
bite the sour grape...


Bjoern

--


Let's not weep for their evil deeds,
but for their lack of imagination
(Nick Cave)

Reply With Quote
  #26  
Old 12-27-2003, 05:29 AM
Bjoern
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python

Brandon J. Van Every wrote:

[...]


>>>Personally I prefer learning by doing, and 'know one programming
>>>language, know them all' still sticks imho.

>>
>>That statement is so incredibly inaccurate that you're selling
>>yourself really short.

>
>
> I certainly wouldn't confuse imperative for functional programming
> languages, for instance.


OK, so maybe 'know two languages, know them all'? But then there are
other weird languages like Prolog (don't know how to call them - logic
programming?), so OK - maybe I have to withdraw to 'know one
programming language, know most of them' ;-)


Bjoern


--


Let's not weep for their evil deeds,
but for their lack of imagination
(Nick Cave)

Reply With Quote
  #27  
Old 12-27-2003, 06:49 AM
Gerry Quinn
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python

In article <r2ppuv8f6q8mm8vuv9cf943urpmb02hcag@4ax.com>, Tom Plunket <tomas@fancy.org> wrote:
>You should try it. Unless there's a truly compelling reason to
>write in another language, everything I write these days is in
>Python. It is SO much faster to develop in when compared to C or
>C++, I just don't want to screw around with project settings,
>makefiles, compiling, so forth. I edit code, execute it, and it
>goes.


I'm confused. Haven't you been waving the flag continuously for
test-driven development for several years?

Gerry Quinn
--
http://bindweed.com
Screensavers, Games, Kaleidoscopes
Download free trial versions
Reply With Quote
  #28  
Old 12-27-2003, 07:06 AM
Gerry Quinn
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python

In article <bsjmni$det20$1@ID-142197.news.uni-berlin.de>, Bjoern <bjoern_p1@gmx.net> wrote:

>I stepped through the Python tutorial once, but I think I stopped when
>it turned out you have to do for loops in a really weird way (maybe I
>overreacted here ;-). I think I also didn't like the documentation so
>much, I had problems finding the stuff I wanted (testing some CGI
>programming). I guess I am spoiled by Javadoc...


I went through the tutorial a couple of months ago, and made a couple of
mini-programs.

I liked Python better than I thought I would [and the standard of docs,
Windows interface, and consideration of the needs of those who might
want to use it in commercial projects is very good for open source], but
I see no real benefits for writing Windows desktop software, given that
I am comfortable with C++. I'm a type fascist, and I also very much
dislike the concept of whitespace for flow control. Knowing I'm using a
fast language also allows me to keep my optimising instincts in check!

However, if I were doing some experiments in number theory, etc. Python
would definitely come under consideration.

Gerry Quinn
--
http://bindweed.com
Screensavers, Games, Kaleidoscopes
Download free trial versions
Reply With Quote
  #29  
Old 12-27-2003, 08:16 AM
Bjoern
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python

Brandon J. Van Every wrote:[...]

> ProtoCiv will transmogrify into a Python game engine for implementing 4X TBS
> games. The games I make will be rather different than Civ II. The point is
> to facilitate others who also wish to make significant departures, to try
> new stuff out.


Why care so much about others, at this point? I'd say finish your game!
You'll make other people happy that way, too.

>>With Freeciv being available for free, how do you plan to make
>>any money?

>
> I don't. ProtoCiv is not for making money, it's for advancing Game Design.


Fair enough, but ideally one would find a way to advance game design AND
make money in the progress.

>>Also it sounds to me like a lot of work (conversion) before anything new
>>could come from it.

>
> I don't think so. I think I'll have some initial results in about 2 weeks.


If you really can do it in two weeks, I'll be interested to hear about
it. I hope you keep us posted!

[...]

> Plan B is of course to just forget about it and concentrate on Ocean Mars
> only.


I assume Ocean Mars is still you primary goal? How then does PythonCIV
help you reach that goal? I find it hard to imagine that it could be the
most efficient way to go on?

So what if you release Ocean Mars 1.0, and the game design isn't
perfect. I can hardly think of any perfect game, but they can still be
fun. Learn your lessons and incorporate them into Ocean Mars 2.0?

[...]

> It's certainly higher level than C++. C# has a number of similar features
> accessible through the .NET libraries, like standard lists and dictionaries
> and so forth, but it's rather verbose compared to Python's built-in support.
> I'm estimating that one could write half as many lines of code doing it in
> Python, because the built-in syntax is cleaner and you don't have to worry
> about types. Java is at an equivalent place on the food chain as C#. As a


Shorter probably, but faster to code and maintain? Anyway, better not
discuss this here. Let the people on Slashdot battle it out ;-)

> Windows-centric programmer, I think C# is a better solution from a "talk to
> Microsoft APIs" perspective, and Python is a better solution from a rapid
> prototyping perspective. So my evolving business model is Python / C# /
> .NET bridging.


It's certainly none of my business, but a business model like that
doesn't really excite me. It seems to me technology like that can easily
be copied by anyone, and also I'd rather leave the dirty work to
Microsoft (bridging Python/.NET).

I'd rather see you build your business model around interesting game
design? OK, I guess you are trying to do that by being able to do
super-fast evaluation of game design with your PythonCiv engine, if it
really works. So maybe you have a point here.

[...]

> I've been evaluating Python for almost 2 years. I know as much as possible
> about a language without having done anything significant in it. How is
> that possible? Because I kept approaching Python from a tools and
> industrial support perspective. Finding out what projects use Python, what
> the extant level of industrial momentum and marketing is. One thing that
> does worry me is that the people of the Python Software Foundation are very
> bad marketers. They're holding up the people who could actually market
> Python properly. I've attempted to do things to address that; ProtoCiv is a
> change in tactics.


Is the language really a crucial marketing thingy when it comes to
games? Does the publisher even need to know what language I wrote my
game in? I'm surprised here.

I can see how people might be worried about speed, but other than that,
I'd think all they care about is that you can get the job done. They'll
like it if you say 'I can do it in a month', but they won't like you
more if you say 'I can do it in a month because I am using Python, not
C++' - rather, they'll dislike you for using techno-babble. Or am I very
mistaken here?

I remember some people voicing concerns about finding enough qualified
employees if the language is too obscure, but I find that hard to
believe. But that's just my feeling, I've never tried to hire qualified
programmers myself. I know the company I currently work for has a hard
time finding people, but I suspect they are too selective (then why did
they hire me, though? ;-).


Bjoern


--


Let's not weep for their evil deeds,
but for their lack of imagination
(Nick Cave)

Reply With Quote
  #30  
Old 12-27-2003, 02:21 PM
G.I.L
Guest
 
Default Re: ProtoCiv: porting Freeciv to Python

Nathan Mates wrote:
> In article <bsglco$cskls$1@ID-207230.news.uni-berlin.de>,
> Brandon J. Van Every <try_vanevery_at_mycompanyname@yahoo.com> wrote:
>> But this discussion would only (properly) be about the
>> appropriateness of various languages for prototyping Game Designs.
>> I say Python is appropriate, and C isn't.

>
> Prototyping != implementing.


Well, duh!

g


Reply With Quote
Reply


Thread Tools
Display Modes


All times are GMT -5. The time now is 07:25 AM.


Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
vB Ad Management by =RedTyger=

In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.