pygame is
Python
Simple DirectMedia Layer
 
 
pygame.org is
Site Swing
Ultra Tank-chan!

Ultra Tank-chan! - 1.0.2

Neil Tallim (flan)

Tags:

Description

Ultra Tank-chan! is a large-scale multiplayer space-combat-sim in the vein of Volition's FreeSpace series, with some influences from Bandai-Namco's Ace Combat games. It is notable for the number of players it supports (96 over 6 teams), its drop-in/drop-out multiplayer design, its low system requirements (it runs extremely well on an Asus eee 900, the baseline target, which is even more impressive when considering that the entire game was written in Python), and its quirky, likely unique, art style, which has been described as "an epic space battle in a lava lamp."

Background

This is my first real game, created to satisfy an in-joke, and the first time I've ever worked with 3D in, well, any programming context, and I forced myself to go from concept to release in exactly two months, so please let me know if I overlooked something basic along the way.

Accessing stuff

The full source, divided into neat client and server archives, as well as guides for setting up, playing, and min/maxing the game, and even gameplay videos for anyone who's just casually curious, are available through the project homepage.

Maturity

This game is fully playable, provided you have friends, slaves, or happen to be capable of using a keyboard or gamepad with your feet (or, if you're really keen on trying it, you can find me on synIRC as flan). It is also very stable, with no known issues at this time.

Supported platforms and interfaces

Works as described on Debian, Ubuntu, Mac OS X, Windows XP, and Windows Vista. Plays best with a gamepad or joystick, but a keyboard is fine, too.

Just make sure you have the pre-requisite packages before attempting to run the client. They're all pretty common, but not often pre-installed with distributions.

Changes

This is mostly a balancing update, necessitated by a frequent absolute lack of energy in 1.0.0/1.0.1, which ground combat to a halt. Combat now slows down, rather than stopping, forcing you to choose between trying to get those last few shots in or running and risking giving your opponents time to heal.

Other changes:
  • The server GUI now loads and saves settings
  • MS-2 and MS-3 are no longer near-clones
  • An issue that was preventing indicators from updating smoothly was identified and corrected
  • The 25%-stagger effect on subsystem recovery was removed; in turn, subsystem damage was recomputed so it's more of an issue
  • Packets were capped at 1/0.0675s (or the PING-derived throttle speed, as before), which won't make a difference over the Internet, but which will reduce CPU overhead when connecting to localhost, and in some fast LANs, without noticeably degrading gameplay

Links

Home Page: http://uguu.ca/uguusoft/ultra-tank-chan/
Source: http://hamsterx.homelinux.org/svn/UTc!/

Screenshot


click to view original size

Releases

Ultra Tank-chan! - 1.1.1 - Jul 22, 2009
Ultra Tank-chan! - 1.1.0 - Jun 4, 2009
Ultra Tank-chan! - 1.0.2 - Apr 16, 2009
Ultra Tank-chan! - 1.0.1 - Apr 15, 2009
Ultra Tank-chan! - 1.0 - Apr 14, 2009

Pygame.org account Comments

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

January 24, 2010 4:03pm - Neil Tallim - nickname: (flan)
I've rehomed the project's source and wiki at http://code.google.com/p/utc/

Unfortunately, I couldn't find any way to update the project page to reflect that.
June 4, 2009 2:09pm - Neil Tallim - nickname: (flan)
If any bugs are discovered, please use the contact information for Red HamsterX in the project's wiki to let me know.
April 17, 2009 3:04pm - Neil Tallim - nickname: (flan)
I had a "durr" moment yesterday and accidentally inverted a value in the frame-synch algorithm. It's not significant, so I've silently updated both 1.0.2 archives.
April 15, 2009 1:19am - Neil Tallim - nickname: (flan)
I learned how to not fail at recording video, and have made available smaller, better, shinier files, all accessible through the project's wiki. These demonstrate shading and maintain a solid framerate, which actually does justice to the game's engine. They're also shorter, making them much more check-outable, so "check it out, yo."
April 14, 2009 3:56pm - nico - nickname: (stupidbot) - 5/5
Indeed you were right, I had the 2.6, I changed it and all go well.


Thanks for your help
great job:
April 14, 2009 3:05pm - Neil Tallim - nickname: (flan)
Hi, nico.

Can you let me know what version of wxPython you're using? My code assumes 2.8+, and I didn't think to add a check-for-version routine, though I'll add that now and update the 1.0 archives.
$ python
>>> import wx
>>> wx.VERSION
(2, 8, 7, 1, '')

SetItems is a function inherited from ItemContainer (http://www.wxpython.org/docs/api/wx.ItemContainer-class.html#SetItems), but it's possible that this inheritance structure didn't exist in the version you have. If that's the case, I can replace the calls with something that would be compatible with older versions of wxPython -- I'm just too new to wxWidgets to know what's new and what isn't. (I'm usually a PyGTK purist, and I would have done the GUI work in PyGame, but for an external technical requirement)

Regardless of the wxPython version, this is not a problem that you caused. It's clearly an issue related to API versions.
April 14, 2009 2:44pm - nico - nickname: (stupidbot)
a peace was missing (the error in fact)
AttributeError: 'ComboBox' object has no attribute 'SetItems'

sorry for the repeat
April 14, 2009 2:43pm - nico - nickname: (stupidbot) - 5/5
It seems quite a good game (I see the video).

But I did not manage to execute it.
I have this error (sorry for reporting a such long paragraph) :
Traceback (most recent call last):
File "/home/nicolas/UTC/UTc!/client/src/lobby/login_gui.py", line 111, in _clickConnectButton
_client_gui = client_gui.ClientGUI(None, -1, "")
File "/home/nicolas/UTC/UTc!/client/src/lobby/client_gui.py", line 432, in __init__
self.__load_variables()
File "/home/nicolas/UTC/UTc!/client/src/lobby/client_gui.py", line 1218, in __load_variables
self.lst_ship.SetItems(ships_list)


I did not undestand what I did wrong.
spotlight

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

Jul 22, 2014

Jul 21, 2014

Jul 20, 2014

Jul 19, 2014

Jul 15, 2014

Jul 10, 2014

Jul 9, 2014

Jun 27, 2014



Jun 24, 2014

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