Reverse engineering (was:Temporary modding) thread

Talk about creating Grimrock 1 levels and mods here. Warning: forum contains spoilers!

Re: Reverse engineering (was:Temporary modding) thread

Postby Halk » Mon Apr 16, 2012 3:44 pm

Oh it was worse than adfly, it was sharecash. They don't just show you adverts, they make you sign up for stuff.

viewtopic.php?f=3&t=1478
User avatar
Halk
 
Posts: 169
Joined: Wed Apr 11, 2012 8:18 pm

Re: Reverse engineering (was:Temporary modding) thread

Postby Jack Dandy » Mon Apr 16, 2012 4:39 pm

Hmmm, I see.

So let's say, for example:
If a modder would want to make a level that features retextured version of the game's tiles, or a monster that has the same model as the monsters in the game but slightly altered, he'll have to wait for something that's released by the devteam, yeah?

Let's see if I got it right: Is it likely that AH will release a program akin to Bethesda's G.E.C.K for their Fallout games, which allowed people to fiddle with existing assets, adding stuff to them, and release them as mods?

And what you meant was that doing so WITHOUT an official program (by hacking into the game's files and all that) and distirbuting it would be a big no-no.
User avatar
Jack Dandy
 
Posts: 476
Joined: Fri Mar 02, 2012 2:22 pm
Location: Haifa, Israel

Re: Reverse engineering (was:Temporary modding) thread

Postby UncleSporky » Mon Apr 16, 2012 5:47 pm

Then this thread is already in violation, correct?

Manually decompiled level 1 lua in the first post (pastebin)

Modified console.lua distributed in this post (dropbox)

Actually, I'd like to know more about what constitutes breaking the rules.

If we create a new level01.lua from scratch, new map, new enemy spawn locations, etc. are we allowed to distribute that? It still uses all the functions and definitions you created for LoG, though. Is that distributing a modification of your work, or something entirely new?

Can we submit files for review to be sure we aren't distributing something we shouldn't be?
UncleSporky
 
Posts: 17
Joined: Fri Apr 13, 2012 2:28 am

Re: Reverse engineering (was:Temporary modding) thread

Postby Sol_HSA » Mon Apr 16, 2012 6:51 pm


Yes. Those are in violation.

UncleSporky wrote:Actually, I'd like to know more about what constitutes breaking the rules.

If we create a new level01.lua from scratch, new map, new enemy spawn locations, etc. are we allowed to distribute that? It still uses all the functions and definitions you created for LoG, though. Is that distributing a modification of your work, or something entirely new?

Since it distributes stuff ripped from the game (ie, the functions and definitions), it's in violation.
EDIT: I misread the question; if you're just using symbols (not code that defines the symbols), I think it's OK. You couldn't do much otherwise.

Instead, if you write a program that performs the following steps:
1. Extracts the level01.lua from the game data
2. Performs modification on it based on user modified data (let's call this delta)

..then you can distribute the program that performs the above steps (which I'd call a "patcher"), plus the delta (since the delta only includes things done outside Almost Human), that would be OK by the rules.

Alternatively, wait and see what AH comes up with regarding modding support.

UncleSporky wrote:Can we submit files for review to be sure we aren't distributing something we shouldn't be?

In theory yes, but that would, again, add to AH's workload. I can't answer to this question.

Rule of the thumb is: if what you're distributing has any data that's copied from the game data, it's "tainted" and can't be distributed. It's entirely possible to make mods - by doing the abovementioned patcher - without your data being "tainted".
Reminder: moderators (green names) don't work for almost human. | http://iki.fi/sol/ - My schtuphh..
User avatar
Sol_HSA
 
Posts: 681
Joined: Fri Mar 02, 2012 3:10 pm
Location: Nowhere whenever

Re: Temporary modding thread

Postby seebs » Mon Apr 16, 2012 6:51 pm

antti wrote:I moved this topic to the new Mods subforum. We also wrote some rules about modding the game, please read them here: http://www.grimrock.net/forum/viewtopic.php?f=14&t=1560&p=14856#p14856

I hope the rules are reasonable for you.


Pretty standard. I will point out that there is something of a theoretical legal question in whether or not people are allowed to charge for code they wrote, which is that if their code doesn't include any of your code, it's not obvious what rights you have over it. I don't personally care much, but I'd point out that this has been a sticking point for people in the past.

All I ask is that you enable the developer console for us in some way that doesn't require messing with an exported/copied Console.lua. :)
seebs
 
Posts: 268
Joined: Sat Apr 14, 2012 8:58 pm

Re: Reverse engineering (was:Temporary modding) thread

Postby seebs » Mon Apr 16, 2012 6:53 pm

Sol_HSA wrote:
UncleSporky wrote:Actually, I'd like to know more about what constitutes breaking the rules.

If we create a new level01.lua from scratch, new map, new enemy spawn locations, etc. are we allowed to distribute that? It still uses all the functions and definitions you created for LoG, though. Is that distributing a modification of your work, or something entirely new?

Since it distributes stuff ripped from the game (ie, the functions and definitions), it's in violation.


I think "uses all the functions..." doesn't mean "includes the functions" but "includes calls to those functions which will only work when invoked inside the LoG environment". So it doesn't include anything ripped from the game.
seebs
 
Posts: 268
Joined: Sat Apr 14, 2012 8:58 pm

Re: Reverse engineering (was:Temporary modding) thread

Postby Sol_HSA » Mon Apr 16, 2012 7:03 pm

seebs wrote:I think "uses all the functions..." doesn't mean "includes the functions" but "includes calls to those functions which will only work when invoked inside the LoG environment". So it doesn't include anything ripped from the game.

If it only calls the functions (doesn't include source, decompiled source, or bytecode from the game data files), it's ok. Otherwise you couldn't do much..

or well.. I suppose it might be possible to do some magic there too, but that edges on being ridiculous.

Anyway, the API is not supported for the time being, so AH might change it at any time. Just another thing to keep in mind. =)
Reminder: moderators (green names) don't work for almost human. | http://iki.fi/sol/ - My schtuphh..
User avatar
Sol_HSA
 
Posts: 681
Joined: Fri Mar 02, 2012 3:10 pm
Location: Nowhere whenever

Re: Reverse engineering (was:Temporary modding) thread

Postby seebs » Mon Apr 16, 2012 7:25 pm

Yeah, not expecting any mods written against the current environment to be very permanent, but it might be fun to play with.

I'm more interested in the debugging stuff for now.
seebs
 
Posts: 268
Joined: Sat Apr 14, 2012 8:58 pm

Re: Reverse engineering (was:Temporary modding) thread

Postby UncleSporky » Mon Apr 16, 2012 7:37 pm

seebs wrote:I think "uses all the functions..." doesn't mean "includes the functions" but "includes calls to those functions which will only work when invoked inside the LoG environment". So it doesn't include anything ripped from the game.

Yeah, that's what I meant.

For example, here is a level I just made:

Code: Select all
mapName("The Best Dungeon")

mapDesc([[
################################
#....##....#####################
####.##.########################
####.##.########################
####....########################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
################################
]])

startingLocation(1,1,1)

function startitout()
    spawn("ceiling_shaft",1,1,0)
   
    spawn("wall_text_long", 4,1,1)
        :setWallText("What is up Sol_HSA! \n Is this ok to post?")
   
    spawn("torch_holder", 3,1,0)
        :addItem(spawn("torch"))
   
    spawn("peasant_breeches",4,3,0)
end

function ohcrapasnail()
    spawn("snail",10,1,3)
        :setAIState("guard")
end

startitout()
ohcrapasnail()


(I actually have no idea whether this would work in-game or not...)

Is it ok to post that? :)
UncleSporky
 
Posts: 17
Joined: Fri Apr 13, 2012 2:28 am

Re: Reverse engineering (was:Temporary modding) thread

Postby Sol_HSA » Mon Apr 16, 2012 7:39 pm

I'll wait for a dev to answer to that. My guess would be "yes".
Reminder: moderators (green names) don't work for almost human. | http://iki.fi/sol/ - My schtuphh..
User avatar
Sol_HSA
 
Posts: 681
Joined: Fri Mar 02, 2012 3:10 pm
Location: Nowhere whenever

PreviousNext

Return to Modding

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 2 guests