pygame is
Python
Simple DirectMedia Layer
 
 
pygame.org is
Site Swing
High Frontier

High Frontier - 0.9.6

Lasse Folkersen (lassefolkersen)

Tags:

Description

The goal of High Frontier is a civilization-like game, which uses more realistic modelling of economy, climate, research and migration. Uniquely this game starts today - the initiation date of a game is todays date and the existing world is the world as we know it today, complete with cities and countries and people. The aim from there - that is whatever the player thinks the aim is for the world. Developing of the underdeveloping world, action against climate changes, expansion into the rest of the solar system, or just racking in a lot of money.

The game is currently somewhat playable. Working features include:
- Google-earth-like map view of the Earth and all other bodies of the solar system. Complete solar system model with accurate orbital data.
- Underlying economical model based on agents (countries or companies) buying and selling goods thereby setting price. Genetic/evolutionary algorithm copies variations of best agents thus continuously perfecting the AI decisions
- Infinitly expandable research tree based on automatic technology-name generation by random selction from lists of tech-buzz-words (same way as it happens in the real world)
- climate model, including the feature of changing sea levels based on topographical maps of the planet in question. Nice for terraforming a northern ocean on Mars. Less nice for rampant greenhouse-effects on earth (allows checking if your country should worry more or less about carbon emission in real life as well)

Changes

This version is nearing a playable state. Do you develop new clean energy technology to save the world? Rely on the supplies of nuclear fuel to keep the economics going? Take to space in search of new resources? Or just sit back and watch the waters rise (or whatever will happen)?

Most important issue:
-- crash reports. If you play the game and it crashes, it would be very helpful if you could provide the contents of the 'intro.exe.log' file for debugging.

Minor things that needs more tweaking:
-- Migration model and growth model are still not switched on, so bases won't grow beyond their initial size. They need a bit more balancing
-- Difficulties with living in non-earth environments are not really reflected yet.


Thins that has been done in this release:
-- GUI has been changed to run in a thread giving a huge speed bonus. Many thanks to Mike Godfrey.

Links

Home Page: https://sourceforge.net/projects/highfrontier/
Source: http://highfrontier.svn.sourceforge.net/viewvc/highfrontier/
Windows: https://sourceforge.net/projects/highfrontier/

Screenshot


click to view original size

Releases

High Frontier - 0.9.6 - Apr 27, 2010
High Frontier - 0.9.4 - Oct 7, 2009
High Frontier - 0.9 - Aug 15, 2009

Pygame.org account Comments

If you wish to leave a comment with your pygame.org account, please sign in first.

April 29, 2010 4:39am - Lasse Folkersen - nickname: (lassefolkersen)
Hi Carsten
I would like to have some more details to figure out why. Could I ask you to go to the sourceforge link (either in the forums or in the bug-tracker at http://sourceforge.net/tracker/?func=add&group_id=273720&atid=1163335) and submit a detailed description (operating system, running from windows exectuable or directly from code, output of crash-message etc).

Thanks a lot!
Lasse
April 28, 2010 1:31pm - Carsten Eggers - nickname: (masterlee)
Installed 'python-pyproj' but it keeps crashing ;(
December 18, 2009 7:59am - Lasse Folkersen - nickname: (lassefolkersen)
Hi Jesse
Good to hear that you have plans.

You should really sign in as developer in the sourceforge page and get the code downloaded by subversion. I'm not sure how to do this, since I only created the project. But there should be a button somewhere.

In any case, sorry for being so slow to answer here. I really forget to check this forum. Mail me at lassefolkersen at gmail dot com if you have any questions.

Lasse
December 8, 2009 5:28pm - Jesse Pelley - nickname: (jessepelley)
I couldn't find that forum. Anyways, I'm a novice, but my 2 friends are pros. I'm still going through the program, but there are so many things... Such as;
Can we use one of our websites to store server universes?
Then we can have the program check the new mask and object map on the website?
Maybe I can work on stuff like a condesed GUI for the player(including icon switches for windows such as rolodex, cellphone(for other players), etc..
We need multiplayer all the time, I got a java guy who can probably do it (we're open source minded)
Players need inventories(simple expanding tab), and we may be able to add a small library of soldiers/personnel.
Plus, a player location is neccessary, and we may be able to overlay one of these pygame first-person shooters for character movement. Thus multiple types of tactics are possible.
Space is cool, but Starship class objects should be reserved for the developers during the online play for now, develop the technology, but leave the players out of it until they gain enough assets, we can't let just anybody blow up earth too quickly!
also you want a silent class player whois like god, so you can fix bugs when the system is online.
We can add mini-games to simulate tactical maneuvers, or for gentleman like gambling between players(like James Bond)
I'm like a chemical engineer, so I can also answer your technical questions regarding physics and math. I see that you are trying to make a full-on espionage simulator, so sometimes chemistry is important
December 1, 2009 2:50pm - Lasse Folkersen - nickname: (lassefolkersen)
Hi Jesse
I'm very happy to hear. Its better to post to the sourceforge forum "open discussion", since I can monitor that automatically. This page I kinda forget to check into (just saw your message now for example).
I'd love to hear some feedback from you guys, and if you have any experience programming I'd be very happy to get help.
Lasse
November 21, 2009 3:03am - Jesse Pelley - nickname: (jessepelley)
This is great..
This is EXACTLY what some friends and I were starting. There is a lot to be done (and it should be done). This is a PERFECT start, and I think it's going places. There are many ideas that we have for gameplay. The best part is we're all on the same track. Apparently our ideas are exactly the same. Let us know where we can post in order to help.
October 14, 2009 5:40am - Lasse Folkersen - nickname: (lassefolkersen)
@Kris
Included some documentation in the latest code change as you requested:
http://highfrontier.svn.sourceforge.net/viewvc/highfrontier/highfrontier/src/highfrontier/readme.txt?revision=26&view=markup
Also removed the button-based navigation controls. They were only confusing.
October 7, 2009 4:10pm - Lasse Folkersen - nickname: (lassefolkersen)
@Carsten
Install Proj.4. http://trac.osgeo.org/proj/ - I also think it is in the ubuntu standard repositories. That should fix it. I should put that in dependencies, but it only is for linux users.

@Kris
Oh - I think I got so used to using keys, so I forgot to actually connect the navigation controls. First thing to do for next. And also more documentation:
Page-up is zoom in
Page-down is zoom out
Arrow keys navigate around
Time controls are under game settings.
October 7, 2009 2:21pm - Kris Schnee - nickname: (snow) - 2/5
Interesting so far. I'm not sure how much you've implemented and how much I just can't figure out how to do, since I don't see instructions anywhere. I ran "intro.exe" and got a very zoomed-out Earth that wouldn't zoom in with the Navigation controls, no way to resize the view to my 1024x600 screen, no response to the QUIT event while the solar system intro was running, no ability to close all menus once I'd clicked on one (I could only open a different one), and no ability to do much with the menus other than view other planets or views of one planet. And no time controls, so years of in-game time passed while I flailed. Have you seen the "Endgame: Singularity" game ( http://www.emhsoft.com/singularity/ ) for one way of handling a planet map and (more relevant to you) time controls?

The project seems ambitious -- and like you've actually gotten fairly far with it already. This version needs work, but I'll be interested to see how it develops.
October 7, 2009 12:41pm - Carsten Eggers - nickname: (masterlee)
I tried to run main.py and intro.py but both didn't worked. Hope the log will help you.

lee@leenux:~/Desktop/highfrontier$ python main.py
initializing planets
done initializing planets
initializing tech tree
done initializing tech tree
initializing companies
done initializing companies
loading earth
finished loading
/bin/sh: proj: not found
/bin/sh: proj: not found
Traceback (most recent call last):
File "main.py", line 233, in <module>
start_loop(company_name = "YourCompanyNameHere", company_capital = 100000000000)
File "main.py", line 125, in start_loop
surface = sol.current_planet.draw_entire_planet(sol.current_planet.eastern_inclination,sol.current_planet.northern_inclination,sol.current_planet.projection_scaling)
File "/home/lee/Desktop/highfrontier/planet.py", line 1186, in draw_entire_planet
surface = self.draw_bases(surface,eastern_inclination,northern_inclination,projection_scaling)
File "/home/lee/Desktop/highfrontier/planet.py", line 1433, in draw_bases
base_positions = self.calculate_base_positions(eastern_inclination, northern_inclination, projection_scaling)
File "/home/lee/Desktop/highfrontier/planet.py", line 1252, in calculate_base_positions
if plane_coordinates[i] != "Not seen":
IndexError: list index out of range
lee@leenux:~/Desktop/highfrontier$ python intro.py
initializing planets
done initializing planets
initializing tech tree
done initializing tech tree
initializing companies
done initializing companies
loading earth
finished loading
/bin/sh: proj: not found
/bin/sh: proj: not found
Traceback (most recent call last):
File "intro.py", line 14, in <module>
import main
File "/home/lee/Desktop/highfrontier/main.py", line 233, in <module>
start_loop(company_name = "YourCompanyNameHere", company_capital = 100000000000)
File "/home/lee/Desktop/highfrontier/main.py", line 125, in start_loop
surface = sol.current_planet.draw_entire_planet(sol.current_planet.eastern_inclination,sol.current_planet.northern_inclination,sol.current_planet.projection_scaling)
File "/home/lee/Desktop/highfrontier/planet.py", line 1186, in draw_entire_planet
surface = self.draw_bases(surface,eastern_inclination,northern_inclination,projection_scaling)
File "/home/lee/Desktop/highfrontier/planet.py", line 1433, in draw_bases
base_positions = self.calculate_base_positions(eastern_inclination, northern_inclination, projection_scaling)
File "/home/lee/Desktop/highfrontier/planet.py", line 1252, in calculate_base_positions
if plane_coordinates[i] != "Not seen":
IndexError: list index out of range
lee@leenux:~/Desktop/highfrontier$
September 10, 2009 3:38am - Lasse Folkersen - nickname: (lassefolkersen)
Ok it should work better now. I re-wrote the entire GUI to get rid of the ocempGUI interface. It works much faster now, plus it is now possible to generate windows binaries using py2exe
August 17, 2009 3:38pm - patrick mullen - nickname: (saluk)
Having trouble running this.

First, had to rename fonts/freesansbold.ttf to fonts/FreeSansBold.ttf - remember that linux has a case sensitive file system.

I wasn't sure whether to run intro.py or main.py. Main.py didn't seem to do anything.

intro.py gave this error:
Exception: Did not find trade_resources.txt file. Warning - this might endanger the integrity of the program

I tried
python
import main
main.run_loop()

I got a black screen that then crashed my X server.
August 17, 2009 7:17am - Lasse Folkersen - nickname: (lassefolkersen)
Pictures can be generated at runtime, and there is code to do that - it is just so slow that saving some pre-generated really speeded up things. So the images of individual planets are only for planets that are often used (eg. Earth). You are probably right that PyOpenGL could improve things a lot, but the graphics are not really a bottleneck at the moment. I might look into it later. If you can tell me any way of using OcempGUI more efficiently it would be great, because right now I have tasked myself with re-coding the entire GUI to get around that dependency and that is a lot of work it turned out.
August 16, 2009 10:51pm - Ian Mallett - nickname: (geometrian)
Looks interesting. The source release is pretty big--you can cut it down by generating stuff on run-time. For instance by resizing with the transform module the large images to the small ones when needed. Caching every orientation of several planets at several different scales might be the wrong tack anyway--I recommend PyOpenGL to do stuff like that for you. Having the source is perfectly fine, and actually useful in helping me try to debug OcempGUI.
August 16, 2009 3:21pm - Lasse Folkersen - nickname: (lassefolkersen)
@Ian
SourceForges file-uploader and I are not good friends, so as temporary thing you can download from:
http://www.folkersen.com/files/highfrontier.zip
but otherwise check out from sourceforge-subversion or wait for the binary. I don't know when that will be, but it turned out that the otherwise pretty well-working code could not be turned into a windows-executable with py2exe because of its depency on the ocempGUI interface. So I'm working on removing ocempGUI, since it was pretty slow anyway. That's a lot of work.
@benedict
psyco already included. It works wonders, but still.
August 16, 2009 12:52pm - benedict carter - nickname: (benedict)
try out psyco for a hefty speed boost.
install, then simply add
import psyco
psyco.full()
August 16, 2009 2:28am - Ian Mallett - nickname: (geometrian)
Hmmmm, still don't see anything.
August 15, 2009 6:33pm - Lasse Folkersen - nickname: (lassefolkersen)
It was only in the subversion part of sourceForge. I am uploading a zip file with source-code to the files section now, so it should be there in a bit. Otherwise I think you can check it out from the subversion somehow.
August 15, 2009 2:20pm - Ian Mallett - nickname: (geometrian)
Looks very interesting...but
http://sourceforge.net/projects/highfrontier/files/
doesn't have anything in it.
spotlight

 
our projects
pygame.org welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
 
recent releases
Aug 22, 2014

Aug 21, 2014


Aug 19, 2014

Aug 18, 2014

Aug 2, 2014


Jul 28, 2014

Jul 22, 2014

Jul 21, 2014

Jul 20, 2014

Jul 19, 2014

... more!
 
for pygame related questions, comments, and suggestions, please see help (lists, irc)