OpenBOR Beginner's Guide 2021

Поділитися
Вставка
  • Опубліковано 6 кві 2021
  • I quick introduction to start modding your own open beats of rage mod. I have added the linux port to the github release 6391.
    Main forum with lots of support and downloads: www.chronocrash.com
    OpenBOR manual covers almost everything: www.chronocrash.com/apps/wiki/...
    Github page for the engine releases: github.com/DCurrent/openbor/r...
    My Sublime Text OpenBOR Syntax: www.mediafire.com/file/p8jepd...
  • Ігри

КОМЕНТАРІ • 138

  • @fabsmakisig9278
    @fabsmakisig9278 3 роки тому +4

    OpenBOR learning resources are sparse. The only thing that's readily visible and avalaible is the manual, and relying on that alone can be quite confusing. Videos like this one really help beginners a lot, and since the concept behind fundamental OpenBOR actions are relatively easy, learning the basics will go a long way in helping someone make their own.
    I made a loose timestamp of the video, I think the first 40 minutes is a very valuable crash course for getting into OpenBOR. The parameters and coordinates really confused me, since the manual doesn't really give any concrete advice and example on getting it. This video is probably the best resource for that. And once that's understood(parameters for offset, bbox, attackbox, etc), putting new animations become managable, and then it's easy to learn the more advance stuff. And the manual's there for more elaborate actions.
    00:00 - Introduction
    00:40 - Software needed
    *Text editor (e.g. Sublime)
    *Photo editor (e.g. GIMP)
    *OpenBOR (the engine and Beats of Rage)
    *Borpak (to 'explode' .pak files)
    "To just start [making your own OpenBOR games], just start chucking your own characters in there, sprite by sprite. And start slowly changing the background, changing the icons, changing the enemies. Eventually you'll end up with your own mod or game."
    08:10 - Exploding a .Pak
    9:44 - Adding Your Own Character
    >> 12:45 - Sprites
    >> 14:22 - Making a Palette for Your Sprite
    >> 18:33 - Animation Process for Basic Actions
    >> 28:18 - Adding the Animation
    >> 31:42 - Getting the Offset and Coordinates (IMPORTANT)
    >> 33:59 - Learning the BBox
    Troubleshooting Common Errors
    34:39 - Making Sure the Path to File is Correct
    36:32 - Palette Problems
    38:30 - Adding the Walk Animation
    52:25 - Troubleshooting Animation Problems
    54:46 - Adding an Attack
    >> 59:30 - Adding the BBox
    >> 1:02:31- Learning the Attack Box
    >>> 1:03:53 - Learning the Attack Parameters
    1:06:18 - Test
    1:06:50 - Closing

    • @msmalik681
      @msmalik681  3 роки тому +1

      thanks for that I will add it to the description in case someone is looking for one thing specifically.

    • @vettie
      @vettie Рік тому

      Hero.

  • @GPowtlaw2
    @GPowtlaw2 2 роки тому +1

    Thank you for making this, video is super helpful and just unlocks so many possibilities in the mind : ) also appreciate the links in the description

  • @christ5687
    @christ5687 3 роки тому +1

    What a new one! I was getting alot of good help from the old one. Cant wait to watch

    • @msmalik681
      @msmalik681  3 роки тому

      Both the applications used in this video and the os are all free and very powerful

    • @christ5687
      @christ5687 3 роки тому

      @@msmalik681 yes. I use GIMP already and the video helped me with some questions I had regarding the palette. Thanks

  • @kanbeikurodasamurai7
    @kanbeikurodasamurai7 3 роки тому +1

    Nice work on the update, can't wait to make my own mod

    • @msmalik681
      @msmalik681  3 роки тому

      Good luck if you get stuck dont hesitate to ask.

  • @julliosantoro
    @julliosantoro Рік тому +2

    Thanks for sharing, Malik! 👍

  • @RainyWolf7
    @RainyWolf7 Рік тому +1

    This brings back memories of the arcade in my town

  • @dantedevil_mktco
    @dantedevil_mktco 3 роки тому +1

    Great work my friend!

    • @msmalik681
      @msmalik681  3 роки тому +1

      Thanks buddy I have left this very late a lot of people were requesting me to remake this tutorial could you hear me ok.

  • @GPowtlaw2
    @GPowtlaw2 2 роки тому +1

    Once again really appreciate the tutorial watched it back a few times and have input a custom character. You really did a great job covering a lot of ground here - and if you ever do decide to make that scripting video It'll be amazing!

    • @msmalik681
      @msmalik681  2 роки тому +1

      Im too lazy need to make some time to do more.

    • @GPowtlaw2
      @GPowtlaw2 2 роки тому

      @@msmalik681 haha no sweat, im sure its like the seasons, at some point you'll likely have the urge, i get like that with my videos sometimes too - although to be fair what your doing requires a lot more time and energy

  • @JSinz007
    @JSinz007 3 роки тому +1

    Thanks for this it is very informative and simple to follow.

  • @aangeu9287
    @aangeu9287 2 роки тому +2

    thank you very much i really appreciate this as i am very new to this programming thing and found this very helpful

    • @msmalik681
      @msmalik681  2 роки тому

      This will help you get started then use the chronocrash forum and the wiki and you will find any answers your looking for.

  • @andrewthatcher1
    @andrewthatcher1 3 роки тому +6

    Nice work. May I suggest timestamps for people to be able to get to particular points and to know what is covered in vid

    • @msmalik681
      @msmalik681  3 роки тому

      Thanks for the feedback but this guide is not really structured enough for that maybe in a future video.

    • @fabsmakisig9278
      @fabsmakisig9278 3 роки тому +1

      I actually went ahead and made timestamps because this is very useful

  • @BRUCELEE-wt7hk
    @BRUCELEE-wt7hk 2 роки тому +1

    If you are reading this i like your efforts keep doing it and i am learning a lot good 👍

  • @fabsmakisig9278
    @fabsmakisig9278 3 роки тому +3

    I just started OpenBOR modding last month. Your first one helped me a lot, and this update feels very timely for me haha
    Also, I'm also on Linux! Yay!

    • @msmalik681
      @msmalik681  3 роки тому

      Great news just so you know I added the Linux Appimage to the latest download stable release 6391 on github.

    • @fabsmakisig9278
      @fabsmakisig9278 3 роки тому +1

      @@msmalik681 I actually use that Appimage you posted on Dec 2020, but I found it through scrounging Chrono Crash. Thank you for making it!
      It's a great decision to just include it in the stable release though, makes the whole deal easier.
      - also OpenBOR works well with Wine but having native software is best haha

  • @TUXSIBUK
    @TUXSIBUK 2 роки тому +1

    Thank you for making this great tutorial and maintaining OpenBOR for Linux Desktop. Please have more tutorial on developing OpenBOR module.

    • @msmalik681
      @msmalik681  2 роки тому +1

      When i get some free time i intend to make more.

    • @TUXSIBUK
      @TUXSIBUK 2 роки тому

      Great, I hope you cover a little bit on OpenBOR Editor and Chronocrash-modder in Linux.

  • @dreno360
    @dreno360 2 роки тому +1

    Great tutorial!!

  • @EstereoOutsider
    @EstereoOutsider Рік тому +1

    Great guide thanks a lot for the help. I just got an issue with the characther sprites and is that at the moment of playing the game it loads both the model and the colour background instead of becoming transparent, you have any idea of what can be the issue?

    • @msmalik681
      @msmalik681  Рік тому +1

      You have not moved the background colour to the first index in gimp.

  • @BruceT-rg8bp
    @BruceT-rg8bp 2 роки тому +1

    Can you please explain what the purse of the palette? I am having difficulty with the colors of the sprites being messed up in the Final Fight LNS game although it looks fine on my computer. If I create a palette like the video and use this palette for other photos, wouldn't this palette also changes the colors and such in those photos? Thank you so much

    • @msmalik681
      @msmalik681  2 роки тому

      Sorry but i do not support anything to do with final fight LNS they dont use the offical openbor engine too.

  • @AxZelAnimations30
    @AxZelAnimations30 5 місяців тому

    I'm from Unity and Godot and currently I'm interested in going to OpenBOR, although I've been around since the Lavalit days.
    Now I want to reuse all my Animations from Adobe Flash but it seems like it's one of the main problem. They are using Transparent Backgrounds and I kinda don't want to redo as much of my Animations. But I'll look into it more.
    But is there like, a template that basically has one Player Character and a Stage we can learn around with? It is kinda of overwhelming that we are basically changing the entire game instead of making a game from basic stuff.

    • @msmalik681
      @msmalik681  5 місяців тому

      Well openbor has a lot of stuff programmed for you like gravity and collision.

  • @brazilmugenteam
    @brazilmugenteam 3 роки тому

    Nice work buddy! I will share it on my channel and social media :)
    I strongly suggest you to paste the time stamps Fabs Fabon made on your video description - and maybe pin his comment ;)

    • @msmalik681
      @msmalik681  3 роки тому

      Sure thing thanks for the support

  • @mcvideos4602
    @mcvideos4602 7 місяців тому

    is there a place to read more tutorials, after this one?
    Also can games be exported to browser?
    also is there a discord to talk to others about this? Thanks again

    • @msmalik681
      @msmalik681  7 місяців тому +1

      You can join the discord discord.com/invite/vJd5mhKw
      There is another youtuber i think digital brilliance does a lot of openbor tutorials.

  • @magicpumpkin3
    @magicpumpkin3 2 роки тому +1

    Thanks for the tutorials.

    • @msmalik681
      @msmalik681  2 роки тому +1

      happy to help :)

    • @magicpumpkin3
      @magicpumpkin3 2 роки тому

      @@msmalik681 Could you do a tutorial on levels or enemy creation? Thanks again.

    • @msmalik681
      @msmalik681  2 роки тому +1

      @@magicpumpkin3 sure think i still have this demo from the tutorial I will do a second part to this tutorial when I get a chance.

    • @magicpumpkin3
      @magicpumpkin3 2 роки тому

      @@msmalik681 Sounds great thanks.

  • @christ5687
    @christ5687 2 роки тому +1

    I'm following these directions and moving my transparent color to the beginning and using using that palette, but it's still coming out funny in the game. When I check the palette in the palette editor in fighter factory, it does not have the palette rearranged with the transparent color first. I have no idea what to do Gimp isn't exporting the pictures with the transparent color first even though the palette I am using has it first.i have tried everything..

    • @christ5687
      @christ5687 2 роки тому

      Update...I deleted every sprite in the file except the new ones. Then repasted the ones I deleted so it wouldn't crash, for some reason this worked. Now the engine sees my pallet as the one to use and not the shermie ones (the file I was placing my new sprites in). I'll leave this comment in case someone has this issue also. Thanks Malik

    • @msmalik681
      @msmalik681  2 роки тому +1

      @@christ5687 with gimp there is a option to overwrite when your editing png or gifs

  • @DeusSlayer
    @DeusSlayer Рік тому +1

    I'm interested in modding. Though I'm having trouble booting any games on steamdeck. Do I need somethingbspecial to run the games on linux?

    • @msmalik681
      @msmalik681  Рік тому +1

      Just make sure you use the appimage from the github releases page 6391 is the latest stable i believe. Remember to make the appimage executable, with most distros this can be a checkbox in the properties window when you right click on the appimage. Lastly the data folder should be lower case. Any problems let me know.

    • @DeusSlayer
      @DeusSlayer Рік тому +1

      @@msmalik681 just saw thus, I'll try it tonight. Thanks bruv

  • @Nenga117
    @Nenga117 3 роки тому

    How would one go about scripting? Which file/folder should I look into? I want to be able to add things such as parries, run mechanics, etc...
    Great tutorial btw!

    • @msmalik681
      @msmalik681  3 роки тому

      Well i did make a noobs guide to scripting www.chronocrash.com/forum/index.php?topic=3519 it will help get you started. Once you learn the basics find a mod with a lot of scripts and extract it then learn from the scripts i will cover scripting in a future tutorial.

    • @Nenga117
      @Nenga117 3 роки тому

      @@msmalik681 how do you extract data from a mod? I’ve moved the EXE of a mod onto borpak and all it gave me was another PAK file. I downloaded a mod based on MK and it doesn’t show me any data folder whatsoever

    • @msmalik681
      @msmalik681  3 роки тому

      @@Nenga117 if you are using windows go to the chronocrash tools section and get the neo edit pack it includes the extraction utility

  • @fabulousfred5096
    @fabulousfred5096 2 роки тому

    hi,i downloaded the 3.0 version of final fight lns and the problem im having is when i pick arcade mode it freeze on the load screen then it exits out,am i doing something wrong?and im using a mini pc by the way.

    • @msmalik681
      @msmalik681  2 роки тому

      You will have to ask the team behind that game as they dont use the official openbor engine instead they use a modded version of it.

  • @BruceT-rg8bp
    @BruceT-rg8bp 2 роки тому

    Is it possible that I can set typemp to recover MP from hitting the enemies and to recover the MP overtime? What I am trying to do is that I want to set up MP1 bar for special skills and MP2 bar for somethings else. In the Level.txt file only allows me to set up 1 typemp. Thank you very much for the guide

    • @msmalik681
      @msmalik681  2 роки тому

      2 ways you can do this 1: have a update or ondraw script to constantly +1 the mp bar every second or 2: have a ondoattack or takedamage script recover +1 mp on successful hit both methods require scripting.

    • @BruceT-rg8bp
      @BruceT-rg8bp 2 роки тому

      @@msmalik681 thank you for the fast reply. Do you happen to have these scripts or know where I can get them by any chance? Thank you so much for your help

    • @msmalik681
      @msmalik681  2 роки тому

      @@BruceT-rg8bp www.chronocrash.com/forum/index.php?threads/mp-recovery-script.5849/ let me know if you have any issues.

  • @zethzetarex4105
    @zethzetarex4105 3 роки тому +1

    Is there a way to replace the regular walk with a run animation like the LNS final fight game

    • @msmalik681
      @msmalik681  3 роки тому +1

      You could increase the characters speed and just use runing sprites in the walk animation.

    • @zethzetarex4105
      @zethzetarex4105 3 роки тому +1

      @@msmalik681 yeah I finished the tutorial and thought the same thing afterwards
      The kazuya from tekken u did was nice tho
      Keep up the good work

    • @msmalik681
      @msmalik681  3 роки тому

      @@zethzetarex4105 thanks buddy

  • @Ri.DoBravaDo
    @Ri.DoBravaDo 2 роки тому

    Can this engine be used to make the ultimate roster for sega royal rumble?
    Reply, please

    • @msmalik681
      @msmalik681  2 роки тому

      Yes it can sonicfangameshq.com/forums/showcase/sega-brawlers-megamix-v6-8.794/

  • @6wHeisenberg
    @6wHeisenberg 2 роки тому

    So question my first character got in completely fine the issue is my next character. So I try to use my first chars pallet. I literally used the exact same color and instead of the bright pink it came out purple. So I copied the pallet re named and tried it now when I add the idle animations it’s just a black blob what’s wrong?

    • @msmalik681
      @msmalik681  2 роки тому

      Make a new palette for your second character based on a sheet with all their sprites like i did in this video.

    • @6wHeisenberg
      @6wHeisenberg 2 роки тому

      @@msmalik681 so I did that managed to change the color to the pink but it still has a black box

    • @msmalik681
      @msmalik681  2 роки тому

      @@6wHeisenberg join www.chronocrash.com or this discord discord.gg/xnFMhXGm for more support.

  • @alejandroapodaca994
    @alejandroapodaca994 3 роки тому

    Hello, I need help with a detail, I am new to openbor and I do not understand many things, I have used photoshop and Gimp to edit sprites, I edit them directly from GIF images, but in the game, boxes with rare colors appear, I used exactly the same colors of the GIF image with color picker but still appear strange frames and weird colors....... Thank you I wish you could help me :(

    • @msmalik681
      @msmalik681  3 роки тому +1

      If you are using gimp and following this guide it shows step by step what do just follow along and dont miss anything from the video and you should be fine.

    • @alejandroapodaca994
      @alejandroapodaca994 3 роки тому

      @@msmalik681 ok, thanks

  • @vgamer7855
    @vgamer7855 3 роки тому +1

    Do you know if anyone has made commercial games with openbor?

    • @msmalik681
      @msmalik681  3 роки тому

      www.thatcherproductions.org/video-games this guy known as nsw25 on chronocrash forums has sold games on stream. I have made it possible to upload games to the google play store put up a test demo called punching man and bWWd has a game called bearz. And mersox also made a original game and sold it on steam so the answer is a big YES.

    • @vgamer7855
      @vgamer7855 3 роки тому

      Alright. Thanks for letting me know

  • @T.A.H2005
    @T.A.H2005 2 роки тому +2

    thank you

    • @msmalik681
      @msmalik681  2 роки тому

      My plesure !

    • @T.A.H2005
      @T.A.H2005 2 роки тому

      @@msmalik681 hey are you arab

    • @msmalik681
      @msmalik681  2 роки тому

      @@T.A.H2005 not that its important but im british pakistani.

    • @T.A.H2005
      @T.A.H2005 2 роки тому

      @@msmalik681 I was just wondering if you speak Arabic because I'm Egyptian and I don't know English and I want someone to help me learn openbor I sorry if I bothered you with my question

    • @msmalik681
      @msmalik681  2 роки тому

      @@T.A.H2005 sorry brother but you should be able to translate this video to arabic from youtube subtitles option and use google translate on chronocrash.com

  • @viket8316
    @viket8316 2 роки тому +3

    "explains fine how to open each stuff"
    *ïnstantly uses a option doesnt explain like open in terminal*

  • @michaelvieiradasilva7359
    @michaelvieiradasilva7359 2 роки тому

    Tem como eu fazer isso pelo meu Celular Android??

  • @mvid86
    @mvid86 2 роки тому

    I opened Beats of Rage and stupidly selected disable controls in the options menu. Now I can't play it no matter how many times I close the game or restart my Beelink GT King.

    • @msmalik681
      @msmalik681  2 роки тому

      Delete the settings files in the save folder

    • @mvid86
      @mvid86 2 роки тому

      @@msmalik681 thanks for the reply. I'm accessing the game through Emuelec. Where is thesave folder located?

    • @msmalik681
      @msmalik681  2 роки тому

      @@mvid86 the save folder is in the same place as the paks folder. If your using the android port the touch screen controls should still work use your remotes mouse mode or connect a mouse by usb and you can fix the settings like that.

  • @gearhustlerstv5597
    @gearhustlerstv5597 Рік тому

    I have an Idea for a openbor game but I don't know how make games

  • @FNAFAfterthebreach
    @FNAFAfterthebreach 2 роки тому

    Wouldn't it technically be easier to use fighter factory to convert the individuals sprites there is an option to export all the sprites of a character I think that would be a lot easier than having to do it manually

    • @msmalik681
      @msmalik681  2 роки тому +1

      I do use fighter factory quite often but you still need to set all the offsets in openbor again. Main plus is that the palette is already made but i would still prefer to make my own.

    • @FNAFAfterthebreach
      @FNAFAfterthebreach 2 роки тому +1

      @@msmalik681 point taken… I look forward to seeing more videos of yours

    • @msmalik681
      @msmalik681  2 роки тому

      @@FNAFAfterthebreach and i look forward to making more.

  • @linuxstreamer8910
    @linuxstreamer8910 2 роки тому

    i love this engine but sadly it does not have bluetooth controller support on android

    • @msmalik681
      @msmalik681  2 роки тому +1

      Really i will try to look into that

  • @Hack-rom-Classic-
    @Hack-rom-Classic- 3 роки тому

    How to convert games openbor to ps2 iso

    • @msmalik681
      @msmalik681  3 роки тому

      Ps2 compatability was dropped a long time ago the console is not very powerful for homebrew and has very limited ram.

  • @ThePhantomviper
    @ThePhantomviper 11 місяців тому +3

    While the games are good. The makes this engine has so few learning tools. It's so hard is there are very few who know how to use it and unless you make a fighting beat em up or Hack n slash. There' isn't a good way to learn things like making a simple enemy npc target and shoot at the player. It just makes it very tough to learn. I had a friend try 3 years ago and each time I would read through the manual it explains well how to make fighter animation and things associated with. But going outside the basic mechanic of the original game is almost impossible. There would be a lot more games made if the learnign process had more game genre or different function learning tools. I have been trying to make shooting happen and the manual is just so vague. There are some pretty good beat em ups though.

    • @msmalik681
      @msmalik681  11 місяців тому +1

      There is a active community behind this engine ready to help and support you on your game making engine and there is another developer that has a whole tutorial series to help beginners. To do advanced scripts you should have a basic knowledge of coding.

    • @ThePhantomviper
      @ThePhantomviper 11 місяців тому

      @@msmalik681 well I do have some coding experience but I wish there were some games like third person shooter or tank or other military vehicle that show you simple understanding of target and aim of NPC shooting or type of flame thrower. If more videos were created engine might thrive not many like it

    • @msmalik681
      @msmalik681  11 місяців тому

      Bloodbanes contra games is one of the best openbor shooters. You could learn a lot from that game.

    • @ThePhantomviper
      @ThePhantomviper 11 місяців тому

      @@msmalik681 can it be downloaded somewhere other than Chrono crash forum? I only have the executable

    • @ThePhantomviper
      @ThePhantomviper 11 місяців тому

      @@msmalik681 ...thank you the way. All the best

  • @kurisuchiinathecrocodile333

    What happened to community? Current openbor wiki seems like a shallow shadow of what it was, and when i come to forum i don't see a subforum with game projects, instead you have rare threads from new game authors being lost in "general discussion". Wtf.

    • @msmalik681
      @msmalik681  Рік тому

      Community is still there and there lots of active projects as far as i am aware.

    • @kurisuchiinathecrocodile333
      @kurisuchiinathecrocodile333 Рік тому

      @@msmalik681 yes but how can i see all of them in a good way of browsing? Even SAGE/Sonic website that you linked in comments have a separate section on forum that has only threads about games (finished or work in progress), while chronocrash website is just a mess. I know old wiki had almost full list of projects, and now its all.. gone?

    • @msmalik681
      @msmalik681  Рік тому

      @@kurisuchiinathecrocodile333 goto the forum post for openbor > modules then set a filter and set the prefix for completed this will only show post for mods that are complete.

    • @kurisuchiinathecrocodile333
      @kurisuchiinathecrocodile333 Рік тому +1

      @@msmalik681 hi again, I have to ask you to forgive me. I was wrong as i didn't understand that "Module" section was what i was looking for. I assumed it was specifically for "Plugins" or "Add-ons" on the engine itself (because very often its those things that are called like that on gamedev communities). Thanks for patience and answers.

  • @gearhustlerstv5597
    @gearhustlerstv5597 Рік тому

    does anybody with to make a game with me

    • @msmalik681
      @msmalik681  Рік тому

      this tutorial will help you get started it is not that hard and the chronocrash community will help you along the way.

  • @noobsaibot1628
    @noobsaibot1628 28 днів тому +1

    👎👎👎👎👎

    • @msmalik681
      @msmalik681  27 днів тому

      What did you not like ?

    • @noobsaibot1628
      @noobsaibot1628 27 днів тому +1

      @@msmalik681 The explanation includes programming, but we want a simple explanation like Mugen

    • @msmalik681
      @msmalik681  27 днів тому

      Use chronocrash modders tools its more simple

  • @georgiivanov6207
    @georgiivanov6207 2 роки тому +1

    This engine is a total garbage. It have the mechanics of a blinde monkie. All this years so many games and its the same broken controls and mechanics. It takes too much eforts to create anithing. Its too broken and in the end its not worth it weasting your time. The result is lights years away from somthing profesional. Iven the best of the modes suffer from the same broken mechanics and cripeld muvments. Thanks for the totorial. Aniways i stick to sormaker. This is the real beat em up engine. And if its not so limited it will Blow this garbage out of the water.

    • @msmalik681
      @msmalik681  2 роки тому +1

      So why are you search youtube for tutorials?

    • @georgiivanov6207
      @georgiivanov6207 2 роки тому +1

      Its just an opinion man. Dont take it personal. Aniway i am aprisiating your efort about this tutorial. I Just dont like the engine. That dosnt means i dont like yor work.

    • @msmalik681
      @msmalik681  2 роки тому +5

      How can i not take it personally i am a developer for this engine and i am always busy but i want to make some games that truly show what this beast is capable of. Never heard of sormaker i will look into that.

    • @BruceT-rg8bp
      @BruceT-rg8bp 2 роки тому

      @@msmalik681 I didnt know you were the developer of this engine. You are just genius and thank you! Currently I am still having problems with colors being messed up in the FF LNS game, so I hope someone can help me with this. It is just so strange that the colors on the sprites look fine on my computer, but when I add them to the game, the sprites look terrible. I just can't understand what is going on.

    • @msmalik681
      @msmalik681  2 роки тому

      @@BruceT-rg8bp in general openbor all sprites must share one palette for a entity there is a chance your paint application tries to optimize the palette changing the index order check for any options like reduce colours in gimp