Well, been with Panda for a while now and I have recently reached a state where I can show some basic mechanisms, i.e. movement in a system, jumping, the starmap, target selection and trading.
What is it? It’s basically a recreation of the Escape Velocity games that I played in the mid to late 90ies and beyond, my favorite being the 1996 EV: Override. The gameplay of the EV games is more or less an advanced Elite. Back then there wasn’t much in Mac gaming, so the EV titles and the company behind it, Ambrosia Games, were a rare exception and a constant on Mac magazines and schoolyard floppy trading activities. Today you got plenty of games like this, both big blockbuster titles and small independent ones. One reason for the success especially of the first game was it’s modability, i.e. a rich plugin culture. Looking at the EV games today you realize that the design never ages and how polished the titles were. The right learning curve, good art, the right mix of exploration, combat, trading and even basic space conquering mechanics for the late game. I never really played the third and final game, EV Nova (2002). It brought in some changes that I and other players didn’t like and of course there were other games to play. There already is a modern remake of the EV gameplay, Naev (an anagram of New Escape Velocity). They have already come far, so I recommend to take a look if you’re interested. I started in spring 2008 with a different engine and switched to Panda in spring 2009. I spent too much time (months) on creating a lot of ships, that I currently don’t even need, instead of learning Python and do coding. There’s a lot of stuff in there, so there’s little chance my project will ever go somewhere.
Here’s some gameplay footage: filefront.com/15665351/Panda3D_20100223.mp4
and here some short clip having fun with volumetric lighting filefront.com/15669025/Panda3D_20100224a.mp4 Quality is not what it should be, the game looks a lot better and smoother then this - blame the recording software. Or Apple, as two different recording apps I tried produced similarly bad results.
I’m not really looking for feedback and criticism right now, so just enjoy. The sounds are all placeholders found on the web; the starmap loads too slow and propably sticks too close to the EV design; etc pp.
Things I do need help on:
Notice how at the end of the first clip when I go back to the menu the FPS suddenly drop - obviously the cleanup is not as clean as it should be. Anybody got suggestions on this one?
A non-perspective camera lens to give the game more of a 2D feel.
The current working title is Mare Ceti, which is just an internal name. Looking for suggestions here too.
Oh and my question thread still got things unanswered.
Looks truly amazing! Great job!
How about packaging it as .p3d and placing it on some webspace so that we can play it by ourselves?
wow, I like it but you should post it up so we can play it ^^ I would like to test it out:).
The most basic AI is in, a weaponless trader that just enters a system or starts in it, stays at the planet and then goes to jump out. And the radar is in. Just for testing I also added a bit of glow.
Landing and jumping are gone due to task issues. Target selection also gone since the current simple mechanism relied on ships never leaving the system.
I will not upload the “game” anywhere to soon, dont want to give my assets away and nobody has to see those horrible scripts.
Quite long, I know. Don’t know what exactly has happened since the last video, but here’s some stuff that I added recently:
- basic weapons (player-wise) & collisions
- target selection & display
- ship explosions
- read & write of player save games
- the map where you chose your travel route - special thanks to Astelix and ynjh_jo
- fuel bar & refuel
- little thing like zooming via mouse wheel
Carrier has arrived!
QuickTime container, x264 compression, no sound.
Played around a little with AI.
Little 1920x1200 clip.
The federation has a medical ship that is part of fleets and heals them. Dont have the AI for that yet, but the WIP effect.
QuickTime container, x264 compression, no sound.
That looks awesome! Your game is coming along really nicely. Can’t wait to see it finished; keep up the good work!
1280x800, x264, QuickTime container, no sound.
Just some experiments with a “night time” look and volumetric lighting.
Combined with ynjh_jo’s contour shader: s7.directupload.net/images/100827/nquczj8c.jpg
Always nice to see your updates.
It reminds me of an old game called Solar Winds.
With the help of ynjh_no, rocket trails are in.
Which mortal perils might the player encounter at the edge of known space?
Two short clips (1280x720, x264 in QuickTime mov container), no sound.
And another clip, again 1280x720, x264 in a QuickTime container, no sound:
This one was recorded with too many prints spamming, so this one is with very low FPS:
gamefront.com/files/20137480 … 110316.mov
Here the general low FPS problem is not solved though. It’s not the line-of-sight collision test. Removing those does not bring the FPS up. There’s an additional massive FPS drop or freeze moment when a ship starts exploding. I have no idea why this occurs. All I do is adding a doMethodLater task with a 0.3 step that ends after a few seconds and removes the ship.
gamefront.com/files/20138190 … 10318a.mov
gamefront.com/files/20138178 … 10318b.mov
gamefront.com/files/20138046 … 10318c.mov
gamefront.com/files/20138140 … 10318d.mov
Bradamante, how are you doing the rocket trails?
You mean those dot-based ones, not the line-based ones? Like this … Problem is it’s way too costly. Especially when I put all kinds of lerps onto it, like making them transparent, smaller etc.
If you have a speed optimization, please post it.
# creating the shot model
shot = render.attachNewNode("shot3d")
projdottask = taskMgr.doMethodLater(0.15, createProjDot, "createProjDotTask", extraArgs=[shot, weapname], appendTask=True)
def createProjDot(shot, weapname, task):
projdotcm = CardMaker("projdotcm")
projdotgen = projdotcm.generate()
projdotnode = render.attachNewNode(projdotgen)
dur = 0.65
projdottransp = LerpColorScaleInterval(projdotnode,dur,Vec4(0.75,0.75,0.75,0),Vec4(0.75,0.75,0.75,1.0))
projdotseq = Sequence(projdottransp, Func(projdotnode.removeNode)).start()
# in Collision handler:
New video, it’s the fundamentals of the new Defense Mode (somebody got a better name for that? or for the game for that matter?). You help local authorities (Federation in this case) defending unarmed, harmless traders against incoming Pirates.
In the last two years I largely didn’t do much development because of real life matters. In recent months I re-wrote the whole thing:
- added class composition, more FSMs
- spread code in modules
- removed duplicates
I removed some performance issues and added big and small features: Defense Mode, better AI, ship messages, etc. Too much to name them all.
It looks very nice. If you polish it a bit, I’m sure you could sell it. In the current humble bundle there is a quite similar game - at least from gameplay design.