Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Hisymak

[Release] Hocus Pocus level and graphics editor

Recommended Posts

Hi!
Do you remember Hocus Pocus, a classic platforming game from Apogee?
If you liked this game, then I have great news for you: A fully functional level and graphics editor for this game is finally here!



I was looking for a level editor for this game for long time, but unfortunately there never was a complete and fully functional one, althrough the level format was fully reverse-engineered during 2000's. Those I found (Hocus Creation Station by Violet CLM, Camoto Studio by Malvineous) were incomplete and quite hard to use, so I decided to make my own level editor and then I really finished it.

The main focus of my level editor is easiness of use (no difficult installation or pre-processing of the game files), simple and intuitive GUI, and many useful features to make editing of the levels faster and easier, for example:

  • Three editing modes: Tile mode, Pattern mode and Block mode (here you can copy+paste)
  • Pattern and block presets, ability to save your own presets
  • Undo & Redo feature
  • Minimap
  • Quick test (save level & launch game in dosbox)
etc. (for full feature list see the website.)

The program is not only a level editor, but it can also edit graphics (sprites) and export and import game resources (music, sounds, graphics files etc.)
The zip file contains a readme file and a document called Graphics replacement guide which explains in detail how Hocus Pocus graphics works and how to replace all kinds of graphics (tilesets, backdrops, sprites, fullscreen images etc.)

Download link:
Here

Official website:
http://www.shikadi.net/moddingwiki/HocusEditor



A new custom level to play:
This is a good and quite challenging new level made by Violet CLM with this level editor. Replaces E1L1.
To play the level:
1. Download the level editor and install it by unzipping all files and folders into your Hocus Pocus game folder (where HOCUS.EXE and HOCUS.DAT are located)
2. Download this zip file containing the new level and unzip all files into some folder
3. Start the editor and select "Tools" -> "Apply mod patch" in the main menu and open the patch.ini file you got in step 2. Remember to backup your original game files because this action will modify them.
4. Let the program close and launch Hocus Pocus!



Graphics modification demonstration:
To show you the full power of editing the sprites, I decided to turn Hocus Pocus into Doom marine and let him fight against the hellish monsters everyone knows from the legendary 3D game. Let's introduce Doom Pocus:


Fire Crocs turned into Imps and Devil Dan is now a Cacodemon.


Shooting dat Zombie and Imps.


Besieged by Lost Souls.


The final battle with a vicious Cyberdemon.

More screenshots:

The sprite editing UI.


Sprites being drawn on the map.


Editing level properties


The "Calculate VRAM usage" helps you manage the memory limitations.

Important note:
If you use this program and something is not clear to you, you don't know how to do something, run into a problem, or just find a bug or missing functionality, don't hesitate to ask me! I spent a reasonable time making this program and playing around with game modifications so I'm really willing to help you and share any information and experience.
If you make some new level or modification, just feel free to post it here on this thread, directly to me, or simply anywhere.

Share this post


Link to post

Holy Hell! This is amazing!! I loved Hocus Pocus when I was younger, this sounds great! Will have to check this out ASAP.

Share this post


Link to post

Really interesting news. I remember I played the shareware version of this one when I was child. And yes, VGA. I thought the exact mod when I saw the title. xD

Share this post


Link to post

Thank you all guys!
I can say, the Hocus Doom TC made by Ravage actually gave me inspiration to create this level editor! That is one of the BEST total conversions and GZDoom projects I've ever played. When I saw Hocus Pocus was still pretty popular game that it even deserved its remake into 3D, I thought it was really worth doing a proper modding tool for the original game.

If you're possibly curious about the Doom Pocus mod I showed in the first post, right now it is not a playable mod at all, I made this purely for demonstration and testing the sprite editing feature of the editor.
However, I think it's really interesting idea to have a mod like this, which is practically an opposite project to Hocus Doom. Unfortunately I am personally not good at graphics and level design at all, but if anyone here is interested in this idea, you can help make the graphics and levels for it.

Btw any thoughts/findings about the program so far?

Share this post


Link to post

I loved playing this game as a kid. Is there a way to run Hocus Pocus on a modern PC without the need for DOSBox or some other virtual machine?

Share this post


Link to post

That's basically an opensource version of DOS itself, rather than an emulator like DOSBox. I don't think it will run in windows out of the box. You'd have to set up a virtual machine which is probably more than he's looking for.

Hisymak said:

Thank you all guys!
I can say, the Hocus Doom TC made by Ravage actually gave me inspiration to create this level editor! That is one of the BEST total conversions and GZDoom projects I've ever played. When I saw Hocus Pocus was still pretty popular game that it even deserved its remake into 3D, I thought it was really worth doing a proper modding tool for the original game.

If you're possibly curious about the Doom Pocus mod I showed in the first post, right now it is not a playable mod at all, I made this purely for demonstration and testing the sprite editing feature of the editor.
However, I think it's really interesting idea to have a mod like this, which is practically an opposite project to Hocus Doom. Unfortunately I am personally not good at graphics and level design at all, but if anyone here is interested in this idea, you can help make the graphics and levels for it.

Btw any thoughts/findings about the program so far?

After some messing around the other day I noticed a few things:

  • I'm not really sure if you're able to set new block presets, or edit existing ones.
  • When I tried to replace one of the tilesheets it started doing strange things. (it actually broke the archive once and I had to revert to a backup.) I'm guessing it has to be at or the same filesize?
  • How are item pickups defined? Are they hard-coded tile locations for each levelset?
  • How does import/exporting mod patches work (does it even work?)
  • Whoops:

    This is from changing only the tilesheet and nothing else.
Tilesheet:

pcx file of tilesheet: https://dl.dropboxusercontent.com/u/18675596/browncastle.pcx

Share this post


Link to post

So no source-port exists? That's too bad. I don't like DOSBox (or emulation in general for that matter), so until a port does show up, I might look into playing it on my Windows 98 machine instead.

Share this post


Link to post
Agentbromsnor said:

So no source-port exists?

No and they probably won't ever exist since I'm not aware the source code for Hocus Pocus was ever released. You'd have to recreate the game engine through reverse-engineering and best guesses.

In fact if you search for "hocus pocus source code" you'll find a completely unrelated thing instead.

Share this post


Link to post
rf` said:

That's basically an opensource version of DOS itself, rather than an emulator like DOSBox. I don't think it will run in windows out of the box. You'd have to set up a virtual machine which is probably more than he's looking for.


I was thinking more along the lines of dual-boot. Like make a FreeDOS partition on your hard disk, or maybe install it on separate USB disk. Then you have the game running as close to the metal as possible. Only downside is sound card might not work, but if you have a desktop machine it's possible to plug in an old PCI Sound Blaster or something that DOS can handle. Or just go with the PC speaker sound fx...

Share this post


Link to post
rf` said:

After some messing around the other day I noticed a few things:


Thanks for your questions! I'm gonna reply them.
But first of all I highly recommend you to read through both readme file and the Graphics Replacement Guide document, if you haven't done it yet. Here you can find answers to many questions or problems you will probably get into.

rf` said:

  • I'm not really sure if you're able to set new block presets, or edit existing ones.

  • It is definitely possible. All you need to do is switch to Block mode, then make some selection (with mouse while holding Shift) and a "Save block as preset" button will appear. Click it and then choose the slot for your preset. There are two limitations through: 1. You can save presets only for a single layer (background, foreground), not both at once. 2. The block size is limited to 8*8 size, if you select bigger, the "Save as preset" button won't appear. The first limitation is by design, but the second can be easily pushed up, that was mainly because bigger blocks wonldn't fit into the preset selection window.

    rf` said:

  • When I tried to replace one of the tilesheets it started doing strange things. (it actually broke the archive once and I had to revert to a backup.) I'm guessing it has to be at or the same filesize?

  • Well, when you created the tileset pcx file, you forgot one VERY important thing: a special "end-marker" tile. It is clearly explained in the Graphics Replacement Guide, sections "3. How graphics data are stored in memory" and "4. How to replace a tileset".
    I downloaded your pcx file and fixed it by adding such dummy "end-marker" tile. Now it works perfectly:


    And your custom tileset image can be any different filesize than original, the editor can handle it.
    Remember one importang thing: The file allocation table (offsets of all the files stored inside HOCUS.DAT) is stored inside HOCUS.EXE. That means, when you import your custom file into HOCUS.DAT of different size than original, the editor actually MODIFIES the executable!!! You must be careful to sync HOCUS.EXE and HOCUS.DAT together. If you modify them and later replace just one of them, the file offsets will desync and the game will become irreversibly broken.

    rf` said:

  • How are item pickups defined? Are they hard-coded tile locations for each levelset?

  • The item pickups are a bit more complicated. They're actually defined twice in the level file: once in the background layer (visually) and once in the object layer (functionally). The game actually does not care which tile is in the background layer (you can make "invisible" of "fake" items by putting a blank or different item tile), important is what is in the object layer.
    The editor makes your life easier by placing both the proper background tile and object type at once, so you don't need to care about that. The mapping of object types to the respective tile numbers is defined within the level editor tileset configuration. Go to the folder "Tilesets" folder and open any .ini file here. Go to the line "Items=" and here are tile numbers for all the item types (in the same order as they are available in the editor GUI). If you make a new tileset and arrange the item tiles into different places, you can simply edit this in the .ini file.
    One note: When an item is picked up, the background tile is turned into a "blank" tile (which can be defined in the "Level properties" window).

    rf` said:

  • How does import/exporting mod patches work (does it even work?)

  • The editor can only import a mod patch. If you want to make one, you must do it manually, but this is really pretty easy! You just export the files and levels you want to replace and then create a very simple .ini file. Best is to look at the "A new custom level to play" section in the first post, or it is described in the readme.txt file as well.

    rf` said:

  • Whoops:
    This is from changing only the tilesheet and nothing else.

    Tilesheet:

  • This tileset looks really awesome! Thumbs up, if you made this yourself. I'm not a graphics artist and am not capable of doing things like this, so I really appreciate some help from a talented person.

    Share this post


    Link to post

    This will take a little while to figure out. Just looking at the INI file looks like greek to me.

    Share this post


    Link to post
    rf` said:

    This will take a little while to figure out. Just looking at the INI file looks like greek to me.

    I'm not sure what are you talking about.
    If you mean the .ini file which is part of a mod patch, then it is explained in readme.txt file shipped with the editor in the section "How to distribute your mod as a patch".
    If you mean the .ini files inside "Tilesets" folder then I can help you explain how that works.
    One simple thing to remember is that all the numbers there are tile indexes - tile index 0 is the very first tile located in the top-left corner of tileset .pcx image. Tile index 1 is the second tile on the first row. As the .pcx file is 320 pixels wide, there can be 20 tiles on a row, meaning, tile index 20 is first tile on the second row, index 40 is first tile on the third row and so on.
    The Patterns and Blocks sections are actually the presets. First two numbers there are always preset width and height, followed by tile indexes. You do not need to edit these manually, because presets can be created directly in the editor.

    Share this post


    Link to post

    I was able to figure it out after some messing around, and I will upload my first (good) level soon. For now, have a preview:



    Edit:

    I hope this works properly! This took me about six hours of fiddling with the editor.

    Share this post


    Link to post
    rf` said:

    I was able to figure it out after some messing around, and I will upload my first (good) level soon. For now, have a preview:

    http://i.imgur.com/5sJEkfb.png

    Edit:

    I hope this works properly! This took me about six hours of fiddling with the editor.

    Excellent! I just beat your level and it was pretty fun to play. I really like the visual design, the tileset is good and well-utilized, I loved the animated glowing eyes. The level was not really hard (as it's probably supposed to be the first level of an episode) and had the feeling of the proper original Hocus Pocus level design. The only thing that bothered me a bit were those out-of-place tiles (but I guess that's because of missing proper tiles in tileset):


    I can see that you figured out how to use the editor pretty well.

    I noticed that you attached the backdrop image, which pretty fits the level, but you did not include it in browncastle.ini file. I imported it myself. Here I have one advice for you: When you import a backdrop pcx image (as BACKxx.PCX), the editor asks if you want to copy the upper part of palette from that pcx image. If you choose yes, the palette is saved into respective BACKxx.PAL file within HOCUS.DAT. When you're creating a mod patch, you must export that BACKxx.PAL file and include it in the mod patch zip and .ini file as well.

    And about that exe patch - this is only needed when you hex-edit something in the HOCUS.EXE, fox example some text or values. If you only include new levels and files, exe patch is not needed, the one you included is empty and does not do anything.

    I can also help you publish your mod for wider audience - it can be put on Modding Wiki. There is a link "List of mods" available on the right-side information panel, but it is empty right now. I can create that "List of mods" page and add your mod there, once it is finished or reaches some releasable state.

    Share this post


    Link to post

    I suddenly want to get back into this game. I played it a lot as a kid and found it quite memorable. Really neat that there's a level/graphics editor.

    Share this post


    Link to post
    hex11 said:

    I was thinking more along the lines of dual-boot. Like make a FreeDOS partition on your hard disk, or maybe install it on separate USB disk. Then you have the game running as close to the metal as possible. Only downside is sound card might not work, but if you have a desktop machine it's possible to plug in an old PCI Sound Blaster or something that DOS can handle. Or just go with the PC speaker sound fx...

    That's the only downside? Dude, have you tried running games on FreeDOS? Because modern CPUs are so fast, a LOT of the games are unplayable because they used primitive timing coding.

    Dosbox is by far the best solution.

    Share this post


    Link to post

    One thing I'm noticing is that block and tile presets aren't getting saved to their ini files upon exiting the program. On a side note, would there be a way of loading custom ini files for tile definition, rather than backing up and editing the ones that come with the editor each time.

    Also, an auto-backup feature would be nice to streamline the process of switching from one mod set to another.

    Share this post


    Link to post
    VGA said:

    That's the only downside? Dude, have you tried running games on FreeDOS? Because modern CPUs are so fast, a LOT of the games are unplayable because they used primitive timing coding.

    Dosbox is by far the best solution.


    Well it includes a mo'slo type utility.
    Anyway Dosbox doesn't magically fix anything, you have to tweak the config and sometimes even that doesn't work so good. Popcorn (breakout clone) doesn't work well in dosbox no matter what you do. It seems to be hardcoded for a specific CGA machine, so only an accurate emulator like PCEm will run it well. Doxbox is too generic to handle such cases. And on the flip side, a lot of people have trouble getting mid or late 90's games to work fast enough. Arena and Daggerfall in particular have been a source of frustration for many.
    The scaling in dosbox really sucks on my machine too. It makes the text illegible if I try to run DOS Doom editor like DCK or DETH. Or it just crashes because it tries to allocate a screen size that's too big, even when I tell it to run at 800x600 unscalled. I'm sure there are bugs in there, and more than just that one.
    FreeDOS lets you run stuff closer to the hardware, so there will be less bugs at least. But the drivers can be a problem. No chance for me to plug in Sound Blaster into my laptop. I'm stuck with PC speaker if I want to boot pure DOS.

    Share this post


    Link to post
    rf` said:

    One thing I'm noticing is that block and tile presets aren't getting saved to their ini files upon exiting the program.

    That's strange. For me, the tileset's .ini file is always saved upon exiting the program. If you can tell me exact steps to reproduce, I'll check if there isn't any bug. One thing that comes on my mind is that you have opened two instances of the program, add new presets in one, close it, and later you close the second instance, which will overwrite the presets saved in the first instance.

    rf` said:

    On a side note, would there be a way of loading custom ini files for tile definition, rather than backing up and editing the ones that come with the editor each time.

    There is one option: In the Config folder, open the .ini file according to your game version (supposing you have v1.1 full), and look for [Tilesets] section. Here you can rename any tileset (for example change "Mushroom" to "Browncastle") and then the editor will look for browncastle.ini file.

    rf` said:

    Also, an auto-backup feature would be nice to streamline the process of switching from one mod set to another.

    If you work on more separate mods at once, you probably create multiple copies of the game and want to switch from one to another. Right now there is option to change the "Game folder" setting in HocusEditor.ini to any other location (by default it is set to the same folder as the editor). The other dirty but probably easier solution is to copy the editor itself into each game location (it's really small in size so that probably wouldn't matter).
    If you want to make a copy/backup of HOCUS.EXE and HOCUS.DAT files at any time you need, and possibly have an option to restore them back, I could add this.

    I'll think about how things you mention can be improved. I personally never created any real mod with the editor so I sometimes miss the real needs of a real modder like you, so your feedback and suggestions will help me improve it.

    Share this post


    Link to post

    So, I've successfully created my first enemy!



    Will I have to make an exe patch if I replace enemies?

    Share this post


    Link to post

    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now
    ×