Creating IF Engine in Python with AIF game

This is more about the Engine than the game btw. Of course the engine is a parser text based engine for clarity. My plan is to use the engine on other IF games and AIF games. Also, I may put the engine out on github under one of the GNU licenses.

My engine is modeled after ADRIFT and with it the game developer is developing in Python. I also used the commands found on how to play interactive fiction card on pr-if.org (https://pr-if.org/doc/play-if-card/).

My reasoning to have the game developer develop in straight Python with no special UI or language, is that with an object oriented language like Python gives you all kinds of flexibility you will not have otherwise. For instance, you can put objects inside of objects inside of objects effectively making Matryoshka nesting dolls. Or have characters go into objects. Or put objects on characters, like a radio as opposed to having it in inventory.

I question on whether I would be putting myself in legal jeopardy or open for suit by the makers of ADRIFT. What do you think?

Eventually, I would like to make a turn based fight engine and and adult interactive engine, whatever that would look like.

3 Likes

There are, like, half a dozen independent development systems for making parser-based interactive fiction (the kind of game one can produce with Adrift), and Adrift wasn’t even the first. So unless you ported over significant chunks of Adrift’s code without due credit, or tried to also name your engine “ADRIFT”, you’re probably good.

What aspects of your engine are “modeled after Adrift”? Its main distinguishing feature is the graphical interface, which you say your engine doesn’t have.

(Adrift 5 is licensed under the BSD 3-Clause license, so you’d have to try pretty hard to get in trouble in that regard.)

6 Likes

Thank you so much for this information. This gives me a peace of mind.

1 Like

Since you’re looking at using straight Python for development, this descendant of Roger Plowman’s PAWS (That’s Python Adventure Writing System, not to be confused with PAW, Tim Gilbert’s Professional Adventure Writer) might interest you. I should point out that PAWS uses Python 2.7, which has sunset.

PAWS was pretty simple, development-wise: insert text into framework, expand framework as necessary, etc; meanwhile, the back-end of the system was exposed in case you wanted to tweak it to your needs.

Good luck, and keep us (or at least me >.>) posted!

4 Likes

I’m not positive what this bit means. But it sounds like you’re writing all-original code that just takes inspiration from how ADRIFT organizes things and in general that’s 100% okay and inoffensive; if I were doing such a thing, I’d just include an acknowledgement of taking inspiration from ADRIFT and not worry about it further.

In general even writing a wholesale workalike clone of software is fine provided you don’t:

  • make use of any copyrighted content (code, documentation, images, anything)
  • incorporate any trademarked terms (or names or images)
  • imply the owners of the original endorse your project (or otherwise use their name to try to promote your project)
  • tread on any software patents (and there are a lot of really bogus software patents in this world, though I’ve never heard of any in the IF world!)
  • do something they could claim creates confusion between your project and theirs
  • fail to comply with the licenses of included libraries, if there are any

But I am not a lawyer and this is not legal advice.

And if you still have any reservations, I bet it wouldn’t be hard to reach Campbell Wild to ask “this cool?” and I think odds are good the response would be “that’s cool”.

3 Likes

Thanks I’ll check it out.

1 Like

Thanks. Yes I took inspiration as in after using ADRIFT 3 for a long time I got the idea on how information was organized and interacted. So, I did something very similar but using my own code in Python. I had no access nor did I look at their code nor had any interest in doing so.

Thanks for the advice.

1 Like

Well, after a lot of coding and some success, I realized that yeah, it’s a lot of coding. So I’m shelving this project. Thanks to everyone’s advice.

1 Like