[Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips

  • 14 Replies
  • 4836 Views
*

Offline Vegetal Gibber

  • 655
  • 140
  • Sorry excuse for a game designer
    • View Profile
    • VG's Games Portfolio
[Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« on: January 17, 2017, 04:13:33 »
Hybrid KS/KS+ Design Tips



[ Download link ]

[ Alternate, smaller size download ] without the pointless (but totally cool) bonus music track.



This is just a small interactive tutorial/demo on how to design levels that can run on both KS+ and the original KS, while also taking advantage of KS+'s extended features whenever possible. The level contains basic tips and a few simple tricks you can use to extend your vanilla KS levels with exclusive bonus content for KS+, or even add whole KS+ exclusive areas that fully utilize the features of the mod without interfering with the rest of the content.

The demo part of the level runs both on regular KS and KS+, and it's recommended that you play it on both versions and compare the results (as this is pretty much the whole point of this tutorial/demo).

Also, the contents of the World.ini file have been edited and re-ordered, to make it easier for other users to identify and inspect the code for each section/screen.

Hope you guys find this useful!
Some KS levels by me:

*

Offline pfrangip

  • 228
  • 48
    • View Profile
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #1 on: January 19, 2017, 09:51:17 »
Wow, it's like night and day, what you can accomplish in KS+.

Thanks for this! I may rethink my KS-only attitude towards level design.

*

Offline Vegetal Gibber

  • 655
  • 140
  • Sorry excuse for a game designer
    • View Profile
    • VG's Games Portfolio
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #2 on: January 19, 2017, 22:29:06 »
Thanks for the feedback, glad you found it useful :)

Indeed, KS+'s exclusive features have a lot of potential for implementing both graphics/sound custom effects and new gameplay mechanics (timed shifts are particularly useful for this). The only downside is that they normally make the level incompatible with vanilla KS, which may limit the amount of people that will play the level. However, as I demonstrate in this tutorial, it's possible to use them as separate bonuses or even mix them up with the regular KS features without necessarily breaking the backwards compatibility.

I'd recommend giving the Level Editor + a try and creating a test level just to try these features out, as it can be a pretty fun experience and might even spark an unexpected idea (in fact, that's exactly the way "Exploring the Golden Land" came to be :P)
Some KS levels by me:

*

Offline egomassive

  • 1703
  • 233
    • View Profile
    • egomassive games
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #3 on: January 20, 2017, 01:43:25 »
This is neat! :D It's amazing that KS is a decade old and level makers are still innovating.

*

Offline Vegetal Gibber

  • 655
  • 140
  • Sorry excuse for a game designer
    • View Profile
    • VG's Games Portfolio
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #4 on: January 21, 2017, 00:17:38 »
Thanks! I agree that figuring out how to do new tricks with old tools (especially when it involves using a feature in a different way than the intended one) can be even more fun than trying out a brand new tool for the first time. In this particular case, I believe there's still plenty of room to find out new tricks thanks to the features you added to KS+ :D
Some KS levels by me:

*

Offline Vegetal Gibber

  • 655
  • 140
  • Sorry excuse for a game designer
    • View Profile
    • VG's Games Portfolio
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #5 on: February 23, 2017, 03:38:09 »
A few more "KS+ detection" tricks I've tried since I released this tutorial:

* An alternate way of implementing the "dual shift" technique demonstrated in this level would be setting a >100 coin requirement (e.g. 200) to the "regular KS shift". This has the same result than the trick explained in the level and doesn't rely on timing at all, so it might be a better solution for implementing a dual KS/KS+ shift.

* It is possible to use the Map power-up flag (Power12) as a simple and easy way to detect KS+ and implement conditional warps. This flag cannot be set in regular KS and will always be interpreted as "False" when tested there, but it can be toggled on in KS+ and tested even in Format=2 levels. The flag can be set once at the start of the level, then checked later for conditional warps to send the player to different locations depending on the version of KS that is running. Also, since the map power-up doesn't show up in the upper status bar when playing a classic KS level, this trick should be transparent to the player (unless the "Force map" option is manually toggled on).

I'll probably update the level with these additional tips at some point.
Some KS levels by me:

*

Offline egomassive

  • 1703
  • 233
    • View Profile
    • egomassive games
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #6 on: February 23, 2017, 04:32:20 »
A few more "KS+ detection" tricks I've tried since I released this tutorial:
I would use the Flag(All) function myself. Original KS ignores it completely.
Code: [Select]
Flag(A)=Power0
Flag(All)=True
FlagWarpY(All)=-10

*

Offline GrayFace

  • 721
  • 54
    • View Profile
    • my site
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #7 on: August 08, 2017, 20:53:17 »
The only downside is that they normally make the level incompatible with vanilla KS, which may limit the amount of people that will play the level.
I'm wondering how big the number of people who only play vanilla is.

An advantage of vanilla levels for me is that I can play them in KS Ex, which is more snappy with shifts/warps and I can completely disable death animation in it. However, I'd never play a level with KS+ bonus features in anything but KS+, and I actually prioritize KS+ levels over vanilla ones due to fresh features.

* It is possible to use the Map power-up flag (Power12) as a simple and easy way to detect KS+ and implement conditional warps. This flag cannot be set in regular KS and will always be interpreted as "False" when tested there, but it can be toggled on in KS+ and tested even in Format=2 levels.
It's used internally in KS for "After Teleport Countdown". I don't quite remember what exactly it is, maybe a countdown after using the teleport cheat. It will probably go to 0 next frame after you set it, however there might be a situation in which a shift/warp with it as condition meant for KS+ will trigger in vanilla.
« Last Edit: August 08, 2017, 23:32:17 by GrayFace »

*

Offline Vegetal Gibber

  • 655
  • 140
  • Sorry excuse for a game designer
    • View Profile
    • VG's Games Portfolio
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #8 on: August 08, 2017, 21:50:00 »
Thanks for the information! I used this trick in my latest release (the "DLC pack" for Next Gen Knytt, which has KS+ exclusive features and areas) and neither me nor my betatesters ran into any unexpected transitions while playing, but it'll probably be a better idea to switch to the trick provided by ego if I ever decide to make another KS/KS+ hybrid level like that, just to be sure.

I was considering making an update to this tutorial at some point. It'll have to wait until I finish at least one of the 4 unfinished projects I have on my hands right now, though :sick:

I'm wondering how big the number of people who only play vanilla is.

Yeah, I figured the audience for new vanilla KS levels would be very limited as of now. I've occasionally seen some new LPers using the original KS, but they usually either only cover the original levels by Nifflas or eventually switch to KS+. Still, making a level compatible with both versions can be an interesting excercise in itself  :)
Some KS levels by me:

*

Offline GrayFace

  • 721
  • 54
    • View Profile
    • my site
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #9 on: August 08, 2017, 23:34:04 »
I forgot something. A great thing about vanilla levels is that I can play them with a ball in KS Ex, so this hybrid design may actually be very useful for me! (and for other people who like playing with balls :shifty:)

*

Offline GrayFace

  • 721
  • 54
    • View Profile
    • my site
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #10 on: September 09, 2017, 02:23:23 »
There needs to be a way to tell the level is KS+/KS hybrid. Any value in world.ini. For now the only conflicting new object in KS Ex is "No WallSwim", presence of which on the screen doesn't hurt, but this will change in the future and such hybrid levels would be unplayable in KS Ex.
Let's say,
Code: [Select]
[World]
Mod=KS+
If KS Ex finds a non-empty Mod value different from "KS Ex", it will disable all its new objects.
« Last Edit: September 09, 2017, 04:16:19 by GrayFace »

*

Offline Vegetal Gibber

  • 655
  • 140
  • Sorry excuse for a game designer
    • View Profile
    • VG's Games Portfolio
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #11 on: September 10, 2017, 11:57:59 »
I hadn't thought of this possibility, since I'm still not familiar with KS Ex (I'm interested in trying my hand at designing a ball level at some point, though...  :a1: maybe when I finish all of my current projects). If you end up implementing the "Mod" tag you mentioned, I'll keep that in mind when I release any hybrid level in the future.

I think this could also be accomplished by checking for the presence of the Info+.png file in the level folder. When this file exists, it usually means that the level is "KS+ aware" and uses some of its features even if the format is not set to 4, so KS Ex could just ignore all non-vanilla objects and properties in this case.
Some KS levels by me:

*

Offline GrayFace

  • 721
  • 54
    • View Profile
    • my site
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #12 on: September 14, 2017, 07:02:54 »
I've added support for it, both in the game and in the editor.

I think this could also be accomplished by checking for the presence of the Info+.png file in the level folder.
Nice idea! However, Info+ isn't necessary in a hybrid level. "Mod" would also be universal, maybe I'll add support for KSA levels at some point and add "Mod=KSA" to them to distinguish.
Has there been hybrid levels other than Next Gen Knytt?
« Last Edit: September 14, 2017, 07:12:41 by GrayFace »

*

Offline Vegetal Gibber

  • 655
  • 140
  • Sorry excuse for a game designer
    • View Profile
    • VG's Games Portfolio
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #13 on: September 14, 2017, 11:52:41 »
I believe there are a couple levels out there that feature KS+ bonuses besides the ones I made. The only one I can remember right now is Do Not Pick Up The Key, which used OCOs to randomize a few animations, but I'm not sure if it uses KS+ objects.

As for my own levels, Next Gen Knytt (and its "DLC pack") is the one that makes the most use of this "hybrid design" technique, but there's also Curse of the Catacombs (enables Single Pass rendering, a custom character sprite, attached overlay for a few screens and some triggers for additional SFX). Some of my recently released experimental levels (Strolling Simulator Pro and Maze of Despair) also use some KS+ features for bonuses and/or a slightly better experience, but only in a very limited way.
Some KS levels by me:

*

Offline egomassive

  • 1703
  • 233
    • View Profile
    • egomassive games
Re: [Tutorial] [Small/Easy] Hybrid KS/KS+ Design Tips
« Reply #14 on: October 23, 2017, 14:55:38 »
Has there been hybrid levels other than Next Gen Knytt?
Endless Winter is a bit of a hybrid. It has a few CO characters that appear in KS, but use KS+ to randomize their animation sequences. I think it might have black transitions to some cutscene too.
« Last Edit: October 23, 2017, 14:57:28 by egomassive »