egomassive's Knytt Stories Plus mod

  • 1097 Replies
  • 455976 Views
*

Offline sergiocornaga

  • 1286
  • 131
    • View Profile
    • Sergio's Games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #30 on: October 14, 2010, 05:58:27 »
How goes it? Any new features? Is your MMF2 demo going to run out soon... or perhaps it already has?

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #31 on: October 14, 2010, 18:18:32 »
Today is my last day with the MMF2 demo. Since my last update I added custom color support for all of Bank 7 and added external sprite sheet support for a few more Bank 3 objects. I worked on some cheat modes, but I removed them from the source I plan to release because they weren't finished.

I'm currently putting together a source package. I'll need to get permission from Nifflas before releasing it, because it includes the Knytt character and some internal graphics have been put in external sprite sheet templates.

*

Offline sergiocornaga

  • 1286
  • 131
    • View Profile
    • Sergio's Games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #32 on: October 15, 2010, 13:09:30 »
Do you think you could get Nifflas (or someone else) to compile it too?

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #33 on: October 15, 2010, 18:56:58 »
I expect the first thing an MMF2 owner will do is compile it. Sharing the build raises ethical issues. There's a reason the demo won't compile projects. Having someone else do it for me is a circumvention. I wouldn't be surprised if it violates the EULA. I intend to release it under the pretext that MMF2 owners can see how I made the changes, so they can replicate them in their own projects.

That said, I think it's a non-issue since I plan to purchase or borrow a full copy of MMF2. I don't mind if someone posts my mod, but it's incomplete. Only 38 of 312 visible objects support custom graphics. There are bound to be bugs, which I can't fix right now.

*

Offline Headgrinder

  • 901
  • 35
  • Smart Steel Polisher
    • View Profile
    • www.matthewepperson.wordpress.com
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #34 on: October 16, 2010, 13:59:35 »
I've tried to be a programmer in the past and failed, so I'm very excited people are interested in improving on the original KS.  So, thank you very much for your work.  :D

*

Offline GrayFace

  • 805
  • 61
    • View Profile
    • my site
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #35 on: October 22, 2010, 10:14:56 »
Today I've also decided to do some modifications to KS. So far going pretty well. MMF2 is working, XLua is up and running and now I'm adding events for it. However, spending $119 (price written on their site for US) on MMF2 would be a waste IMO.
« Last Edit: October 22, 2010, 10:18:37 by GrayFace »

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #36 on: October 23, 2010, 03:23:06 »
I avoided XLua because I thought it was silly to force MMF2 to use a real language. Programming in a high level language should be an option. I think the reason it isn't an option is to force you to pay the $119 USD to reap any reward from your work. I'm looking for a used copy of MMF2 or even to borrow a copy.

Hmm... I believe rrc2soft rewrote KS in C++ for his KSDS mod. I should contact him and see about unchaining KS modding from the MMF2 entry fee.

*

Offline AClockworkLemon

  • 708
  • 2
  • -Inactive-
    • View Profile
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #37 on: October 23, 2010, 04:16:25 »
I avoided XLua because I thought it was silly to force MMF2 to use a real language. Programming in a high level language should be an option. I think the reason it isn't an option is to force you to pay the $119 USD to reap any reward from your work. I'm looking for a used copy of MMF2 or even to borrow a copy.

Hmm... I believe rrc2soft rewrote KS in C++ for his KSDS mod. I should contact him and see about unchaining KS modding from the MMF2 entry fee.

Indeed.
C++ isn't the only option. I had a fiddle around, and got a basic idea of KS working in Game Maker. I wouldn't be surpriesd if someone with a bit of flash expertise ( i would give it a go, but im working on something else) could make KS in flash either
I'm not dead. Not entirely. And yes, I'm embarrassed by most of the posts I made here.
:hiddenstar: - From Pumpkinbot

*

Offline AA

  • 510
  • 23
  • Was ITA84
    • View Profile
    • Insight on Videogames
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #38 on: October 23, 2010, 09:21:46 »
Hmm... I believe rrc2soft rewrote KS in C++ for his KSDS mod. I should contact him and see about unchaining KS modding from the MMF2 entry fee.
I think it's in plain C, not C++. PAlib doesn't look very port-friendly to me, but I'm not that experienced. I suppose you could get the code for movement and for the various objects from there at the very least, but building a more flexible mod from there could end up being harder than starting from scratch.
Videogames are for everyone, by everyone

*

Offline GrayFace

  • 805
  • 61
    • View Profile
    • my site
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #39 on: October 24, 2010, 04:25:17 »
How do you flip the custom objects to the needed direction? I can't find a way to do this with Animated Picture.
« Last Edit: October 24, 2010, 08:36:40 by GrayFace »

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #40 on: October 24, 2010, 23:41:04 »
After more thought I decided not to remake KS in a different language. If I'm going to do that much coding, it'll be for my own game.

On releasing the code, I haven't heard back from Nifflas on the PM I sent him last week. Will try e-mail.

@ GrayFace: I used the roto-scale feature of Animated Pictures to flip them. You must first set the angle to zero; This only has to be done once per object. Set the scale-X to 1 for normal or -1 for flipped.

*

Offline GrayFace

  • 805
  • 61
    • View Profile
    • my site
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #41 on: October 26, 2010, 08:14:06 »
I've tested the "Animation -> Load Frame" action and it seemed to work fine, although it changed graphics of all objects of the same type, not just one as I wanted. Why don't you simply use it to replace standard objects' graphics?
« Last Edit: October 26, 2010, 09:20:34 by GrayFace »

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #42 on: October 26, 2010, 13:15:15 »
^: I'm not sure I understand your question. I am using Animated Pictures (AKA: Custom Objects) to "replace" standard object graphics. Is this something XLua can do directly?

If you try to send an instruction to a CO from a "behavior" then the instruction will be sent to every CO on screen. To make it work you'll need to add CO's to a group, I used "friends". Then you'll need to add a unique identifier to each Animated Object/CO pair, I used "friends" count-1. When you pass instructions to COs you need to do it in the Main event area of the "Gameplay" frame. Match identifiers of the animated objects and COs by looping through the "friends" group. There will be 3 conditions on every event in addition to what you're checking for. The following is pseudo-code because I don't remember exactly:
on loop "sync"
Friend.identity = loop "sync".iteration
ActiveObject.identity = loop "sync".iteration

Note: Make sure you pass instructions to COs using the group's column.

Or at least, that's how I got it to work. I'd only been working with MMF2 for 3 days when I figured this part out so it's likely there is a better solution. If there isn't then MMF2 is ridiculous.

Edit: 02August2011: There is a better solution for what I'm describing above. I'm going to put it here for the benefit of future readers. First of all, I was explaining how I got 2 separate objects to interact with each other while not affecting other objects of the same types. It really all comes down to giving the 2 objects the same unique identity. Store this value in them in the same event they are created in. This way it will only be stored in the newly created objects, rather than all objects of the same type. Afterwards, when you want to make an adjustment to one object based on the state of the other. First create a loop that will iterate through the possible IDs. Then create an event that includes filters for the loop itself (On Loop), comparisons between both objects' IDs and the loop value, and whatever conditions you want to act on. What is extremely important here is how you make the comparisons between both objects' IDs and the loop value. The objects must appear as the left conditionals in both comparisons. Right conditionals do not filter the field of similar objects. If you do it correctly, then any actions taken will only affect the two objects in the pair. It even works from within behaviors despite things being passed by reference.
« Last Edit: August 02, 2011, 23:35:00 by egomassive »

*

Offline GrayFace

  • 805
  • 61
    • View Profile
    • my site
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #43 on: October 26, 2010, 17:40:51 »
Yes, there is a way to do object references: http://www.sonicfangameshq.com/forum/showthread.php?p=128888
This still doesn't work very well, because a check condition added after the "pick by fixed value" condition seems to still iterate all objects of the kind and reset the 'pick' thing.
In XLua individual objects are assigned IDs. There are some operations you can do with objects directly (from XLua) - like changing position, cadre number. To add more operations I make functions in MMF in which I also use values comparsion across all objects to pick the one with the right ID.
But what I meant is that there is a straight-forward way to change appearence of an object, just an action from object's menu. Like, you can replace all save points with crocodile pictures. What you can't do this way is replace just one save point if there are two of them on the screen.

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprites for standard objects and other mods
« Reply #44 on: October 27, 2010, 01:27:19 »
Oh I see. I have an idea that may help. You can use internal flags to initialize objects at creation time. For example object 4:9 decides which direction to face based on Juni's entrance position. After each one is created it turns on a flag to prevent the next one that is made from overriding this setting.