mirror of
https://codeberg.org/mayx/pages
synced 2026-04-02 14:14:51 +08:00
327 lines
20 KiB
HTML
327 lines
20 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
|
||
<!-- Begin Jekyll SEO tag v2.8.0 -->
|
||
<title>关于Demoscene的探索 | Mayx的博客</title>
|
||
<meta name="generator" content="Jekyll v3.9.5" />
|
||
<meta property="og:title" content="关于Demoscene的探索" />
|
||
<meta name="author" content="mayx" />
|
||
<meta property="og:locale" content="zh_CN" />
|
||
<meta name="description" content="大佬们的领域我们无法步入……" />
|
||
<meta property="og:description" content="大佬们的领域我们无法步入……" />
|
||
<meta property="og:site_name" content="Mayx的博客" />
|
||
<meta property="og:type" content="article" />
|
||
<meta property="article:published_time" content="2020-06-06T00:00:00+08:00" />
|
||
<meta name="twitter:card" content="summary" />
|
||
<meta property="twitter:title" content="关于Demoscene的探索" />
|
||
<meta name="google-site-verification" content="huTYdEesm8NaFymixMNqflyCp6Jfvd615j5Wq1i2PHc" />
|
||
<meta name="msvalidate.01" content="0ADFCE64B3557DC4DC5F2DC224C5FDDD" />
|
||
<meta name="yandex-verification" content="fc0e535abed800be" />
|
||
<script type="application/ld+json">
|
||
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"mayx"},"dateModified":"2020-06-06T00:00:00+08:00","datePublished":"2020-06-06T00:00:00+08:00","description":"大佬们的领域我们无法步入……","headline":"关于Demoscene的探索","mainEntityOfPage":{"@type":"WebPage","@id":"/2020/06/06/demoscene.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://avatars0.githubusercontent.com/u/17966333"},"name":"mayx"},"url":"/2020/06/06/demoscene.html"}</script>
|
||
<!-- End Jekyll SEO tag -->
|
||
|
||
|
||
<link rel="canonical" href="https://mabbs.github.io/2020/06/06/demoscene.html" />
|
||
<link type="application/atom+xml" rel="alternate" href="/atom.xml" title="Mayx的博客" />
|
||
<link rel="alternate" type="application/rss+xml" title="Mayx的博客(RSS)" href="/rss.xml" />
|
||
<link rel="alternate" type="application/json" title="Mayx的博客(JSON Feed)" href="/feed.json" />
|
||
<link rel="stylesheet" href="/assets/css/style.css?v=1774713757" />
|
||
<!--[if !IE]> -->
|
||
<link rel="stylesheet" href="/Live2dHistoire/live2d/css/live2d.css" />
|
||
<!-- <![endif]-->
|
||
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="Mayx的博客" />
|
||
<link rel="webmention" href="https://webmention.io/mabbs.github.io/webmention" />
|
||
<link rel="pingback" href="https://webmention.io/mabbs.github.io/xmlrpc" />
|
||
<link rel="preconnect" href="https://summary.mayx.eu.org" crossorigin="anonymous" />
|
||
<link rel="prefetch" href="https://www.blogsclub.org/badge/mabbs.github.io" as="image" />
|
||
<link rel="blogroll" type="text/xml" href="/blogroll.opml" />
|
||
<link rel="me" href="https://github.com/Mabbs" />
|
||
<script src="/assets/js/jquery.min.js"></script>
|
||
<!--[if lt IE 9]>
|
||
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.min.js"></script>
|
||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-ajaxtransport-xdomainrequest/1.0.3/jquery.xdomainrequest.min.js"></script>
|
||
<script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
|
||
<![endif]-->
|
||
<script>
|
||
var lastUpdated = new Date("Sun, 29 Mar 2026 00:02:37 +0800");
|
||
var BlogAPI = "https://summary.mayx.eu.org";
|
||
</script>
|
||
<script src="/assets/js/main.js"></script>
|
||
<!--[if !IE]> -->
|
||
|
||
<!-- Global site tag (gtag.js) - Google Analytics -->
|
||
<script async="async" src="https://www.googletagmanager.com/gtag/js?id=UA-137710294-1"></script>
|
||
<script>
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag(){dataLayer.push(arguments);}
|
||
gtag('js', new Date());
|
||
gtag('config', 'UA-137710294-1');
|
||
</script>
|
||
|
||
<script src="/assets/js/instant.page.js" type="module"></script>
|
||
<!-- <![endif]-->
|
||
</head>
|
||
|
||
<body>
|
||
<!--[if !IE]> --><noscript><marquee style="top: -15px; position: relative;"><small>发现当前浏览器没有启用JavaScript,这不影响你的浏览,但可能会有一些功能无法使用……</small></marquee></noscript><!-- <![endif]-->
|
||
<!--[if IE]><marquee style="top: -15px; position: relative;"><small>发现当前浏览器为Internet Explorer,这不影响你的浏览,但可能会有一些功能无法使用……</small></marquee><![endif]-->
|
||
<div class="wrapper">
|
||
<header class="h-card">
|
||
<h1><a class="u-url u-uid p-name" rel="me" href="/">Mayx的博客</a></h1>
|
||
|
||
|
||
<img src="https://avatars0.githubusercontent.com/u/17966333" fetchpriority="high" class="u-photo" alt="Logo" style="width: 90%; max-width: 300px; max-height: 300px; border-radius: 25%;" />
|
||
|
||
|
||
<p class="p-note">Mayx's Home Page</p>
|
||
|
||
<form action="/search.html">
|
||
<input type="text" name="keyword" id="search-input-all" placeholder="Search blog posts.." /> <input type="submit" value="搜索" />
|
||
</form>
|
||
<br />
|
||
|
||
|
||
|
||
|
||
|
||
<p class="view"><a class="u-url" href="/Mabbs/">About me</a></p>
|
||
|
||
<ul class="downloads">
|
||
|
||
<li style="width: 270px; border-right: none;"><a href="/MayxBlog.tgz">Download <strong>TGZ File</strong></a></li>
|
||
|
||
</ul>
|
||
</header>
|
||
<section class="h-entry">
|
||
|
||
<small><time class="date dt-published" datetime="2020-06-06T00:00:00+08:00">6 June 2020</time> - 字数统计:1799 - 阅读大约需要6分钟 - Hits: <span id="/2020/06/06/demoscene.html" class="visitors">Loading...</span></small>
|
||
<h1 class="p-name">关于Demoscene的探索</h1>
|
||
|
||
<p class="view">by <a class="p-author h-card" href="//github.com/Mabbs">mayx</a></p>
|
||
<div id="outdate" style="display:none;">
|
||
<hr /><p>
|
||
这是一篇创建于 <span id="outime"></span> 天前的文章,其中的信息可能已经有所发展或是发生改变。
|
||
</p>
|
||
</div>
|
||
<script>
|
||
daysold = Math.floor((new Date().getTime() - new Date("Sat, 06 Jun 2020 00:00:00 +0800").getTime()) / (24 * 60 * 60 * 1000));
|
||
if (daysold > 90) {
|
||
document.getElementById("outdate").style.display = "block";
|
||
document.getElementById("outime").innerHTML = daysold;
|
||
}
|
||
</script>
|
||
|
||
<hr />
|
||
|
||
<b>AI摘要</b>
|
||
<p id="ai-output">这篇文章讲述了作者对Demoscene这一计算机艺术亚文化的回顾。Demoscene,或称演景,是用很小的程序(如64KiB、92KiB甚至4KiB)来渲染出复杂且带音频的视频,通常利用计算机硬件如显卡提高效率。它强调了Demoscene作品对数学和编程技巧的要求很高,以C++、汇编等语言,甚至JS编写。文章提到了一些著名作品和组织,如Farbrausch和OMNISCENT,以及一个4KiB的名为elevated的作品,展示了其技术的精细和创新。作者虽然自认为没有能力参与,但仍欣赏这种艺术形式。最后,作者推荐了scene.org和js1k.com等网站供读者进一步探索。</p>
|
||
|
||
<hr />
|
||
|
||
|
||
|
||
<ul><li><a href="#前言">前言</a></li><li><a href="#什么是demoscene">什么是Demoscene</a></li><li><a href="#demoscene的实现方式">Demoscene的实现方式</a></li><li><a href="#后记">后记</a></li></ul>
|
||
<hr />
|
||
|
||
|
||
<main class="post-content e-content" role="main"><p>大佬们的领域我们无法步入……<!--more--></p>
|
||
<h1 id="前言">
|
||
|
||
|
||
<a href="#前言"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 前言
|
||
|
||
|
||
</h1>
|
||
|
||
<p>最近闲来无事又在回顾自己的历史,真是呜呼哀哉……14年左右的我是那么的有探索和研究精神,怎么过了几年之后就成Five了呢…… </p><p>
|
||
在我过去留下的文件里,我找到了一些比较有意思的东西,比如当时网上传的很火的一个叫做<a href="http://www.theproduct.de/">.the .product</a>的一个64KiB的动画,传说它用了外星压缩算法把1个多GiB的东西压缩成了64KiB,真是令人感到不可思议,还有一个叫做<a href="https://files.scene.org/view/parties/2004/breakpoint04/96kgame/kkrieger-beta.zip">kkrieger</a>的3D游戏,同样也仅仅用了92KiB。 </p><p>
|
||
这两个作品都来自一个叫做Farbrausch的组织,可能是这个组织的宣传做的比较好,其他的Demoscene虽然做的也很不错,但是并不怎么知名,唯有这个组织的Demoscene在网上广为流传……(不过也许是因为Breakpoint的Party知名度比较高) </p><p>
|
||
除此之外,在Windows XP时代喜欢玩批处理的人也一定知道一个叫做<a href="https://files.scene.org/view/parties/1997/mekka97/in4k/snc_omni.zip">OMNISCENT</a>的动画,把一串乱七八糟的东西放到debug程序里得出的一个只有4KiB的小程序,就能播放出一个看起来好像在一个飞船里的一个3D动画。
|
||
以上所说的这些我当时不知道是什么东西。到了现在,我才知道这些是一种叫做Demoscene的东西。</p>
|
||
<h1 id="什么是demoscene">
|
||
|
||
|
||
<a href="#什么是demoscene"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 什么是Demoscene
|
||
|
||
|
||
</h1>
|
||
|
||
<p>Demoscene根据百科所说是一种计算机艺术亚文化,中文名叫做演景。玩这个的人就喜欢用计算机来渲染出一些看起来很有感觉的带音频的视频。因为这些画面都是直接渲染出来的,所以占用的空间也非常的小。 </p><p>
|
||
这个道理就和位图和矢量图、波形音乐和MIDI音乐一样,程序总比数据占用的空间小,所以Demoscene通常来说都是用很小的程序来表现很复杂的场面。不过做过像svg的人应该也知道,同一个图像,做矢量图的难度要比制作位图的难度要大,这也就是为什么Demoscene是只有大佬才会玩的东西。 </p><p>
|
||
虽然说这个东西说是计算机文化,但是在我看来这个东西就是会写程序的数学家搞的玩意,这就和NOI一样荒谬,一堆数学题非得要叫个信息学比赛……</p>
|
||
<h1 id="demoscene的实现方式">
|
||
|
||
|
||
<a href="#demoscene的实现方式"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> Demoscene的实现方式
|
||
|
||
|
||
</h1>
|
||
|
||
<p>过去的Demoscene通常都是使用汇编写出来的,虽然说汇编写出来的程序应该很小,但是它因为过于复杂以至于有些硬件资源它无法很好的利用。 </p><p>
|
||
因为Demoscene主要表现的是音乐和视频,那么这些事让显卡做的效率自然要比用CPU做的效率高很多。比如说我上面所说的OMNISCENT,这个程序完全使用的是CPU的计算资源,虽然使用了4KiB,看起来很小,但是事实上还是浪费了不少的空间。最近我在逛<a href="https://scene.org/">scene.org</a>的时候见到了一个更加厉害的Demoscene,名字叫做<a href="https://files.scene.org/view/parties/2009/breakpoint09/in4k/rgba_tbc_elevated.zip">elevated</a>。它用了4KiB表现了一座山的春夏秋冬,不仅画面更加精致,而且时长也更长。 </p><p>
|
||
我看了一下,他们还放出了<a href="https://files.scene.org/view/resources/code/sources/rgba_tbc_elevated_source.zip">源代码</a>,看起来是使用C++和汇编写出来的,使用了微软的DirectX9来调用显卡。再看其他代码,好多东西就只用了一句话来表示,比如太阳就只需要一句<code class="language-plaintext highlighter-rouge">"+pow(saturate(mul(e,q[3])),16)*float3(.4,.3,.1)"</code>,云也只有一句<code class="language-plaintext highlighter-rouge">"+.1*f(s+q[3].w*.2,10)"</code>。这样看来难怪整个程序那么小,一个公式就表示了一个模型,这群伪装成程序员的数学家也真是有够强。 </p><p>
|
||
除此之外也有一些用数学界常有的复杂3D模型生成公式的,比如什么Romanesco Broccoli,还有分形之类乱七八糟的东西,像这些就超出我的理解范围了 <del>(连线代都搞不懂还搞这个?)</del>。</p>
|
||
<h1 id="后记">
|
||
|
||
|
||
<a href="#后记"><svg class='octicon' viewBox='0 0 16 16' version='1.1' width='16' height='32' aria-hidden='true'><path fill-rule='evenodd' d='M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z'></path></svg></a> 后记
|
||
|
||
|
||
</h1>
|
||
|
||
<p>既然Demoscene对数学的要求如此之高,对我来说自然是无缘步入了。但是欣赏他们的作品还是挺不错的。 </p><p>
|
||
除了上述的一些Demo(Intro)外,我还找到了一些比较有意思的,比如今年一个叫做Revision的Party里就有一个叫做<a href="https://files.scene.org/view/parties/2020/revision20/pc-4k-intro/synccord_nusanvalden.zip">SyncCord</a>的作品,同样是4KiB,效果也是非常的不错。 </p><p>
|
||
当然也不一定非要局限于4KiB还是64KiB,更大的有更多的表现空间,就比如07年的一个叫做<a href="https://files.scene.org/view/parties/2007/breakpoint07/demo/fr-041_debris.zip">debris</a>的作品,堪称大片,大小也仅仅只有177KiB,另外这也是Farbrausch的作品。 </p><p>
|
||
更多的作品大家可以自己去<a href="https://scene.org/">scene.org</a>找,这里面有历年各位神仙做的各种各样的Demoscene。 </p><p>
|
||
另外除了这些程序之外,也还有一些大佬拿JS写的只有1KiB的网页,大家可以在<a href="https://js1k.com/">js1k.com</a>里找到,当然这些和那些写真正程序的人完全不能比,只是觉得1KiB的JS能做出那些东西也感觉很有意思。</p></main>
|
||
|
||
|
||
<small style="display: block">tags: <a rel="category tag" class="p-category" href="/search.html?keyword=Demoscene"><em>Demoscene</em></a> <span style="float: right;"><a href="https://gitlab.com/mayx/mayx.gitlab.io/tree/master/_posts/2020-06-06-demoscene.md">查看原始文件</a></span></small>
|
||
|
||
|
||
<h4 style="border-bottom: 1px solid #e5e5e5;margin: 2em 0 5px;">推荐文章</h4>
|
||
<p id="suggest-container">Loading...</p>
|
||
<script>
|
||
var suggest = $("#suggest-container");
|
||
$.get(BlogAPI + "/suggest?id=/2020/06/06/demoscene.html&update=" + lastUpdated.valueOf(), function (data) {
|
||
if (data.length) {
|
||
getSearchJSON(function (search) {
|
||
suggest.empty();
|
||
var searchMap = {};
|
||
for (var i = 0; i < search.length; i++) {
|
||
searchMap[search[i].url] = search[i];
|
||
}
|
||
|
||
var tooltip = $('<div class="content-tooltip"></div>').appendTo('body').hide();
|
||
for (var j = 0; j < data.length; j++) {
|
||
var item = searchMap[data[j].id];
|
||
if (item) {
|
||
var link = $('<a href="' + item.url + '">' + item.title + '</a>');
|
||
var contentPreview = item.content.substring(0, 100);
|
||
if (item.content.length > 100) {
|
||
contentPreview += "……";
|
||
}
|
||
link.hover(
|
||
function(e) {
|
||
tooltip.text($(this).data('content'))
|
||
.css({
|
||
top: e.pageY + 10,
|
||
left: e.pageX + 10
|
||
})
|
||
.show();
|
||
},
|
||
function() {
|
||
tooltip.hide();
|
||
}
|
||
).mousemove(function(e) {
|
||
tooltip.css({
|
||
top: e.pageY + 10,
|
||
left: e.pageX + 10
|
||
});
|
||
}).data('content', contentPreview);
|
||
|
||
suggest.append(link);
|
||
suggest.append(' - ' + item.date + '<br />');
|
||
}
|
||
}
|
||
});
|
||
} else {
|
||
suggest.html("暂无推荐文章……");
|
||
}
|
||
});
|
||
</script>
|
||
|
||
<br />
|
||
<div class="pagination">
|
||
|
||
<span class="prev">
|
||
<a href="/2020/05/29/encrypt.html">
|
||
上一篇:写一个加密传输的Demo
|
||
</a>
|
||
</span>
|
||
|
||
<br />
|
||
|
||
<span class="next">
|
||
<a href="/2020/06/13/encrypt.html">
|
||
下一篇:加密传输Demo V2
|
||
</a>
|
||
</span>
|
||
|
||
</div>
|
||
|
||
<!--[if !IE]> -->
|
||
<link rel="stylesheet" href="/assets/css/gitalk.css">
|
||
<script src="/assets/js/gitalk.min.js"></script>
|
||
|
||
<div id="gitalk-container"></div>
|
||
|
||
<script>
|
||
var gitalk = new Gitalk({
|
||
clientID: '36557aec4c3cb04f7ac6',
|
||
clientSecret: 'ac32993299751cb5a9ba81cf2b171cca65879cdb',
|
||
repo: 'mabbs.github.io',
|
||
owner: 'Mabbs',
|
||
admin: ['Mabbs'],
|
||
id: '/2020/06/06/demoscene', // Ensure uniqueness and length less than 50
|
||
distractionFreeMode: false, // Facebook-like distraction free mode
|
||
proxy: "https://cors-anywhere.mayx.eu.org/?https://github.com/login/oauth/access_token"
|
||
})
|
||
gitalk.render('gitalk-container')
|
||
</script>
|
||
<!-- <![endif]-->
|
||
|
||
</section>
|
||
<!--[if !IE]> -->
|
||
<div id="landlord" style="left:5px;bottom:0px;">
|
||
<div class="message" style="opacity:0"></div>
|
||
<canvas id="live2d" width="500" height="560" class="live2d"></canvas>
|
||
<div class="live_talk_input_body">
|
||
<form id="live_talk_input_form">
|
||
<div class="live_talk_input_name_body" >
|
||
<input type="checkbox" id="load_this" />
|
||
<input type="hidden" id="post_id" value="/2020/06/06/demoscene.html" />
|
||
<label for="load_this">
|
||
<span style="font-size: 11px; color: #fff;"> 想问这篇文章</span>
|
||
</label>
|
||
</div>
|
||
<div class="live_talk_input_text_body">
|
||
<input name="talk" type="text" class="live_talk_talk white_input" id="AIuserText" autocomplete="off" placeholder="要和我聊什么呀?" />
|
||
<button type="submit" class="live_talk_send_btn" id="talk_send">发送</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
<input name="live_talk" id="live_talk" value="1" type="hidden" />
|
||
<div class="live_ico_box" style="display:none;">
|
||
<div class="live_ico_item type_info" id="showInfoBtn"></div>
|
||
<div class="live_ico_item type_talk" id="showTalkBtn"></div>
|
||
<div class="live_ico_item type_music" id="musicButton"></div>
|
||
<div class="live_ico_item type_youdu" id="youduButton"></div>
|
||
<div class="live_ico_item type_quit" id="hideButton"></div>
|
||
<input name="live_statu_val" id="live_statu_val" value="0" type="hidden" />
|
||
<audio src="" style="display:none;" id="live2d_bgm" data-bgm="0" preload="none"></audio>
|
||
<input id="duType" value="douqilai" type="hidden" />
|
||
</div>
|
||
</div>
|
||
<div id="open_live2d">召唤伊斯特瓦尔</div>
|
||
<!-- <![endif]-->
|
||
<footer>
|
||
<p>
|
||
<small>Made with ❤ by Mayx<br />Last updated at 2026-03-29 00:02:37<br /> 总字数:621775 - 文章数:180 - <a href="/rss.xml">Feed</a> - <a href="/README.html" >About</a></small>
|
||
</p>
|
||
</footer>
|
||
</div>
|
||
<script src="/assets/js/scale.fix.js"></script>
|
||
<!--[if !IE]> -->
|
||
<script src="/assets/js/main_new.js"></script>
|
||
<script src="/Live2dHistoire/live2d/js/live2d.js"></script>
|
||
<script src="/Live2dHistoire/live2d/js/message.js"></script>
|
||
<!-- <![endif]-->
|
||
</body>
|
||
</html>
|