Introduction to Cyphesis

If you've ever played an RPG on a computer then you were probably disappointed with the level of intelligence of the game's monsters and NPCs. Sure the game was fun at first but as you played the game more and more you began to see the game settle into predictable and unchanging patterns. Monsters always show up in the same places and NPCs always say the same things... Boring!!! Most game AI is built around the premise of 'how can I make this creature appear as if he is intelligent." Cyphesis chooses the completely different route of giving creatures real intelligence, thoughts and goals. Wouldn't it be nice to play a game where the world around you is always changing and presents new challenges each time you play because the inhabitants of the world are genuinely intelligent beings? Search no farther weary traveler for Cyphesis is here to relieve your boredom!

Cyphesis will be the AI Engine, or more plainly, the intelligence behind WorldForge (WF). Cyphesis aims to achieve 'live' virtual worlds. Animals will have young, prey on each other and eventually die. Plants grow, flower, bear fruit and even die just as they do in real life. When completed, NPCs in Cyphesis will do all sorts of interesting things like attempt to accomplish ever-changing goals that NPCs set for themselves, gossip to PCs/NPCs, live, die and raise children. Cyphesis aims to make NPCs act just like you and me. Every time you play WF Cyphesis will make the game different and interesting because PCs and NPCs will all be individuals with different aspirations, goals and their own methods for reaching those goals. There are so many things that will be implemented within Cyphesis that it's hopeless for me to cover all of them here.

By now you're probably saying to yourself this is the most powerful sounding AI I've ever heard of, how do you intent to pull it off considering the limited processing power of computers? Cyphesis will use a distributed network of servers and clients that will control individual NPCs thoughts and decisions. These thoughts, decisions and actions will be transmitted to a STAGE Server where these thoughts will be transmitted to other clients. I'd recommend that you visit us on IRC at irc.worldforge.org and join the #lounge channel if you still have questions about Cyphesis after going through this introduction.

Cyphesis is currently written mostly in Python with lower level modules written in C++. Python is very famous for it's short coding times, structured and easy to read syntax. Python isn't difficult to pick up esp if you already know another programming language. If you're a programmer you'll be interested to note that Python is called just like an API and is easily embedded in C++, Java, Delphi and many other languages that I don't know about. For people who've never programmed before, the Python novice can write useful programs almost immediately. Python will teach (and force) good coding habits that will follow you around other languages you might learn. If you would like a good introduction into Python's strengths, weaknesses and why you should learn Python you should check here. An excellent tutorial aimed towards teaching the beginning programmer Python (other language examples are mentioned) you should visit is called Learning to Program or try Livewires for some serious hand holding. :) You can download the zipped up version of Learning to Program here and Livewires here. If books are more what you're looking for "Teach Yourself Python in 24 Hours" (Ivan Laningham) is excellent for beginning coders while "Learning Python" (O'reilly) is probably sufficient for people with prior programming experience. At some point you will probably want to get Programming Python as a wonderful reference.

Go ahead and take a look at the screenshots and see what has been done so far or read on if you're more technically oriented...

For the technically inclined...
Cyphesis will be the only server used in our concept game Acorn and will handle all communications both to and from the client as well as (relatively) simple AI. The Cyphesis Server uses the Atlas protocol for communinication. Eventually as our other server, STAGE matures it (STAGE) will handle client connections and Cyphesis will just do the AI for WF. We anticipate STAGE to begin use in our 3rd game Mason.

Back ~ Next