forum

Skinning tutorial (+ skinning support)

posted
Total Posts
4,226
Topic Starter
MLGnom

In progress, please wait patiently. (I'm busy with work lately, so it might take some time)
Parts within [x] are done.
But still if you have any questions, go ahead and ask, I will answer them for sure.

[1.] Introduction : “I want to make a skin!“

Well nice decision, but remember skinning can be little hard for a newbie. In the beginning of making any skin, you should have :
  1. Beginner skills with any program that supports transparency (Photoshop, GIMP, Paint.NET, others)
  2. Patience (skinning can take a little time)
  3. An idea! Yes, this is important thing. Try be clever while making your skin.
  4. And of course you need something with you can start work… Here, a skin templates (New skin template is a little incomplete and mixed with old one to fill all missing files, but should be enough to make new style skin).

or



[2.] Skinning Basics :

Basics

What is skinning? I need some magical powers to do a skin?


Skinning is a simple picture changing mechanism that osu will load upon selecting certain skin.
Creating skins is easy (creating elements is a little more difficult thing to achieve). First you need to find your “Skins” folder that must be inside your osu! directory. To start creating new skin, install template (download it and just open, osu! will do the rest) rename template folder to your skin name and start editing it. (or copy template skin if you will need it for something).

Actually we have skinning elements for all four game modes :
  1. osu! standard,
  2. Catch the beat,
  3. Taiko,
  4. osu!mania
Together there will more than 200 elements to edit (without animations).
But don’t be scared with the amount of files. You are not forced to change everything.

What skin should contain?


Generally - skin elements and skin.ini with is important part of your skin. What is skin.ini I will explain later in “skin.ini” part. Which parts you are going to add it’s completely up to you. Every part that you won’t change, will be taken from default skin.

You are free to add different folders with alternative parts into your skin, osu! won’t care if they are there or not.

What is new and old style skinning :


Old style skinning is a style that was used by old default skin (before March 2013).
With “March 2013 update” peppy introduced new default skin and it’s new behaviours and parts.
There were few important changes like new spinner, countdown, hitbursts, ranking-panel behaviour. More about these parts you can read about later.

To active new skin behaviour select this in skin options :



or add to skin.ini "Version:1" to force old behaviour, "Version:2' to force new behaviour.

Using elements from other skins :


Never post a skin with another user's skinning element(s) with or without permission!

You are not allowed to post skins that contain parts from other skins, even if you have the permission from the original author.

The only exception to this are sounds. They can be used from other skins, even without explicit permission from the skinner. It would, however, be respectful of you to credit the original skinner.

You can make skin mashups (a skin with elements from other skins), but keep them to yourself. You are not allowed to post skin mashups, mixed skins, edits, etc. on the forums.

If you want to share them, put them in your user signature or userpage (this requires osu!supporter).

Parts that can be animated


osu! allows to create animations for some elements. To create animation all you will need to do is creating frame by frame and naming them by <name of part>-0.png, <name of part>-1.png, <name of part>-2.png etc. You are not limited to amount of frames. Exception is only sliderb with is named sliderb0, sliderb1, sliderb2 etc.

List of files that can be animated :


  1. followpoint
  2. fruit-ryuuta
  3. menu-back
  4. play-skip
  5. scorebar-colour
  6. sliderfollowcircle
  7. taiko mascot
  8. taikocircleoverlay
  9. taikobigcircleoverlay
  10. hitbursts (300, 100, 50, miss)
  11. hitcircleoverlay
  12. sliderb
  13. Probably few more, will add them when found.
If your animation is too fast, you can fix that in 2 ways. First, try to make them longer by doubling frames. For example frame 0 and 1 are the same picture (so picture will last 2 frames), frame 2 and 3 are second picture, etc. This will make animation slightly slower. But it won’t work on menu-back and hitbursts. In that case you need to use “AnimationFramerate” option. Read more about it in skin.ini part.

Important information about game mode skins :

osu! standard


Normal - Kind of skin, that skinner creates as he/she wish. Follow or don't follow template sizes. These are often colourful and creative. May contains many different animations. Typical skin for casual player.

Simplified - This kind of skin is directed to a players who dislike distractions, but like to see some things. Skins like this often have minimized size of hitbursts (300,100, 50 etc.), size of parts aren't larger than template's, less colourful, less animations.

"PRO" skins - This kind of skin it totally focused on removing any distractions that skin can provide. Skins like this contains transparent hitbursts, no animations, reduced amount of colours used in it, larger "followpoint.png", semi-transparent hitcircle.

Catch the beat


For CtB skins is important to keep droplets large (but not huge) and visible. These are small and is easy to miss.

For catcher you must be careful with plate size. If you make it too short, player won’t be able to play correctly with it since “catching” area is wider. In other hand making it too wide will mislead player and will often miss since catching area is shorter than plate.

Taiko


VERY IMPORTANT in taiko skinning is that you must make Don (red notes) and Katsu (Blue notes) visible as possible. Taiko is dynamic game mode and you don’t have time to think if it’s a Don or Katsu.

osu!mania


Still gathering data. Sorry!
If someone can provide some info about important things while making osu!mania skins, go ahead and post them here.

R-15 and R-18 content in skins :


Probably some of you perverts would like to make a skin that will contain mature content.
Case is simple, if you are going to post a skin that have it, you are only allowed to post R-15 "ecchi" (suggestive, visible underwear, swimsuits/bikini etc.and you need to avoid adding characters with really skimpy clothing) . Also you must add warning that your skin have these.

You are NOT allowed to post skins that contains any R-18 (nudity,pornography etc.) in skinning subforum. If you post somewhere else in osu! community be aware that you might be punished for that. (But if you release it outside osu! community nobody will hunt you).

[3]. What is a skin.ini?

Skin.ini is a necessary file of any skin. It contains several major options of the skin, creator name and name of a skin that show up in osu! Let me explain every line of the skin.ini.
Skin.ini

[General]

  1. Name - just put the name and version of your skin here .
  2. Author – if it’s your skin your name should be here.
  3. Version: 1/2 Forces osu! to use old/new style behaviour.
  4. SliderBallFlip – 0/1 this changes the sliderball movement when it meets a reverse arrow. If you switch it off the sliderball will just move backwards after reverse arrow. Explained below.

    - Sliderb with turned off flip [0]

    - Sliderb with turned on flip [1]
  5. CursorRotate – 0/1 controls whether the cursor rotates or not.
  6. CursorTrailRotate: 0/1 – controls whether the cursor trail rotates with cursor or not.
  7. CursorExpand – 0/1 when turned on, the cursor expands when clicking.
  8. CursorCentre – 0/1 while turned off the action point of the cursor will be in the top left corner of the image, rather than the center.
  9. SliderBallFrames – amount of sliderball frames(pictures) used in the skin.
  10. HitCircleOverlayAboveNumer – 0/1 if turned on, makes numbers appear under the “hitcircleoverlay”
  11. ComboBurstRandom : 0/1 – makes combobursts appear in a random sequence.
  12. AnimationFramerate: "Number of frames" – Defaults to playing all available frames per second. Applies to all animated sprites except slider ball, hitbursts. The lower amount of them, the slower animation will be.
  13. CustomComboBurstSounds: 50,100,200,300,400,500 etc. – Originally this option was intended for Taiko, since you can't change combobursts combo. Combo sound will be played at specified combo number. For example, we set CustomComboBurstSounds: 20,60,150,432, 864,1000 - combo sound/sounds will be played at combo : 20,60,150,432,864,1000.
  14. SpinnerFadePlayfield: 0/1 – If this is set to 0, background of spinners will be transparent (you will be able to see map playfield/video). Example how it's work. SpinnerFadePlayfield: 1 and SpinnerFadePlayfield: 0
  15. SpinnerNoBlink: 0/1 – When set to 1, it will stop spinners from "blinking" at top of the metre as they rise/peak.
  16. SliderStyle : 1/2/3 - Changes the slider style.

    Slider style :1

    Slider style: 2

    Slider style: 3 (Right now this one is disabled)

[Colours]


Every colour is defined as a R,G,B palette.
  1. Combo colours – allows you to use skin hitcircle colours if the beatmap used default. You can use up to 8 colours.
  2. SliderBorder – changes colours of the slider border
  3. SliderTrackOverride – Forces osu! to use certain colour for slider. For example :
    SliderTrackOverride: 150,25,25
  4. MenuGlow: 0,0,0 - changes the colour of glow around osu! logo in main menu. This is supporter only feature.
  5. SpinnerApproachCircle – Changes the colour of SpinnerApproachCircle.
  6. SpinnerBackground: 255,255,255 - You can use this option to change colour/dim of spinner background while using old style behaviour. Read more in this post.
  7. SongSelectActiveText: 0,0,0 – Changes text colour on actually selected difficult.
    SongSelectActiveText: 247,135,27
  8. SongSelectInactiveText: 0,0,0 Changes text colour on actually selected song (but not selected difficult).
    SongSelectInactiveText: 0,0,0
  9. StarBreakAdditive: – Changes the colour of star2.png (dropped by cursor) during breaks and kiai time. Hard to explain this correctly, read more about this in ziin's post.
    Normal star2.png :

    Changed colour with skin.ini (StarBreakAdditive: 0,255,0) :

[Fonts]


This allows you to manipulate the number images. About that “overlap”, the higher it is - the closer the numbers are.
Default numbers are used on hitcircles.
Score numbers are used for score and ranking.
Also swapping prefixes can influence the custom skins in beatmaps.

- “HitCirclePrefix : default” – changing this to “score” allows you to use one kind of number.
- “HitCircleOverlap: 3”
- “ScorePrefix: score” - changing this to “default” allows you to use one kind of number.
- “ScoreOverlap: 3”

4. Standard skin elements.

The main point of skinning. It’s good to keep the image sizes the same as on the originals, but this is not a rule. I will present and explain every part of standard skin elements.

Approachcircle
Approach circle is important part of gameplay. It is a circle that tells you when you need to hit a circle. Approach circle uses same colours as hitcircle so try to make it grey-scaled or preferably, white. While using "Hidden" mod approach circle is... well... hidden.



It's recommended to keep shape of circle or something similar to it, since player may get confused.

Few examples :
Button-left, Button-middle, Button-right
This is skin part for buttons that you can find in several places in osu!, like mods selection menu, beatmap options, multiplayer/match buttons etc.
As you can see, every button is made of 3 parts. Left, middle and right. You need to be careful to made them at same height. To have correctly aligned parts remember that button-left must be connected to the right side of picture workspace and button-right to the left.







While adding any pattern/objects to it, remember that in some places button is resized... it can look a little ugly.

Combobursts
Combobursts are characters that appears at specific combo from left or right side of screen. Recommended size is 768x500px but you can do it wider. Remember to make the comboburst characters (or whatever it is) appearing from left side while in the folder. Also adding any text to combobursts does not work well as osu! mirrors the images when they appear from the right side. To add several combobursts follow this naming rule : comboburst-0, combourst-1, combobursts-2, etc.

I have noticed one thing, many people simply don't know how to correctly crop a character out of picture and they are just using magic wand tool and delete selected area... please don't do that! It often leave many white parts or even removes something from your character... If you don't know how to cut your character out of picture, please check these 2 small tutorials:

Cropping tutorial for "Complicated Backgrounds" and Cropping tutorial for "Simple Backgrounds"

Few examples of combobursts :

Countdown
Countdown is a part of some maps. It's give warning to prepare for playing map.


After last wide-screen update creating countdown should be a lot easier.
You are not restricted by width of count pictures but height should always be 768px.
How positioning of counts works :


Count 3 - Anchor position of it's at left side. Left side of picture will start here.
Count 2 - Anchor position of it's at right side. Right side of picture will start here.
Count 1 - Anchor position is at centre of screen. Centre of your picture will be here.

So, with this you are able to create many different countdowns. But you need to remember about how they are layered. Count 3 is always on top, count 2 is behind and count 1 is covered by them. So it's kinda impossible to make stacked countdown (you know numbers that appears on previous one).

Examples : (to be added)



To countdown we can also add go.png and ready.png . Not much to say about these.


You are not restricted by size so you can try to make something different than default "Go" and "Are you ready?".

Example of different go.png :
Cursor and Cursor trail
Cursor is most important part of standard mode skinning.
Every player have their own opinion about cursors and what kind is the best.


While making one you should do it in kinda different colour than skin uses, to make it visible as possible. Cursor-trail can help increase visibility of cursor
By turning off skin.ini option "Cursor Centre" you gain possibility to make cursors that acts as your Windows cursor.

Examples of cursor : (more to be added)
Default numbers and Score numbers
Default numbers - These numbers are used on hitcircles, as counter for actual circle combo. Kinda misleading naming, don't you think? Be aware of using something else than arabic numbers. Might be a little complicated with combo 10 and up (Roman numbers for example, it's impossible to make 10 as X, 11 as XI etc.).



Score numbers - Numbers used for score and your actual combo. You should try to make these large as template numbers. Too small may by hard to see, too large will be distracting and may look ugly. Remember that score numbers are also on ranking screen, making them large will complicate creating ranking panel.



When you are using widescreen resolution, don't forget about people that plays on 4:3 aspect ratio. You can easily make numbers a little larger and lifebar will start to cover them.



You can fix that by editing Score Prefix in skin.ini

Examples of numbers :

Hitbursts
Hitbursts are "explosions" that appears in front of correctly clicked circle, slider, spinner. In other words - 300,100,50 and miss.
This is very important part of standard mode skin. It can really affect how can you play (or think you are playing ^^;). NEVER do them larger than template hitbursts (I haven't meet a person that would like them being huge).



Let's begin with small gameplay explanation how you are getting 300k or 300g.
300.png - you are getting this one for correct hit at note/full slider or finished spinner.
300k.png/100k.png - "Katu" is for correct hit at last note of combo chain but you have got somewhere 100 (green katu is for hitting last note incorrectly).
300g.png - "Geki" is for correctly finished combo chain (you have gained 300 for every note in combo chain)

As you know from "Basics" section, people have different preferences. Making small or blank hitbursts it's kinda easy but making something creative but still not that distractive might be a little harder. I will show few examples :




Hitbursts can be animated, simply like other animations - hit300-0.png, hit300-1.png,hit300-2 etc. but remember that animation will be fast and is not affected by "Animation Framerate" from skin.ini.
Hitcircle and Hitcircleoverlay
Hitcircle and Hitcircleoverlay are another key parts of standard skinning. Together with default-numbers creates standard hit note :



While making hitcircle remember about combo colours. Avoid using too much black colour since can make it unreadable.
Some people likes when hitcircle it's semi-transaprent, it helps them read streams etc.

Hitcricleoveraly - use it to make your hitcircle readable! It isn't affected by combo colours so you can make them in whatever way/colour you want.
Remember to make it slightly larger than hitcircle.

Few examples of hit notes :

Hitcircleselect
Hitcircleselect is a sprite for "selected object" in beatmap editor.
It's a blue glow on the picture.
Lighting
Lighting is part of hitcircle. It appears behind hitcircle after hitting it. You can also see it behind circle when beatmap have kiai time.
Please, try to avoid making it very large, since it's expanded after appearing. If you want it to be visible behind hitcircle in kiai time, simply make it a little larger than hitcircle.
In default skin it's just a glow :



Lighting is also visible in kiai time while playing CtB



Examples of lighting :

Menu-back
Button that appears in any menu (options, osu!direct, special mode select, song select). This is one of few parts that have size restricted. If you make it any larger than template, part of it will be outside screen. You can also animate it.
Examples :

Menu-button-background
This part appears in few places, but main usage is in song selection screen as background for beatmaps info.




While making menu-button-background you must remember about few things.
  1. Don't make it too large because it will look ugly when things start to overlap.
  2. It's coloured differently, try making it grayscaled or just avoid using too much of dark colours.
  3. You can try to be clever while making "bars" for songs names.
  4. You can change colour of text used, look into skin.ini part for SongSelectInactiveText and SongSelecActiveText:
And few exmaples :


Pause/Fail screen
Skinning pause or fail screens it easy. Only few elements are used and it's widescreen compatible.
So, let's begin with background. For pause background you need to skin pause-overlay, for fail - fail-background. If it's a personal skin, use your osu! resolution as size (as long as it uses more than 768px height). If you are going to make public skin, you can do 2 versions of it - one in 1366x768 size, second in 1024x768 but using 1366x768 is the safest option since on lower width resolutions, sides of picture are cut (while 1024x768 have black bars at sides). Default skin doesn't have pause/fail backgrounds.

Another parts are pause-continue, pause-retry, pause-back (fail screen only have retry and back). These aren't restricted by size and clickable area is resolution of picture.

Examples of pause :



Examples of fail :

Playfield
Playfield as the name says it's a background of our playfield. Actually it appears really rarely, only on old maps that doesn't have their backgrounds. But it also serve a purpose of ranking-panel background. But I will tell more about this in ranking-panel section.
Playfield is widescreen compatible, you can use any aspect ratio since osu! resizes 4:3 pictures to fit screen on widescreen, and while using widescreen bg on 4:3 it's adding black bars from upper and bottom panels.

Default playfield :

Play-skip
Similar part to menu-back with one exception, is not restricted by size. Used to skip beginning of some beatmaps. This part can be animated.
Default :



Examples :

Play-warningarrow
Warring arrow that appears at the end of section break (pass or fail), in pause menu - pointing at actually selected button (appears after pressing keyboard arrows) and while playing TAG in multiplayer - warns about your turn. Remember that warning arrow appears from both sides, right side is mirrored.
Default :



Examples :
Ranking-panel
Ranking panel uses many skin which you can create pretty nice thing.
Default ranking panel :



  • So, let's begin.
  1. Ranking Letters - It's not hard to do them. Just don't make them freaking huge. Remember ranking-X is for SS, ranking-SH - Platinium S, ranking- XH - Platinium SS.
  2. Ranking-accuracy and maxcombo - As the name says. Personally I recommend to make them blank and add "Max Combo" and "Accuracy" by yourself on raking-panel. It's just easier to position them.
  3. Ranking buttons (retry,back,replay) - Similar part to pause buttons.
  4. Ranking-graph - This one is kinda size and position restricted. Easiest way to make it, is by using default one, since you won't have problems with correct position to fit actually showed graph.
  5. Ranking-perfect - You can make it in whatever way you want, add text or picture. Be aware that sometimes you will need to do minor positioning.
  6. Ranking-title - Title of Rankings. Usually used as "RANK / Your Rank".
  7. Ranking-winner - A small box that shows winner of multiplayer match.
  8. Ranking-panel - the heart (:3) of ranking. It's not restricted by size (but is restricted by position), so fell free to experiment. Like I said in "score numbers" part, you must remember that is hard to fit large numbers into ranking spaces. I recommend to test your ranking on long maps that have high combo (for example paraparaMAX I, just check out someone's score).
  9. Background of ranking - After widescreen update, creating ranking panel of 1024x768 size to cover whole screen doesn't work well. Instead now the main role of background takes playfield.png
Examples of ranking :

Scorebar (lifebar)
This is troubling for most of the skinners if they want to make lifebar different than the original. That's because scorebar-colour has different anchor position than scorebar-background.



Blue lines show the anchor position for scorebar-colour and if you want to fit them in the same place, try moving the scorebar-background. Also you don’t need to keep length of the lifebar, you can make it shorter or longer (for widescreen). Scorebar-colour can be animated.
Default lifebar :



Interesting thing about scorebar-background is lack of size restriction with you can use to make some kind of border for combo or score. I will provide example, so this should be easier to understand :



This is more like option for personal use, since you need to make it in your aspect ratio size. For this example was 1311x768, for 16:9 will be 1366x768 etc.
Some people might like this option since someone would like to cover score or something. Be aware that scorebar-background is a highest layer of gameplay which means it will cover any other aspect of screen.

Scorebar-ki/kidanger/kidanger2 - part of lifebar that's goes with your actual life. Ki is from 50-100% of life, kidanger appears at 25-50% life, kidanger2 appears when player have less than 25% of life.

Examples of lifebar :





Section Pass and Section Fail
Pictures that appears in longer breaks. You can gain section pass for having more than 50% of life before break. Section Fail appears while having less than 50% of life. Nothing special about these, they don't have size restrictions so fell free to make them larger.
Default :



And of course examples :
Pass:

Fail:

Mod icons
As name says, icons for addition mods that make game easier/harder etc.
List of actual mods :
  1. selection-mod-easy
  2. selection-mod-nofail
  3. selection-mod-halftime
  4. selection-mod-hardrock
  5. selection-mod-suddendeath
  6. selection-mod-perfect - Icon for perfect mod. Just click hold on sudden death icon and drag it away to change.
  7. selection-mod-doubletime
  8. selection-mod-nightcore - Same as perfect mode. Click hold and drag away double time mod icon.
  9. selection-mod-hidden
  10. selection-mod-fadein - osu!mania mod, just press on hidden while in osu!mania game mode.
  11. selection-mod-flashlight
  12. selection-mod-relax
  13. selection-mod-relax2 - Autopilot icon
  14. selection-mod-spunout
  15. selection-mod-auto - icon for Autoplay mod
  16. selection-mod-key4/5/6/7/8 - osu!mania mods
You can also find 2 other icons in older skins that aren't used any more : selection-mod-novideo and selection-mod-taiko.
It might be a little hard to work on such a small area, using "unsharp mask" filter can make your icons more readable. You can change their size, but remember that too big icons might overlap with each other.
Default icon set :



Examples :







Slider and everything related to it
Let's begin with list of parts that are related to slider :
  1. Sliderball - While making it, avoid making it larger than slider, it may look a little bad. Sliderball can be animated but naming is a little different that other animations - sliderball0, sliderball1, sliderball2, sliderball3 etc.
  2. Sliderfollowcircle - When you are going to make it, try to keep it's size and shape, since it shows holding area of sliderball, changing it might confuse player. Can be animated.
  3. Reversearrow - Arrow that bounce our sliderball. If you are going to use something else than arrow, remember to make it visible as possible and not larger than hitcircle.
  4. Sliderscorepoint - A minor slider tick icon that appear on sliders. Make it visible.
  5. Sliderpoint10 - A number of points that appears when you catch slider tick with sliderball.
  6. Sliderpoint30 - A number of points that appears when you hit start of slider correctly and when sliderball hit reverse arrow.
  7. SliderStyle - Allows you to change inner part of slider. Check back skin.ini section for more info.
Default slider :



And examples of slider :










Spinner and everything related to it
Because spinner uses several parts, I will do another list...
  1. Spinner-approachcircle - Work in similar way as approach circle but this one can tell you how long is spinner.
  2. Spinner-background - Body of spinner, actually spinner is not supported by widescreen so you can only make it max 1024x768. Remember to include something that will allow player to find centre of spinner, you can add this here or on spinner-circle. Default spinner background is 1023x692, but you can change it to full screen version (1024x768).
  3. Spinner-circle - Another main part of spinner. Please be careful while making it, because you can make it wobbly which is a bad thing.
  4. Spinner-clear - Text that appears whenever you have spined long/fast enough to pass spinner.
  5. Spinner-metre - Progress bar of every spinner. You need raise it to certain point to pass spinner. Same as background, size is 1023x692 but you can change it.
  6. Spinner-osu - Appears after clearing spinner.
  7. Spinner-rpm - Area with "Spin per Minute" text on it
  8. Spinner-spin - Text that simply tells you to spin through spinner.
  9. Various options in skin.ini - Just look into skin.ini section.
Default spinner:



Examples of spinner:




Other parts
Few other parts :
  1. Follow-point - Special element that direct you to another hitircle/slider of the same combo chain. Appears only at longer distance between notes. It's good to make it a little larger and colourful to make it visible.

  2. Menu-background.jpg - Background for main manu. This part is only loaded/available for osu! supporters. You will also see it in options, multiplayer lobby, multiplayer match background and osu!direct background. This is the only skin element that must be in .jpg extension. You can easily change it by just dragging a picture and dropping it in main menu window, it will create/replace menu-bacground in you current skin. If you have created picture of size 1366x768, it will be cut from left side at lower width resolutions.
    Example :

  3. Play-unranked - Skin element of "Unranked" text that appears when using auto/relax/autopilot mods.

  4. Selection-tab - Skin elements for most of tabs that you can find in game.





  5. Small-letters - Small letters know as : ranking-D-small, ranking-C-small etc. You can find these in 3 places. In beatmaps ranking, song select panel and near score while having a section break in beatmap. Typically these are the same as ranking-letters.
  6. Star - Difficult "stars" that you can see in song menu. These are sliced by half when difficulty is 4,5 or something, you can use this to create "10 stared difficulty", see this in example below.







  7. Star2 - "Stars" that are dropped from cursor in breaks, kiai time, while playing with relax or autopilot mod. Also used by kiai fountain and appears together with comboburst.

5. Catch the Beat Elements

To be added...

6. Taiko Elements

I will explain here with one element and where it's applied in gameplay.
Taiko
  1. Taiko character aka "pippidon" - It can be easily animated in similar way as sliderball. All character "actions" explained below.
    - pippidonidle0, pippidonidle1, pippidonidle2 etc. - character in idle mode, simply waiting.
    - pippidonkiai0, pippidonkiai1, pippidonkiai2 etc. - character animation in kiai time.
    - pippidonfail0, pippidonfail1, pippidonfail2 etc. - character animation when player started failing.
    - pippidonclear0, pippidonclear1, pippidonclear2 etc. - character animation while player pass past combo milestone (50, 100, 200, etc.) and after correctly cleared spinner.
  2. Spinner-warning - Warning about spinner that appears on taiko bar.
  3. Taiko-bar-left - Left part of taiko bar. Place where you see your "buttons".
  4. Taiko-bar-right and Taiko-bar-right-glow - Right part of taiko bar. "Glow" bar appear in kiai time.
    Taiko-bar-right :

    Taiko-bar-right-glow :
  5. Taikohitcircle and Taikohitcircleoverlay - It's almost same thing like hitcircle and hitcircle-overlay with one difference, Taikohitcircleoverlay can be animated.
  6. Taikobigcircle and Taikobigcircleoverlay - Same as above but it's applied to the big circles.
  7. Taiko-drum-inner and Taiko-drum-outer - Red and Blue button indicators on left taiko bar.
  8. Taiko-flower-group - Appears behind Taiko mascot after hitting combo milestone.
  9. Taiko-hit300, Taiko-hit100 etc. - Same thing as standard hitbursts 300,100,50 etc.
  10. Taiko-glow - Appears behind "hitting" area in kiai time.
  11. Taiko-roll-end and Taiko-roll-middle - It's taiko slider. Please note that taiko-roll-middle is "copied" to fit length of slider. (That's why it's only 1px width).
  12. Taiko-slider and Taiko-slider-fail - These are upper part of taiko bar. They aren't restricted by length, so with right idea you can make something nice.

    Taiko-slider :

    Taiko-slider-fail :

7. osu!mania elements (In progress, please wait)

Let me explain skin parts and osu!mania [X]k.ini files.
osu!mania
Let’s start with skin parts.
  1. LightingN – Lighting that appear when you hit a note on judgment bar (named that correctly?). Can be animated, through it’s pretty fast animation.
  2. LightingL - Same as above but it’s for “slider” notes.
  3. mania-hit0, 50, 100, 200, 300, 300g – Hitbursts for osu!mania. You can animate them, but remember these are really fast, so you need to be cleaver to make them visible. Animation isn’t looped, that means it is long as many sprites you did.
  4. mania-key1 /2/S – Skin for buttons. Be careful with using patterns on it. Because later in .ini files you might set length of buttons that can make patterns stretched. Special button is used in 7k/8k game mod.
  5. mania-key1D/2D/SD – Skin for buttons while pressed. Same as above.
  6. mania-note1/2/S – Skin for mania notes.
  7. mania-note1H/2H/SH – Skin for end parts of “slider”.
  8. mania-note1L/2L/SL – Skin for middle part of “slider”. This one can be animated.
  9. mania-stage-hint – know as judgment bar. Place where you need to hit note correctly. If you have problems with correct position of it use judgment line that you can set in .ini files.
  10. mania-stage-left/right – A left/right part of mania playfield. They aren’t restricted by size, so you can make neat sides by adding something more than border. If you will use it just for border, do a smaller part - rest will be repeated from upper part of screen to bottom.
    But if you are going to something larger, set height at 768px and width of your preference.
  11. mania-stage-light – special light that appears on column stage when you hit a button. Game will always try to fit it into column width, making them wide will force game to resize it to size of column.
    Better make higher than wider.
  12. selection-mod-key4/5/6/7/8 – mod icons for mania key mods.
  13. special-mania - osu!mania icon is special mode select.
[/list]

8. Sounds :


To be added...

9. Creating .osk files

All that the user will need to do is open the file with osu!.
You need to create .osk (osu! skin) file. You can create one from the skin selection screen, or manually with the steps below.

Creating .osk file with WinRAR

Creating .osk file with 7-ZIP


In short : You need to create .zip archive and simply change extension to .osk

10. Uploading screenshots / creating video preview of your skin :


To be added...

11. Uploading your skin and creating thread for it :

First delete all not skinned parts, we don't need them. Next you need to create archive (zip, rar, 7z or .osk file with is recommended) and upload it somewhere. Mostly people prefer direct download. You can use upppy! or puush. Mediafire is fine too. (Of course you can use other sites for upload).
If you don't know how to make friendly looking thread use this template.

Template by Dragvon
[General]
Skin Name: Your skin name will go here.
Creator: Name(s) of who made it.
Theme: Tell us what theme your skin is based at.
Version: Self-explanatory
Tags: This can make finding your skin easier.
Download: Put download link here.

[Data]
Size: Aprox. size of you skin
Is it fully skinned? Yes/No. (Gameplay/Menu/Taiko/Catch the Beat - only?)
Screenshots: Screenshots go here. (Adding a spoilerbox is usefull for people with slow connections)
Video preview : (If you have one)

[Misc]
Creator's comment: Self-explanatory.
Updates: Leave your updates here (Again, a spoilerbox could be very usefull here)
Requests: Since no one is perfect, you can use this to request help to your skin :)
Don't forget about screenshots. (people wants to see your skin before downloading).
You can use upppy to upload them.
______________________________________________________________________________________________________

Of course the information listed here only shows how things work and what is important. The rest depends on your photoediting skills.
And geez... don’t be shy if you don’t know how to make something. Feel free to ask me or other people who can help you.
James2250
Edited a few things (made some parts easier to read and changed a few comments on it: default x . , % never need to be skinned as they will not be used in game, combo bursts should never exceed 500 width etc)

Stickied as has some nice info for beginners here~
Dragvon
Awesome.
Add also "How to use .osk"
In short, rename a .zip skin into .osk osu! can deal with the rest
Topic Starter
MLGnom

Dragvon wrote:

Awesome.
Add also "How to use .osk"
In short, rename a .zip skin into .osk osu! can deal with the rest
Hah I knew there is something like this but I forgot the extension. ^^'

Added with mini tutorial for 7-Zip/WinRAR.
ziin
A few additions, and clarifications. Nice job though.
StarBreakAdditive: 255,255,255
Adds a certain amount of color to star2 during breaks. I do not know how much the star break subtracts from the red channel by default, but I would imagine it's somewhere around 25-50. The only thing it's really good for is removing this default behavior, because usually star2 is completely white, making it impossible to recolor the image by adding to the color.
SpinnerApproachCircle: 0,255,0
If you do not specify a spinner-approachcircle osu! will use approachcircle and recolor it.
f) CursorCentre – while turned off the cursor will work like the original system cursor.
f) CursorCentre – If off, the action point of the cursor will be in the top left of the image, rather than the center.
Topic Starter
MLGnom
What a shame...I was wondering why SliderTrackOverride and SpinnerApproachCircle doesn't work for me, I just forgot to remove "//". :<

Added and corrected.
Chibi_Fox

MLGnom wrote:

b) Unnecessary parts :
[list] [*] default-x, default-comma, default-x.png, default-percent - are no longer used
You've wrote default-x two time. And default-dot.png is no longer used too.
Topic Starter
MLGnom
Thanks. Didn't noticed that minor mistake. ^^'
Dragvon
Oh, another thing:
I remenber something about "AlwaysShowPlayfield: 0/1" for using transparent backgrounds in the spinner.
Not sure about the correct sentence tho~
Topic Starter
MLGnom
Hmm... as I read correctly this option is only for editor, and it doesn't work after all. :<
pjiang621111
I just want to point out a minor mistake here:

MLGnom wrote:

h) HitCircleOverlayAboveNumer – if turned off, makes numbers appear under the “hitcircleoverlay”
According to the templateskin's skin.ini file (and I tested it out to make sure), turning this off (that is, making this 0 instead of 1) causes the numbers to appear over the hitcircleoverlay.

Thanks for this tutorial! I learned a few more useful things from this that didn't come from the templateskin itself! :)
Topic Starter
MLGnom
Corrected. Thank you.
Making tutorial at 3 am isn't a good idea. ^^'
AussieEvil
Is there a directory of all the image names that osu! uses?
ziin
run osume.exe and download the template skin to see most of the files osu uses by default. This guide fills in where the template skin falls short.
Faust
Thanks for your contribution.
Topic Starter
MLGnom
Added information about uploading/creating skin thread.
Please correct me if you found any mistakes (grammar too). :3
Firo Prochainezo
One of the most useful guide in osu! in my humble opinion. Once again, wonderful job MLGnom! Bravo!
Void
Is there any particular reason for StarBreakAdditive to cause star2 to go invisible? Or is it just because I'm setting it to black and white?

EDIT: The term "alpha channel" came across my mind for some reason, but I'm not sure if it could somehow be related or not.

Also, why is the fail background mentioned to 800x600 only, and not 1024x768?
Topic Starter
MLGnom
About StarBreakAdditive. I tested it a little, and yeah it seems to manipulate transparency if you are changing values by same amount (Like StarBreakAdditive: 25,25,25 - nearly visible star2) While making it white (255,255,255) it's stays unchanged. If Black (0,0,0) it's disappear (transparency = 0) (Still I'm thinking how to explain this correctly)

About fail-background : For long time it's wasn't scaled properly by osu! (while you made resolution higher than 800x600, it was oversized ingame). Well it seems that has been changed.

I will correct both information later. Thank you for noticing these. ^^'
AnimeMusicgirl24
I don't understand the skin.ini thing. I mean, I understand it, but where can I get it?
ziin
create a file called "skin.ini". Edit the file so that it has all of the items listed in the tutorial in a text editing program.

Or download any other skin and use its skin.ini as a guide.

MLGnom wrote:

About StarBreakAdditive. I tested it a little, and yeah it seems to manipulate transparency if you are changing values by same amount (Like StarBreakAdditive: 25,25,25 - nearly visible star2) While making it white (255,255,255) it's stays unchanged. If Black (0,0,0) it's disappear (transparency = 0) (Still I'm thinking how to explain this correctly)
About Additive color blending:

colorizing in osu means subtracting out a number from a channel. For example, you can't take an orange image and make it blue. It's impossible, since the blue value is already 0.

When using the storyboard colorize, it will set the image's RGB value to a percentage of the original. If you use 0, it's black. If you use 255, it's the original. When you use additive blending, instead of reducing the value of the channel, it reduces the alpha channel (transparency).

Thus if your star2.png is blue (0,0,255) and you use starbreakadditive 128,128,128, the first two 128s don't do anything (they could be 255), and the second one will reduce the transparency of the blue star2.png to 50%.

This is how the background is dimmed when playing, and how the stars eventually fade into nothing as well.
Topic Starter
MLGnom
So, you can use StarBreakAdditive to reduce transparency of star2.png or colorize it if it's gray-scale yes?
After all I understand now how it's work.
And please, can you write an explanation in form that would be easier to understand? (for people who would have problem with understanding this). Then I would be able to add this to the main post.
ziin
I barely understand it myself. I don't know how to actually calculate it either, so it's best to just use guess-check.
ShadowzI_old
Just wanted to add to the tutorial specifically about the health bar. The distance of the scorebar-color should be exactly 16 pixels down and 5 pixels to the right. In otherwords that's where the anchor point is. So all you need to remember is to make sure in your scorebar-background 16x5 form the top left corner you start making the top left corner of you scorebar-color.
Just thought I include this info cause it's usually quite easy for me to make the health bars.
Update: Damn I think the vodka is getting to me I can't remember if it is 5 pixel or 4. I'll check again in the morning
My1_old
can somebody explain the thin with the falling stars (these falling from the cursor) from the game???
there are only values explained and I dont get anything
ziin

My1 wrote:

can somebody explain the thin with the falling stars from the game???
How colorization works in osu!

Take star2.png
Take any pixel in the image. It will have a color associated with it, usually white, or [255,255,255].
For the purposes of this experiment, let's use a different color though, say [255,222,200]
StarBreakAdditive will then modify that pixel on a channel by channel basis. Thus if the additive is [34,255,92] then we will do the following:

255 * 34 / 255 = 34
222 * 255 / 255 = 222
200 * 92 / 255 = 72

The star's color during breaks will be [34,222,72], some nasty shade of green.

Now, instead of drawing just a nasty shade of green star, it instead adds [34,222,72] to the pixel directly behind it. On a black pixel [0,0,0], it will look exactly like [34,222,72]. On a white pixel, it will look white [255,255,255] because you can't go any higher than [255,255,255]. On a gray image, say [192,192,192] it will bet a bit different:

192 + 34 = 226
192 + 222 > 255
192 + 72 > 255

So it will be the color [226,255,255], a very light cyan. As time goes on, the star itself fades out.

Note that these are only the stars that fall from your cursor during the breaks. I just use white all the time in my skin, but the default skin uses a pinkish color, I presume to be [255,192,192].
Topic Starter
MLGnom
Great. Added link to your post. Let's hope that will help with understanding how it's working.
My1_old
yes and I change the general color with th imge or is there an ini option too???
ziin

My1 wrote:

yes and I change the general color with th imge or is there an ini option too???
StarbreakAdditive: is in the ini.

You can also change the color in the image.
YuZuKi Kenny
I have a question.
How to make an *.ini file of my skin?
My English is poor. ;(
Luna
Just take the *.ini from any skin (for example from the template skin) and edit it
My1_old

ziin wrote:

My1 wrote:

yes and I change the general color with th imge or is there an ini option too???
StarbreakAdditive: is in the ini.

You can also change the color in the image.
but it says that this option only applies in breaks or in "kaiai time" (dont aks me what that is I am the one who wants to know thies...)
but I said general and general means always
-> edit
OK I had enough of setting the col in the ini so I mad it with the image...
however is there an option to let the stars shine always
YuZuKi Kenny

Luna wrote:

Just take the *.ini from any skin (for example from the template skin) and edit it
ok,Thx :)
ziin

My1 wrote:

but it says that this option only applies in breaks or in "kaiai time" (dont aks me what that is I am the one who wants to know thies...)
but I said general and general means always
-> edit
OK I had enough of setting the col in the ini so I mad it with the image...
however is there an option to let the stars shine always
The stars only fall from the cursor during breaks and kiai time.
Breaks look like this in the editor: http://puu.sh/5bmq
Breaks are gray on the timeline, Kiai time is orange: http://puu.sh/5bmx
If you want to see the stars all the time, edit the beatmap so that kiai is always on.

During kiai time, the star changes color according to the combo color instead of starbreakadditive.
My1_old
and what is kiai time exactly???
ziin
It's a timing section which makes lighting.png show up behind all hitcircles, colorized to the hitcircle color, star2.png will be emitted from the cursor in the color of the hitcircle, and there will be a fountain of non-colorized stars at the very beginning of the timing section.
My1_old
so ok but is there something eöse special like bonuspoints or whatever
ziin
in taiko you get 10% more points.
My1_old
only in taiko???
man...
Neclory
someone knows what "LayeredHitSounds" means? I found it in a .ini file.
My1_old
can you say me where ya found it???
I can try it and say what I found...
and a question can sb. give me the original autopilot icon, I need it for skinning
but MAY I even use the standard skin (recolored)???
Topic Starter
MLGnom

Rin wrote:

someone knows what "LayeredHitSounds" means? I found it in a .ini file.
Errr where did you find that?
I think it's something related to the mapping (editor), not to the skin.ini . D:
My1_old

My1 wrote:

can sb. give me the original autopilot icon, I need it for skinning
but MAY I even use the standard skin (recolored)???
My1_old
little questiion what are hit100k hit300g and hit 300k for???
ziin
they are displayed at the end of a combo. 300g if you SSed it. 300k if you got a 100 somewhere. 100k if you got the last note as 100 but no 50s anywhere in the combo.

if you want the autopilot icon, just printscreen it.
My1_old
no screenshot makes It somehow darker...
dont ask me how and why It is just so...
Wassaaaa
parts that can be animated just go from 0 to 9 -.-" , there is a way to extend this? I'm wanting to create a great skin and i'm limited a lot these few numbers like the combobursts .-.
Topic Starter
MLGnom
Hmmm... I will check this tomorrow. But they shouldn't have limits. D:
I know there is no limits for comboburst (actually in one of my skin I have 20 of them)
Wassaaaa
how do you do?? i put a comboburst-10.png and only goes to 9 and start again from 0
EDIT: LOL, now i can put more comboburst. I have no idea what has happened, thanks :P see my other problem please

otherwise, the animation of ryuuta going too fast D: you can not handle the frame rate?
Topic Starter
MLGnom
Yep like I said. There is no limit amount of frames for animations.
Tested :
- Play-skip,
- Fruit ryuuta,
- Followpoint ,
- Sliderfollowcircle,
They had +10 frames and worked fine.

For making slower animation try using same pictures for few frames (Fruit ryuuta 1,2,3 - picture 1, Fruit ryuuta 4,5,6 - picture 2 etc.)
That's the only way to slowdown animations.

Also If you are making Fruit-ryuuta animation you should add also "Fruit-ryuuta.png" as sprite for character "dash". Probably it will need a small position correction.
show more
Please sign in to reply.

New reply