this is a historical archive of a file format in silent hill.
right now, it just contains every model (.mdl) file in silent hill 2 restless dreams (pc).
these source files are not easy to read; they are mazes of binary, made specifically for konami. each model here has been reverse-engineered from scratch.
the goal of this effort is to preserve knowledge of these models and how they work, forever.
how do i use it?
use the "next file" and "previous file" buttons in the data controls to find a file you like. move the camera around by dragging on the screen. on a computer, try pressing k to see the keyboard controls.
play around with the different options and explore the museum!
is it finished?
it's close, but there is still a lot of mystery. i would absolutely love if you can contribute on github.
what features are planned?
a future goal is to add more file formats, including maps and animations, and formats for other games in the silent hill series.
how does it work?
it parses the mdl files directly in your browser and renders them using the three.js library.
i've documented the vast majority of the mdl file format by representing it in kaitai struct, a declarative binary parsing language.
the ksy file is compiled into a javascript parser and typescript definitions, allowing the kaitai js runtime to bring this theater to you.
how can i explore the mdl format further?
one way is to use the kaitai ide. upload the ksy file to the ide, and also drag & drop your favorite mdl file in.
alternatively, if you're ok using typescript, i recommend downloading the repo and checking out how model.ts works.
Generally, Konami Digital Entertainment B.V. does not object to fans using copyrighted materials for non-commercial purposes, and in a manner which does not intentionally spoil the plot of a game for other players.
By "non-commercial" we mean that you cannot use our copyrighted material to promote a product you are selling or making any profit from, like wallpapers, t-shirts, skins for electronic devices, etc. nor can you use it to monetise a website or a media channel.
who made this?
team silent created all of the amazing art you see here. laura ann wrote the code for this website. but i couldn't have done this without the efforts of some people on the internet, whose resources have been invaluable:
quaker762 and girianseed, who published sh2_source, a repository containing the dwarf debug symbols of silent hill 2.
quaker762 also published an initial write-up of the mdl file format.
iorange, who very recently made sh2tex, which is a really excellent texture extractor for silent hill 2. pretty much all the work done on textures here is directly from them.
murugo, who independently built a complete blender addon for both ps2 and pc models! he helped me fix the normals as of v0.1.10. also, murugo has reversed the blendshape data in models, as well as the animation and shadow formats!
perdedork, who discovered all this and more, many years ago. perdedork made the silent hill level viewer. i haven't seen the code for this viewer, but it is a really good program.
by clicking "i agree", you hold to never misuse these assets, especially for commercial purposes. please see konami's statement on copyrighted materials:
Generally, Konami Digital Entertainment B.V. does not object to fans using copyrighted materials for non-commercial purposes, and in a manner which does not intentionally spoil the plot of a game for other players.
By "non-commercial" we mean that you cannot use our copyrighted material to promote a product you are selling or making any profit from, like wallpapers, t-shirts, skins for electronic devices, etc. nor can you use it to monetise a website or a media channel.
we do not claim legal responsibility for any misuse of these assets.
thanks for agreeing to the terms! here are some tips for importing to blender:
when importing, be sure to select "temperance" for the "bone dir" dropdown. this gives the most accurate skeletons.
in material settings, be sure to set the blend mode for any transparent parts (including hair) to "alpha hashed". all non-transparent parts should be set to "alpha clip".
hide the armature if you don't want to see the bones.
some content may be considered violent or cruel.
are you sure you want to continue? if you accept:
your confirmation will be saved, and
"lock to folder" mode will be disabled, allowing you to visit all files without changing the folder.
Edit View ✨
welcome to edit mode! here you can make your own models in mdl format and explore the file structure.
drag & drop any gltf/glb model onto the page. this will edit the mdl file, effectively swapping the model.
(alternatively, use the file picker here.)
import logging goes here...
we don't see the files you send. everything runs locally on the browser.