There are a lot of games now a days that are made made by a single person or just a few people that 10-20 years ago would of been a AAA game. I was just reading about
Door kickers being made by one full timer developer and every so often a couple part timer developers. I love this game. I cant wait for door kickers 2 to come out. But because there is only 1 developer mainly, and that he took a break for a couple years, its going to take what seems like an eternity for 2 to come out.
3d models you can create by using things like
blender. Im quoting the following because i pulled it off the net from googleing around.
Quote:Eve Online is probably the biggest, and uses Stackless Python, a lightweight, microthreaded version of Python. And Civilization IV had a Python interpreter built-in, but I'm not sure if that was for scripting only, or how much of the game was written in it.
Disney's Pirates of the Caribbean was written using the Panda3d game engine (which allows both Python and C++ scripting, but from googling it - Disney used Python). The engine is in C++, but then again, the Python interpreter itself also uses a lot of C code.
The original version of Galcon was in pure Python, though it has long since been ported to other languages (at last count there were Obj-C, Flash, and C++ versions). It does still use Python for AI via the TinyPy library, but I suppose that is "just scripting".
Frets on Fire is the only "native Python" game I can think of that achieved some degree of lasting fame.
For a long list of games:
Python Games
Python can do i believe all of those games you listed. It would take a single developer a phenomenal amount of time. Especially if they are just learning the initial steps of game making.
For a hello world example (i guess you would call it) in panda3d engine, install the library to run the following code to see.
pip install panda3d
from direct.showbase.ShowBase import ShowBase
from direct.task import Task
from math import pi, sin, cos
from direct.actor.Actor import Actor
from direct.interval.IntervalGlobal import Sequence
from panda3d.core import Point3
class MyApp(ShowBase):
def __init__(self):
ShowBase.__init__(self)
self.scene = self.loader.loadModel("environment")
self.scene.reparentTo(self.render)
self.scene.setScale(0.25, 0.25, 0.25)
self.scene.setPos(-8, 42, 0)
self.taskMgr.add(self.spinCameraTask, "SpinCameraTask")
self.pandaActor = Actor("panda-model", {"walk": "panda-walk4"})
self.pandaActor.setScale(0.005, 0.005, 0.005)
self.pandaActor.reparentTo(self.render)
self.pandaActor.loop("walk")
pandaPosInterval1 = self.pandaActor.posInterval(13,
Point3(0, -10, 0),
startPos=Point3(0, 10, 0))
pandaPosInterval2 = self.pandaActor.posInterval(13,
Point3(0, 10, 0),
startPos=Point3(0, -10, 0))
pandaHprInterval1 = self.pandaActor.hprInterval(3,
Point3(180, 0, 0),
startHpr=Point3(0, 0, 0))
pandaHprInterval2 = self.pandaActor.hprInterval(3,
Point3(0, 0, 0),
startHpr=Point3(180, 0, 0))
self.pandaPace = Sequence(pandaPosInterval1,
pandaHprInterval1,
pandaPosInterval2,
pandaHprInterval2,
name="pandaPace")
self.pandaPace.loop()
def spinCameraTask(self, task):
angleDegrees = task.time * 6.0
angleRadians = angleDegrees * (pi / 180.0)
self.camera.setPos(20 * sin(angleRadians), -20.0 * cos(angleRadians), 3)
self.camera.setHpr(angleDegrees, 0, 0)
return Task.cont
app = MyApp()
app.run()
and the environment can look a lot better
http://www.panda3d.org/screens.php
However with some of the games, you wouldnt even need panda3d library. Pygame could handle the 2d games well enough such as mortal combat. I believe you also can implement 3d models into it (although i have gotten that far as to say for sure).