egomassive's Knytt Stories Plus mod

  • 1097 Replies
  • 444621 Views
*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
egomassive's Knytt Stories Plus mod
« on: September 19, 2010, 11:33:38 »
I'm rebooting this topic since I have become positive that this mod will see completion. The opening post is preserved below in spoiler tags. New discussion starts on page 4. And so, I present to the community:

KS+ Download it at egomassive.com/ks

Spoiler: Main Features (click to show/hide)

Spoiler: Additional Features (click to show/hide)

Spoiler: Level Editor Info (click to show/hide)

The game download contains a folder that needs to be merged with your existing Knytt Stories folder. It also contains a readme and an instructions text that details how to make Override Custom Objects and all the new script instructions.

Some technical things to note: This mod makes changes to save files and the settings.ini. These changes will not affect the functionality of other versions of Knytt Stories, but they will remain if you delete this program. There are also new object images added to the Data/Objects folders for level editing.

Spoiler: Original Opening Post (click to show/hide)
« Last Edit: December 08, 2020, 19:29:33 by egomassive »

*

Offline LPChip

  • You can only truly help other people by allowing them to fail.
  • 3510
  • 138
  • Excel at the thing you're the best at!
    • View Profile
    • LPChip Interactive
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #1 on: September 19, 2010, 12:51:08 »
This looks very nice! :)

Thanks for putting in the research. Do you need a custom version of Knytt Stories, or does it work with the standard 1.1.2?
on the left, above my avatar.

MODPlug Central Forum
"If I tried to kill you, I'd end up with a big fat hole through my laptop." - Chironex

*

Offline Miss Paula

  • 953
  • 30
  • I demand more of these.
    • View Profile
Spoiler: (click to show/hide)
:hs::hs::hs::hs::fish::hs::hs::hs::hs:
:hs:

*

Offline Firecat

  • 370
  • 52
  • Every bit is important.
    • View Profile
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #3 on: September 19, 2010, 21:57:40 »
I frown upon your usage of tinypic for videos.
There's 110011 kinds of people in the world. Those who understand binary, Those who don't, and those who confuse it with ASCII.

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #4 on: September 19, 2010, 22:55:08 »
@LPChip: It does require a modified version of Knytt Stories. I let the Custom Objects load as they do in 1.2.1, then give new instructions to them later. The levels would load with 1.2.1 but the special enemies wouldn't appear. The first tile of each sprite sheet is blank for just this reason.

Level editing is unaffected by the changes I've made. The existing editors will work fine.
« Last Edit: September 19, 2010, 22:59:56 by egomassive »

*

Offline Ultigonio

  • 325
  • 60
  • I'm sleepy!
    • View Profile
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #5 on: September 21, 2010, 06:55:21 »
Wow, this is completely and totally awesome.  Nice work so far,  I can't wait to see what else you plan to implement.
Indefinitely Held Off:
Pouring
Complete:
This Level Plays Itself!

My SoundCloud

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #6 on: September 22, 2010, 05:20:21 »
I have lots of ideas, but I'm not sure how many I'll pursue. One issue, I don't want to move away from the feel of Knytt Stories. (e.g. Is swimming appropriate?) Another issue, I don't want to hamper performance. A map that only revealed explored screens would make save files huge. Some things would require huge code additions that would slow the performance.

The biggest issue is I don't like MMF2 at all. There's no way I'm going to buy it. I had fun figuring out how to import graphics onto Active Objects. I felt like I had conquered a huge obstacle. But, It escapes me why they made it so hard to accomplish in the first place. So, I have to ask myself if there's any point in expending more effort into a project with an unknown future.

I do still plan to investigate custom Shift sounds and placing tiles in the foreground. No promises though.

Edit: I figured out custom shift sounds. See the fabricated screen shot below. This is in the "Magic" behavior of the "0:x Dimension Shift" object. The snippet in the lower right is an example entry from a World.ini. It's written so that the standard door, switch, and electronic sounds can be overridden by having a file named door.ogg, switch.ogg, or electronic.ogg in a Sounds folder within the level's folder. Any name can be used, but other names aren't compatible with the 3rd Party Tools.

Another Edit: Shifts can now change Juni's skin and clothing colors. I also changed the way skin color changes are made to preserve the two-tones when possible. The hologram changes accordingly. To control it you can use the World.ini for the initial color combination the way you can now. To change her appearance at anytime use the entries:
ShiftSkin(A)=#
ShiftClothes(A)=#
Where A can be A, B, or C and # is a color using the formula (Blue)2562+(Green)256+Red Where Blue, Green, and Red are on a 0 to 255 decimal scale. It's the same formula used to represent colors in the World.ini now.

Since this uses color replacement it can be abused. For instance, set Juni's clothes to 0, transparent. Now, change them to any other color. All the transparent areas will fill with that color revealing the 24 by 24 pixel box she lives in.

By the way, I scrapped the tiles in front idea. It was a performance hog.
« Last Edit: September 24, 2010, 16:33:12 by egomassive »

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #7 on: September 25, 2010, 06:45:38 »
Sorry for the double post, but that last reply was getting a little long. I'm looking into reducing screen flash by reducing the need to switch between identical screens. One major culprit is extended dialogues where the player needs to push down to read more. This typically involves shifting to a new screen containing a new sign.

So, I have now devised advanced signs. It's the same sign you're used to but now it has additional functionality. By declaring more messages for the same sign object; A, B, or C; the player can advance through them simply by pressing down. The player must release the key before he can advance the text again. Also, if the player leaves the sign/sign-area the dialogue will reset. There is no limit to how many messages one sign can contain. If another message exists a discrete arrow shows at the bottom of the text box. If there is only one message or you are at the last message, then the traditional text box appears.

One further feature is if a second message exists but the first one does not, then the message window does not appear until after down has been pressed once. I think this would be useful on locked doors, where if a player tries to enter a message saying, "it's locked," appears.

New problems occur when multiple Signs of the same ID are used together instead of using Sign-Areas. The text but not the text box will appear for the first frame, and the text window with the arrow will show on the last message. These issues only appear if multiple messages are declared, so older levels will behave no different than they do now.

Under the hood, it's mostly done with changes in the 0:x Sign's behavior. 0:x Sign has been given a few more alterable values/strings. Plus, the Sign Background object has an extra frame of animation, the text box with an arrow.

I'm not sure if I like my arrow design on the text box. If someone has a better idea, I'd like to know.

*

Offline Ultigonio

  • 325
  • 60
  • I'm sleepy!
    • View Profile
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #8 on: September 25, 2010, 08:17:24 »
Quote from: egomassive
Shifts can now change Juni's skin and clothing colors.
I love you forever, but that's aside the point.

As for the arrow on the text boxes, how about raising the arrow and putting it in the right corner (or possibly left)?
EDIT: Is it at all possible to put the arrow outside the box?
« Last Edit: September 25, 2010, 08:24:00 by Ultigonio »
Indefinitely Held Off:
Pouring
Complete:
This Level Plays Itself!

My SoundCloud

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #9 on: September 25, 2010, 11:32:13 »
^: I can put the arrow anywhere I want. I could even animate it. I'm leaning towards the lower-right myself. As is, it can interfere with text that exceeds 4 lines. It should be noticeable, but not obtrusive in my opinion.

Edit: I've now added surface water and waterfalls. While making the surface water I decided to add the ability to make any dangerous "Override" objects safe. In the world.ini:
Hurts=False
I rewrote the way Override objects are handled too. The way it was before worked fine, but I felt like it shouldn't.

On a side note, I read the threads for the KSA and ACO mods. Both projects appear to be buggy and dead. In this light, I'm considering turning this work into an actual mod project. It will depend mostly on getting my hands on a copy of MMF2 for cheap.
« Last Edit: September 27, 2010, 13:57:05 by egomassive »

*

Offline Pick Yer Poison

  • 782
  • 3
  • One cool cat.
    • View Profile
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #10 on: September 27, 2010, 17:34:34 »
Wow, I never actually expected anything like this to happen. I'm impressed, egomassive; you have my support. :)

*

Offline JC Grim the 'crete reaper

  • 284
  • 1
  • I might be sick, broken, torn to pieces...
    • View Profile
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #11 on: September 27, 2010, 19:21:43 »
This is rather impressive...
I'm always intrigued when people make mods for KS, and yours sounds rather clean and proper so far.
If you want a vision of the future, imagine a boot stamping on a human face - forever.

- George Orwell

*

Offline egomassive

  • 1852
  • 250
    • View Profile
    • egomassive games
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #12 on: September 29, 2010, 11:40:59 »
Newest development: Triggers

A Trigger is like a Shift, but it's main function is to spawn an object somewhere on screen. It can make any object from Meanies to Shifts, even Custom Objects. Triggers are similar to Shifts in many way. The default appearance is that of the spot Shift only tinted red. The other standard Shift shapes are also available. The Trigger can be made invisible. It can activate on touch. It makes the default Shift sound, but this can be changed like the Shift including the ability to add your own sound --something I add to the Shift object earlier. The Shift effect now appears at the location of the object you spawn, but can be disabled. It can be made to ignore Juni if the hologram is active.

Unlike Shifts, Triggers can't move Juni, save the game, set Flags/Power-ups, or change Juni's colors --something I added to the Shift earlier. It also differs in that it can only be activated once. This is to prevent infinite spawning.

Spoiler: ini instructions (click to show/hide)

The purpose of this is to make the game run more smoothly. This could be done simply by shifting to a duplicate screen with the new object present. Switching screens like that isn't all that convincing, the Objects all reset and blink-out for a moment. With Triggers the state of the screen is preserved when new objects are made to appear. That said, Triggers do have their limitations. Currently, you can only place 3 new objects on screen at once. Also, The new objects appear on top of everything else regardless of which layer the Trigger was on. I'm working to remedy the latter fault.

I plan to make another video of all the new additions right before my MMF2 demo runs out, which is about two weeks. Also, thanks to those who've shown interest in this. I want to make this mod, but I'm not thrilled at all about buying MMF2 to do it.
« Last Edit: September 29, 2010, 11:42:39 by egomassive »

*

Offline LPChip

  • You can only truly help other people by allowing them to fail.
  • 3510
  • 138
  • Excel at the thing you're the best at!
    • View Profile
    • LPChip Interactive
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #13 on: September 29, 2010, 14:16:57 »
Although this trigger looks nice, wasn't the idea of shifts to do just this by moving juni to an identical screen?
on the left, above my avatar.

MODPlug Central Forum
"If I tried to kill you, I'd end up with a big fat hole through my laptop." - Chironex

*

Offline AClockworkLemon

  • 708
  • 2
  • -Inactive-
    • View Profile
Re: Knytt Stories: External sprite-sheets for standard objects
« Reply #14 on: September 29, 2010, 23:06:52 »
Yes, sortof, but as ego said, the screen blinks whenever you shift, making item spawning look a abit weird. I like the idea!  C)p
I'm not dead. Not entirely. And yes, I'm embarrassed by most of the posts I made here.
:hiddenstar: - From Pumpkinbot