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

KC11
United States  

 visit KC11's website: DragonClawWritings (Tumblr)
  4/5/2016

Weird question: What sort of computer language/languages were third party creatures tools such as Devthing and GeneLab made from? I've been wanting to make my own third party tool but I'd kinda like to know what I should start learning.

Of course things have changed since these tools were made, so any suggestions on this would be great.


Do not upset the ugly worm, lest it be a dragon in disguise. (>oo)>

 
Moe

Moe


 visit Moe's website: Creatures 2 to Docking Station
  4/5/2016

Depends on the tool. I'm not sure about those you mentioned, but easyPray was Debian, Bobcob was Visual Basic, Jagent was Java, Zeus was Delphi (ironically). All the official tools were C++. The MNG tools were one of the .NET languages, I believe Visual Basic.

Pretty much any language can be used to interface with Creatures. Do you currently know any, or are you trying to find out so you can narrow down the field of options?

You should keep in mind that some of those languages are not as widely used as others. You'll have a tougher time using Delphi or Debian. Others don't work cross-platform very well. The .NET languages such as C#, and Visual Basic will require the user to have the .NET framework installed which, until somewhat recently, was Windows only. You'll need to use the Mono kit for that to work on other system reliably.

Java is good across all platforms and relatively easy to learn, but it's a bit slower than the other languages. (Then again, "slow" is a relative term...if you were making a game I'd avoid Java, but if you're making a tool, go for it! Speed isn't an issue for that!)

C++ is the native coding language of Creatures and of the languages it's the most fundamental and arguably the most powerful of the ones listed. It is however one of the hardest to learn since it's older and not as shiny as these "new" languages like C# and Java. Still, for learning the fundamentals of programming, it's an excellent choice.

If you're not worried about cross-platform use, go for C# for Windows. If you want an easy language and do care about cross-platform, or are running on a Mac or Linux, go for Java. If you really want to get down and dirty with coding, go for C++.

The good news is, once you learn one language, the rest can be picked up very quickly. They all behave in almost the same way, so it's just a matter of learning new syntax and the "alphabet" of the language, so to speak.

Hope this helps! Also, it's good to see you around! :)

 
KC11

KC11


 visit KC11's website: DragonClawWritings (Tumblr)
  4/5/2016

Thanks! I learned a little programming through Visual Basic back a few years ago, but only the basics. I was mainly trying to find out to narrow the options down. I think I'll probably focus on Java for now.

Now that my school has wound down significantly I can focus on this sort of thing, hopefully so long as I don't get caught up in something other thing. Again, thanks so much!

Edit: Another question I guess: Do you think Java would help with creating a program that communicates with and alters game files? I had the idea of creating a program that updates basic gen files to CFF or CFE or any other of the "updated" genes that have been made recently.


Do not upset the ugly worm, lest it be a dragon in disguise. (>oo)>

 
Moe

Moe


 visit Moe's website: Creatures 2 to Docking Station
  4/5/2016

Java would be a great choice for the task. It's flexible and not all that different from Visual Basic in the way the languages are structured.

I'm afraid you're asking questions into areas where I only understand basic concepts myself. :x

From what I understand of programming however, it shouldn't be a problem. As long as you can figure out the file formats, their headers, and structures, you should be able to load and manipulate them however you wish.

I'm still a novice programmer myself, so in this regard, I only understand the concept, not the practice.

 
Papriko
Peppery One

Papriko



  4/6/2016

Once you understand the language, you only need the headers and the file structure. Gene files are, like all other files, just a huge string of bytes. The first and most important thing is to chop the string down according to certain rules, e.g. by the length of certain genes.
So you essentially write 2 functions, one which disassembles the file into a less efficient yet easier to handle format and a second which puts it all back together.
Once you get that done, you can start to tackle modifying it.

Another nice thing is that you can recycle huge parts of code once you have your framework done. If you make a CFF-i-fier tool as you suggested, you can use the same save/load routines if you wanna make a fully blown gene editor for example.

I might be wrong, but I believe to remember that most of the basic file formats were explained somewhere in the depths of the CDN articles. Anyone know of a backup of those?


Lets play plants! Photosynthesis... Photosynthesis... Photosynthesis...
 
Moe

Moe


 visit Moe's website: Creatures 2 to Docking Station
  4/6/2016

Oh wow I didn't even notice that the website was down. That's tragic. :(

I do have a PDF version of the entire CDN however. Somewhere in my younger days I must have gotten spooked and saved the whole lot. lol And sure enough, I searched it for "file format" and there are several pages on the subject of the gene files.

Unfortunately I haven't actually shared anything over the web in a long while. Any suggestions as to where I can upload it? If someone wants to host it, I can send it over email via PM.

Edit: The .co.uk version is on the Internet Archive. :)

 
evolnemesis
Code Monkey

evolnemesis



  4/6/2016  1

You might want to have a look at Chris Double's site.

He used a functional language called Dylan, which I am not familiar with, but he did some really cool things with it, made several very useful utilities, including a developer runtime library he designed with all kinds of functions capable of talking to the running C3 game engine and built most of the utilities with.

This page is great even if you will not use the same environment or his library though, he has source code and LOTS of useful developer information for people interested in this kind of thing, details of the shared memory interface you could use to make a similar library with ANY language to talk to the C3 engine and work with gene files, and more.


"For small creatures such as we, the vastness is bearable only through love."
"We are a way for the cosmos to know itself." - Carl Sagan

 
KC11

KC11


 visit KC11's website: DragonClawWritings (Tumblr)
  4/6/2016

Wow, I completely forgot about that site. I remember I used to download gene compare and stuff like that from there.

I'll take a look, but I do remember getting somewhat frustrated with trying to use those programs since they did require installing other things. It'll be a great framework but if I do manage to make this I want to make it as user friendly as possible.


Do not upset the ugly worm, lest it be a dragon in disguise. (>oo)>

 
ham5ter

ham5ter


 visit ham5ter's website: Creatures.Ham5ter.de
  8/3/2016

Maybe this will help you.
C# based Caos Injection Library
Example Tool using the Libary
Chris Double's Site

Edit:

Sorry for resurrecting this long gone thread... i did not check the date


moep!

 


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
0 online
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