creatures caves welcome, guest
downloads   gallery   dev   community   creatchi   forum   mycaves
bookmarks | search | post new topic
Development Forum
old
c2ephp   
nornalbion

nornalbion
United Kingdom  


  6/13/2010

Hello all. This thread has been cross-posted from the one on creaturetopia.
Since July 2008 I have worked on and off (mostly off) on a project called c2ephp.
Today I am releasing an initial version (Version 0.9) of it.
There are three reasons I am releasing a version today.

* The first is that I want to have a reason to work on it. I want people to tell me this is a great idea, and that I should keep working on it.
* The second is that I want people to know about it and know it exists, so that they can come up with ideas for websites using c2ephp's technology. If you make something using c2ephp, link to it in this thread! I am dying to see what other people can do with these functions.
* The third reason is that I need help. As you can well imagine, this is a project with a great deal of scope, and an awful lot of code behind it. c2ephp currently stands at a whopping 2,000 lines of code, excluding the CAOS syntax definition files. And it's not nearly finished yet.


****What is c2ephp?****
C2ephp is an open-source pure PHP library for dealing with various formats used with the creatures series of games. At the moment, this means all forms of PRAY files (.agent(s), .creature, .family), COB files, and all forms of sprite files. In addition I have a working and relatively intelligent CAOS syntax formatter and highlighter that creates HTML code suitable for putting in a <code> block.
I forgot to mention this next bit previously, but c2ephp is actually the brainchild of Joey Sabey, alias GameFreak7744. We began working on it in parallel. A lot of the S16 and C16 sprite code is his invention, though I have since modified it in various ways. His life took over and I had to become lead developer to keep the project going.

****What do I need to use c2ephp?****
Firstly, you need PHP. c2ephp is tested on whatever version of PHP is in the Ubuntu Lucid repository. I say this because it changes to receive updates. I believe c2ephp will work with any PHP version after 5.1, but I do not know for sure. For what it's worth, I am currently using 5.3.2. c2ephp certainly requires PHP 5 or later
Secondly, in order to use the sprite functions of c2ephp, you will need the PHP GD library. This library can be obtained using
apt-get install php5-gd
on most Debian-based (e.g. Ubuntu) systems, or if you downloaded PHP from the PHP site, it is part of the bundle you downloaded.

****What does c2ephp do right now?****
Right now, c2ephp has the following features available with stable APIs (that means that the way they're done now won't go away):


* Compiling and decompiling PRAY files
* Reading TagBlock data
* Compiling and decompiling creature history blocks.
* Reading C16, S16, and SPR sprite files and outputting as PNG.
* CAOS->HTML syntax highlighter for Creatures 2 and later syntaxes.

While c2ephp currently has COB support, it will be changing significantly within the coming week.
I also have a little demo site to showcase some c2ephp functions.

****When is Version 1.0 coming out?****
I don't know! I really want to finish Version 1.0 in time for release during the CCSF 2010. Preferably at the very beginning. There's not a huge amount of code left to get it ready for Version 1.0, but code isn't the only thing it needs. I will release a code-complete version of c2ephp as Version 0.95, and once documentation (and bugfixing if necessary) is done I will release Version 1.0.

****What features will Version 1.0 have?****
My main aims for Version 1.0 are the following:

*Full support for decompiling and compiling PRAY files (complete)
*Plenty of convenience functions to automate common tasks, such as getting names from AGNT blocks, which is currently possible but you have to use GetTag('Agent Name') instead of GetName()
*Read and write support for all sprite file formats, and functions to convert between sprite formats.
*Full read and write support for C1 and C2 COB files


****What features are coming after Version 1.0?****
I don't know yet. I want to have functionality to easily create images of norns given a sprite directory. I'd also like to be able to decode the elusive CREA PRAY block, though I doubt I can manage that myself. Other things I'd like to decode are world files, especially C3/DS ones.

****How can I help?****
The best way you can help right now is to document my code! I know it sounds weird, but to someone who just wants to work on the project, documenting is a tedious task that takes attention away from the primary goal: Adding features and fixing bugs. So if you're a relatively competent programmer then please look over my code, find undocumented functions, document them in the same format I have, and then send me those files!
Additionally, once Version 1.0 is out of the way, you can send me resources on the structure of genetics files. Apparently the ones on the CDN are not 100% correct, so any info you can give me about the actual file format would be great.
If you know anything about the structure of world files, or anything I've forgotten about, then let me know.

****How can I find you?****
If you want to submit resources about the format of various files used by creatures, then (preferably) send me a message on github. If you don't have a github account, then send me a private message on creaturetopia.
If you want to submit a patch, bug report, or feature request to c2ephp, then open an issue on the c2ephp github issue tracker. This will require a github account, and I can't really afford to have any other way of doing it, sorry.
When submitting a patch, it is preferable for you to be creating the patch using git diff on a git repository.
If you want help in submitting a patch or working with c2ephp in general, then find me in the Creatures Community Chat - #Creatures on irc.wyldryde.org - I'm usually in there and will be able to help you out. If not you can PM me on creaturetopia or message me on github.
Sorry guys, but I probably won't be checking this thread on creaturescaves much, so if you want to help out, please please use the github issue tracker, talk to me on CC IRC, or if you have to, post on the ctopia thread.

****Where can I find the documentation for c2ephp?****
Documentation is available on the c2ephp github site. It's very minimal at the moment, but I'm going to make that a focus once I finish COB support.
Alternatively, if you have doxygen you can generate the documentation by simply running "doxygen" from your c2ephp folder.

****So...How do I download c2ephp then?****
Go to the c2ephp github download page, of course! :)

Update: There are a couple of huge bugs in c2ephp 0.9, so I've fixed them and put them into a new version, 0.9.1. It's preferable for you to use that if you want to highlight CAOS or deal with egg agents in C3/DS

 
xan

xan



  6/22/2010

I just wanted to bump this topic because it's totally being ignored and it totally shouldn't be

Probably because it includes words like 'source code' and 'please'

but really, cool work bro

 
Don

Don


 visit Don's website: AmberCreatures
  6/24/2010

Its a brilliant project; It was also posted to Creaturetopia which is where its getting replies :)

Don
AmberCreatures


 


downloads
cobs
adoptions
creaturelink
metarooms
breeds
 
gallery
art
wallpaper
screenshots
graphics
promos
sprites
dev
hack shack
script reservations
dev resources
active projects
dev forum
 
community
links
advice
chat
polls
resources
creatchi
 
forum
bookmarks
general
news
help
development
strangeo
survivor
mycaves
log in
register
lost pw
1 online
lisdude
creatures caves is your #1 resource for the creatures artificial life game series: creatures, creatures 2, creatures 3, docking station, and the upcoming creatures family.

contact    help    privacy policy    terms & conditions    rules    donate    wiki