Questions around tilesets

You can discuss anything about fan-made Commander Keen games here.
Post Reply
boundish91
Grunt
Posts: 6
Joined: Mon Mar 15, 2021 18:51

Questions around tilesets

Post by boundish91 »

Hi everyone : :helmet

I just started with some keen modding and I'm enjoying building levels with abiathar.

Have to tip my hat of to this community with all the tools you made and the great keenwiki. Still after reading the modding guide i am wondering if it's possible and if so how difficult it is to either add an extra tile set or expand an existing one. I would like to have some more main platforms to play with as there are just 3 per game. The guide mentioned altering the source code to accept additional files, but didn't expand on it. I'd be grateful for some insight into what is possible and what the limitations are.
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Re: Questions around tilesets

Post by Fleexy »

Congratulations on starting your modding journey!

The options and difficulty depend on what you mean by "add an extra tile set." Starting at the most difficult: if you want to add a whole independent plane of tiles beyond the background/foreground/infoplane three, that's basically impossible. The three-plane structure is fundamental to the games' engine (IIRC) and assumed by all existing tools.

If you want to expand a tileset, i.e. make the tile palettes longer, that is possible but difficult. The sizes of various things including tilesets are baked in to the layout of the game executable, but they can be changed by recompiling the executable from a modified reconstruction of the code: a source mod. This is supported by our modern modding tools and has been done a few times - likely what you heard about altering code and dealing with additional files - but requires C programming skills and is a serious undertaking.

Fortunately, if you want to modify existing tiles, e.g. to add new graphics, you likely don't have to expand the tileset! There are quite a few unused or unnecessary tiles that you can replace with whatever you want. (Check out the empty spaces near the red rotating hazard platform in the Keen 5 foreground tileset, for example.) I'm pretty sure it's possible to find the space for your desired new platform style, especially if you're careful to conserve tiles. All you'd need to do is change the graphics and tile properties. ModId allows you to export the graphics, then you can edit the tile sheet image to draw your platform tiles in the unused spaces, then ModId can import your new graphics so the game can use them. Abiathar can edit the tile properties once the project is configured for that.

Conveniently, if you ever need to migrate from a typical patch-based mod to a source mod, both Abiathar and ModId can still be used.

Let me know if I can clarify anything. Happy modding!
Ceilick
The Dude
Posts: 1670
Joined: Mon Sep 22, 2008 20:10
Location: Seattle

Re: Questions around tilesets

Post by Ceilick »

Hi and welcome to the PCKF!

Which tutorial are you following? As a beginner, I suggest my tutorial here, which is for 'classic' modding with patching: https://keenwiki.shikadi.net/wiki/Keen_ ... y_Ceilick)

Adding additional platform sets can be as easy as copying and pasting an existing set into a new location in the tileset and then modifying the tile properties. Keep in mind the layouts of the original platform sets are extremely inefficient when it comes to space; you by no means need to follow this layout.

Expanding the tileset is not possible in classic modding, but is possible with source code modding. Nisaba and I are currently in the process of developing a tutorial for source code modding, but instructions for adding additional tiles have not been developed at this time.
boundish91
Grunt
Posts: 6
Joined: Mon Mar 15, 2021 18:51

Re: Questions around tilesets

Post by boundish91 »

Ceilick wrote: Wed Aug 17, 2022 23:17 Hi and welcome to the PCKF!

Which tutorial are you following? As a beginner, I suggest my tutorial here, which is for 'classic' modding with patching: https://keenwiki.shikadi.net/wiki/Keen_ ... y_Ceilick)

Adding additional platform sets can be as easy as copying and pasting an existing set into a new location in the tileset and then modifying the tile properties. Keep in mind the layouts of the original platform sets are extremely inefficient when it comes to space; you by no means need to follow this layout.

Expanding the tileset is not possible in classic modding, but is possible with source code modding. Nisaba and I are currently in the process of developing a tutorial for source code modding, but instructions for adding additional tiles have not been developed at this time.

Thanks! Yep that's the guide i'm using and it's very helpful.
Fleexy wrote: Wed Aug 17, 2022 23:09 Congratulations on starting your modding journey!

The options and difficulty depend on what you mean by "add an extra tile set." Starting at the most difficult: if you want to add a whole independent plane of tiles beyond the background/foreground/infoplane three, that's basically impossible. The three-plane structure is fundamental to the games' engine (IIRC) and assumed by all existing tools.

If you want to expand a tileset, i.e. make the tile palettes longer, that is possible but difficult. The sizes of various things including tilesets are baked in to the layout of the game executable, but they can be changed by recompiling the executable from a modified reconstruction of the code: a source mod. This is supported by our modern modding tools and has been done a few times - likely what you heard about altering code and dealing with additional files - but requires C programming skills and is a serious undertaking.

Fortunately, if you want to modify existing tiles, e.g. to add new graphics, you likely don't have to expand the tileset! There are quite a few unused or unnecessary tiles that you can replace with whatever you want. (Check out the empty spaces near the red rotating hazard platform in the Keen 5 foreground tileset, for example.) I'm pretty sure it's possible to find the space for your desired new platform style, especially if you're careful to conserve tiles. All you'd need to do is change the graphics and tile properties. ModId allows you to export the graphics, then you can edit the tile sheet image to draw your platform tiles in the unused spaces, then ModId can import your new graphics so the game can use them. Abiathar can edit the tile properties once the project is configured for that.

Conveniently, if you ever need to migrate from a typical patch-based mod to a source mod, both Abiathar and ModId can still be used.

Let me know if I can clarify anything. Happy modding!
Thanks for clarifying and i can see that with my skills in mind i think i am going to just work within the original tilesets for now :crazy
I have been using ugrab to extract and compress and then pyxel edit for drawing and it seems to work pretty well so far. However (i touched upon this in a youtube comment recently btw) i am not getting tile property editing to work right and its probably in how my project is setup. So at first it was configured to always load original game tile info and i then changed that to "Create or load separate tileinfo file" -> "include original game tileinfo" to allow editing of the tile properties, but when i edit a tile and patch it, it doesn't take effect in game.

I'm sure i have just missed some detail :p Anyway here is the auto generated patch if that can help shed some light

# Graphics files (EGA resources)
%egahead EGAHEAD.CK5
%patchfile $362C4 EGADICT.CK5

# Map files
%maphead MAPHEAD.CK5

# Tileinfo file
%patchfile $25B22 KEEN5.TLI
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Re: Questions around tilesets

Post by Fleexy »

Sounds like you've got the graphics editing figured out. Nice!

Those patches look right. Could you please double-check that they all appear in your patch file on disk (called "abiathar.pat" by default)? Edit | Patches reflects the current project settings, but to update the actual patch file you need to do File | Generate Patches again. Sorry for any confusion.

If the updated tile properties are still not working in game, feel free to email me (my username @keenmodding.org) your KEEN5.TLI and which tile number you're trying to change. I'd be happy to check whether there's any issue with writing the tileinfo file.
boundish91
Grunt
Posts: 6
Joined: Mon Mar 15, 2021 18:51

Re: Questions around tilesets

Post by boundish91 »

Fleexy wrote: Sat Aug 20, 2022 21:57 Sounds like you've got the graphics editing figured out. Nice!

Those patches look right. Could you please double-check that they all appear in your patch file on disk (called "abiathar.pat" by default)? Edit | Patches reflects the current project settings, but to update the actual patch file you need to do File | Generate Patches again. Sorry for any confusion.

If the updated tile properties are still not working in game, feel free to email me (my username @keenmodding.org) your KEEN5.TLI and which tile number you're trying to change. I'd be happy to check whether there's any issue with writing the tileinfo file.
I got it to work. Not sure exactly what caused the problem, re-patching solved it though so all good now!
Ceilick
The Dude
Posts: 1670
Joined: Mon Sep 22, 2008 20:10
Location: Seattle

Re: Questions around tilesets

Post by Ceilick »

boundish91 wrote:Yep that's the guide i'm using and it's very helpful.
Awesome, I'm glad it's useful! Be aware that I'm currently in the process of revising it. You may have already noticed some changes, and there will be more in the coming weeks.

Particularly:
  • Folders in the modding setup will be renamed: 'BMP' will become 'EGA', and 'sounds' will become 'AUDIO'.
  • Batch file information for automating the uGrab import/export processes will be included.
  • Galactile will be removed and a new tutorial for using Abiathar's tile property editor will be included.
  • KeenWave will be removed and a new tutorial for using Abiathar's sound and music import/export feature will be included.
  • The music and sound effect sections will be revised.
If you're only at the stage of editing graphics and levels, you shouldn't need to worry about any of this except maybe that the 'BMP' folder has been renamed to 'EGA' in the tutorial (the purpose for this is compatibility with the Keen Source Mod Modding Tutorial that is being developed).
boundish91
Grunt
Posts: 6
Joined: Mon Mar 15, 2021 18:51

Re: Questions around tilesets

Post by boundish91 »

Ceilick wrote: Tue Aug 23, 2022 14:46
boundish91 wrote:Yep that's the guide i'm using and it's very helpful.
Awesome, I'm glad it's useful! Be aware that I'm currently in the process of revising it. You may have already noticed some changes, and there will be more in the coming weeks.

Particularly:
  • Folders in the modding setup will be renamed: 'BMP' will become 'EGA', and 'sounds' will become 'AUDIO'.
  • Batch file information for automating the uGrab import/export processes will be included.
  • Galactile will be removed and a new tutorial for using Abiathar's tile property editor will be included.
  • KeenWave will be removed and a new tutorial for using Abiathar's sound and music import/export feature will be included.
  • The music and sound effect sections will be revised.
If you're only at the stage of editing graphics and levels, you shouldn't need to worry about any of this except maybe that the 'BMP' folder has been renamed to 'EGA' in the tutorial (the purpose for this is compatibility with the Keen Source Mod Modding Tutorial that is being developed).
Sorry for the radio silence :crazy

These changes will be come in handy for me because i'm using abiathar. Right now I'm playing with graphics and level building, but taking my time trying things out. I had to reload my backup tileset for the background tiles, beacuse abiathar threw an error. I think some of the "blank" tiles i repurposed caused it. Side note: Having only the Keen EGA palette to work with and 16x16 pixels really forces you to be creative when drawing.

I have to say that as novice I'm really impressed with all the stuff this community has done to keep keen alive and make modding accessible and enjoyable for most everyone.

Any suggestions for software to make keen music? This is really my first go at any form of composting outside of trying s trial version of fruity loops in the early 00s. I have tooled around with RADtracker because as i understand it when you convert from MIDI to IMF it might sound completely different? Which is an added challenge. And with RADtracker you can use dosbox to capture and then DRO2IMF and it should sound the same? And channel 1 is reserved for sound effects right?
User avatar
Fleexy
Tool Smith
Posts: 1432
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Re: Questions around tilesets

Post by Fleexy »

If you still have the problematic tileset or the error details, I'd be happy to help troubleshoot. Even if the tileset image isn't in a usable format/size, I'd like Abiathar to at least give a helpful error message.
Ceilick
The Dude
Posts: 1670
Joined: Mon Sep 22, 2008 20:10
Location: Seattle

Re: Questions around tilesets

Post by Ceilick »

boundish91 wrote:Any suggestions for software to make keen music? This is really my first go at any form of composting outside of trying s trial version of fruity loops in the early 00s. I have tooled around with RADtracker because as i understand it when you convert from MIDI to IMF it might sound completely different? Which is an added challenge. And with RADtracker you can use dosbox to capture and then DRO2IMF and it should sound the same? And channel 1 is reserved for sound effects right?
While I've never composed music myself, I know that some of the composers in the community have used Finale, FLStudio, and MIDI Editor. I'm unfamiliar with RADtracker so not much help on the details there.

You are correct that when converting from MIDI to IMF the resulting output can be quite different. We have two different tools for converting MIDI to IMF: MIDI2IMF and IMF Creator. With the same input MIDI, they can produce different sounding IMF files, so I encourage you to try both to see which sounds better. IMF Creator allows you to listen to how the MIDI sounds as IMF before converting it. The program IMF Playback can be used in general for listening to IMF songs.

For help composing, I highly recommend coming over to the Keen discord channel where we have a dedicated room for musicians: https://discord.gg/hPuwJPEU
Post Reply