While a lot of Stardock’s development team has been interfacing with Gas Powered Games to continue to improve Demigod, the Elemental team continues forward.
Now a couple of things about Elemental that should be made clear:
Now, with those 3 points out of the way, let’s talk about modding.
In Elemental, we are building an engine that we are then “modding” into Elemental. The idea is that if we approach the game in that way, the game will, over time, become flexible enough so that players can mod it into all kinds of different land-based, turn-based games. If we get our way, a modder could take Elemental and make RISK, or a Lords of Conquest game or all kinds of other things like that.
For those of you not familiar with modding let’s break this down into its elemental (no pun intended) parts:
For items 1, 2, and 3 you will have the built in modding tools (early version pictured above). What you see above is where the modder can create a particular tile in the game. Maybe it’s a dungeon. Maybe it’s a going to be a city improvement. Maybe it’s ruins on the map. Who knows.
The plan is that players will be able to save these creations and post them to share with other players. When these creations are saved, they can choose what “mod” they go with. Elemental (for instance) would be the default choice that your creation could be used with. But if someone made a different game mod, they could save it there as well. That way, a mod could continue to be improved over time by the community. Players would continue to use the bestiary (you’ll see that late Summer) to choose which mods they want to make available for themselves.
For items 4 and 5, how flexible this will be will largely depend on time. Since I code the AI in Stardock games, I’ll have to be careful to make C++ APIs in the game that are fairly generic that I can then call from python scripts. I don’t know Python right now so there will be a learning curve. Users will be able to mod the scripts as they see fit for single player. In multiplayer, the scripts will come from our servers in order to make sure everyone is playing the same game (it avoids all that desync pain you see in games when someone has modded something and forgotten).
So that’s the direction we’re going. Now, bear in mind here, what I’m outlining here is what are goal is. These aren’t “promises” because as with anything, economic reality may come into play. But so far, things are going pretty well.
I'm also playing around with Python3 in my hobby projects because it's more fun, while I only have 2.6 at work (which is fine). Actually there aren't many gotchas, mostly:
- print function and division, both of which can already be used in Python2.6 ( from future import division, print_function )
- synctatic sugar: set literals etc
- no more distinction between string and unicode (you can read csv data using csv module without any additional workarounds...)
- new style classes (optional in python2.6)
- abstract base classes
My point being: unless you depend on some large code written in 2.6, it's really easy to switch to Python 3 or back.
--------------
I like Python3 a lot, but I think going with Python 3 right now might not be the best idea. While it's stable, some wrinkles are still being ironed out. It's also about 10% slower than 2.6, but that's to be expected, optimisations are added later. Hopefully switching from 2.6 to 3.0 won't be a problem for Elemental if it's sufficiently modular and well designed.
For those concerned about performance, Google (which now employs Guido van Rossum, Python creator) started a project called Unladen Swallow. They have plans to speed Python up 5 times within a year, using LLVM (Low Level Virtual Machine). No changes to code necessary, full compatibility is to be kept. Q1 2009 release is already out, and it already provides speedups of up to 25% One year may be too long to be viable for Elemental, but, again, if Elemental is modular enough it shouldn't be a problem to switch later. I hope.
http://code.google.com/p/unladen-swallow/
The conventional wisdom that interpreted languages must be slow by definition crumbles. There's a lot of research and modern concepts proven effective in practive (check out Unladen Swallow RelevantPapers section). Psyco already speeds up Python code about 6x on average (but unlike Unladen Swallow, it needs some extra stuff put into code, and there won't be versions for Python3 ). PyPy is an implementation of Python written in Python for research purposes. Parrot is a virtual machine tailored for the needs of dynamic languages, in contrast to Java virtual machine which is made for static ones. Parrot promises some crazy stuff, like writing a class in Perl, subclassing it in Python and creating an instance in TCL, or was it TK...
This progress is not exclusve to Python. CrossTwine supposedly speeds up Ruby 4x. http://crosstwine.com/linker/ruby.html
After sins and demigod, I am ready for some single player goodness!
If there will be indepth documentation to help noobs like me in wanting to make certain changes, I'm in love.
I just hope there are tools/programs to help do some of the tedious, easy stuff very quickly. Even making minor changes to civ4 required sifting through on my notepad, which became an absolute bore.
Thanks for the update Frogboy, glad to hear the progress and details! Looking forward to trying out the modding.
Also glad to hear and see Demigod is doing well!
Have you guys heard about Fall From Heaven II? It's a mod for Civ4 that turns the game into a fantasy world, complete with religions, spells and heroes. Get it here: http://kael.civfanatics.net/ (it's really, really awesome)
Frogboy, can I suggest you contact Kael (the guy who made the mod)? He is what you might call a 'pro modder', and we know he is interested in fantasy themed strategy games. I'm sure that he can give a lot of quality input regarding how the modding community works and what it wants and needs.
Sound good
Elemental will be a single-player focused game. It will have multiplayer but most of the development time will be spent on single player.
Mmm not sure i really like this.Demigod is clearly a multiplayer game and single player is there just for "practice" and i'm ok with that approach, however usually single player focues game tend *not to work* well online.Imho one of the very few strategy game that works well either single and multi is civ4+beyond sword+fallfromheaven2 which though being clearly single player focused can be quite enjoiable online.
Elemental takes from the immense burden on improving on a milestone of computer gaming (MoM) and i think its a given that the *minimum* requirement to be considered succesfull is to be at least as good (which 15 years later strange as it sound isnt so easy).Now both MoM and MoO1/2 were single player game but multiplayer was IMMENSELY fun though not really balanced, can we at least expect something similar or multi will be an aftertough without any real polish?
Thanks for your time (before you ask.. i preordered in the very first day:P)
I'd like to add since previous poster mentioned it aswell.
Fall from Heaven 2 (+ eventually Fall Further) is definetly one of the most enjoyable mod ever played.. basically alone make Civ4 a completely new game (also better imho) and if there is even the slimmest chance to get kael crew on board on elemental you should really do it.
Just to clarify if FFH2 would be sold as a complete addon for Civ4 i'd buy it instantly no question asked, is that good.
As a developer who's already, for fun, written an interactive 3d engine powered by Python logic, I'm intimately familiar with the process behind this and I must say it pleases me greatly. The only issues I had trouble with were making sure exceptions didn't crash my program outright, but this was solved with some creative decorator usage. Python's an infinitely fun language that's both instantly accessible & easy to use, but also has powerful higher-language features as well (co-routines, metaprogramming, decorators, closures, etc). It's definitely re-vitalized my zest in programming over the past few years. I can't wait to see how Elemental turns out and will be keeping a close eye on development. That said, might as well pop on with Python 3.0 as it's the future of the language. The only thing I'm sad about with Py3 is that they're removing automatic tuple unpacking from argument lists. That will make some more complicated lambda expressions / mapping a bit more work.
read reply#45 in this thread
We already know that many people doesn't bother reading the threads' replies but no need to point it... ops!
When they're asking him to get in touch with a guy that's already posted in the thread, it's a rather appropriate response...
Shame on me !
This is likely already asked: But why the incredibly high poly count? A scene like that shouldn't even be nearing 500polygons!
Yeah...
Verticies are measured in the billions these days. Even going back to a 6800, you have over half a billion verticies a second.
could this be the game for me to mod into Pimprachaun, the game about a leprechaun pimp?
I understood the words "mod" and "pimp"... you'll have to explain yourself
He wants to mod this game into... something.
I think it's a little like Custer's Revenge, only with more fantasy... and in a folktale-like setting . (Although I, personally have never played it, Mom-who-I-am-convinced-reads-these-forums-afgter-I-go-to-bed)
Haha just a character I invented eleven years ago when I was a freshman in high school.
I always consider modding a game to star him, but I never do.
And NO the game would not involve rape the way custer's revenge would..
Wait, I had a point here somewhere.. but I think I lost it.
Goodmorning all, a few quick things. 1. on modding: How possible is it to make mods multiply selectable. I know from GC basically running two mods at once was difficult, and to really do so one needed to make a new mod that contained both or all previous mods. I don't know much about modding, is it feasible to have modding be sufficiently structured and modular that the software can intelligently merge non conflicting mods without help?2. re: I think Frogboy ment that NPC AI scripts will come from thier servers, means that AI scripts governing NPCs would come from thier servers. Given Frogboys love of AI I suppect we could twist his rubber arm and let us build are own AI's and Run them as full users against eachother and against his AI scripts, IE have a AI Human player, we upload the AI for one faction and the AI's battle it out. Even having Pure AI competitions and Pure AI touraments. Game looks interesting, keep it up.
I actually created a character in 5th grade, who I often consider adding into some sort of a mod: his name was Tiro Sakai (which is my own name, messed up), and I created this entire story around him set in the Metroid universe (more or less: I made up a lot of my own stuff, and pulled in some things from a relatively old game known as Jak II). The whole thing got very complex, very quickly, and I still add stuff to it.
What version of Python is going to be used? I'm setting up my IDE for python support and need to download the appropriate interpreter...
There are many great features available to you once you register, including:
Sign in or Create Account