blob: e697372dfe97e189e34329733d2d84c1f7a62c81 (
plain) (
tree)
|
|
<html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<title>Chrisoft::Blog</title>
<script type="text/javascript" src="/panel.js"></script>
<script type="text/javascript" src="/blog/footnoter.js"></script>
<script type="text/javascript" src="/blog/aes-js.js"></script>
<script type="text/javascript" src="/blog/scrypt.js"></script>
<script type="text/javascript" src="/blog/sha256.js"></script>
<script type="text/javascript" src="/blog/decryptor.js"></script>
<link rel="stylesheet" type="text/css" href="/common.css">
<link rel="stylesheet" type="text/css" href="/panel.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
<script>
function ol()
{
window.onresize=function()
{
if(window.innerWidth<768)
setupevents();
else unsetevents();
}
window.onresize();
_decryptonload();
}
function loadTheme(){
var thm=document.cookie.replace(new RegExp("(?:(?:^|.*;\\s*)thm\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1");
if(thm.length<2||'0123z'.indexOf(thm[0])==-1||'abz'.indexOf(thm[1])==-1)thm='zz';
var ent="";
var d=new Date();
if(thm[0]=='z')
{
var m=d.getMonth()+1;
if(m>=3&&m<6)thm='0'+thm[1];
else if(m>=6&&m<9)thm='1'+thm[1];
else if(m>=9&&m<12)thm='2'+thm[1];
else thm='3'+thm[1];
}
if(thm[1]=='z')
{if(d.getHours()>=18||d.getHours()<6)thm=thm[0]+'b';else thm=thm[0]+'a';}
ent=`theme${thm}`;
var R=new RegExp('theme[0-4][ab]');
for(var i=0;i<document.styleSheets.length;++i)
{
if(R.exec(document.styleSheets[i].ownerNode.id)!==null&&document.styleSheets[i].ownerNode.id!=ent)
document.styleSheets[i].disabled=true;
else document.styleSheets[i].disabled=false;
}
var thmcolor="";
switch(thm[0])
{
case '0':thmcolor=thm[1]=='a'?'#f59dda':'#2f0933';break;
case '1':thmcolor=thm[1]=='a'?'#9df59d':'#090933';break;
case '2':thmcolor=thm[1]=='a'?'#edb47b':'#1f1205';break;
case '3':thmcolor=thm[1]=='a'?'#a0cdfa':'#051933';break;
}
document.querySelector("meta[name=theme-color]").setAttribute('content',thmcolor);
}
loadTheme();
</script>
</head>
<body onload="ol()" style="overflow-x:hidden;">
<div id="panel" class="TText">
<ul id="panellist">
<li><a href="/"><h1>Chrisoft</h1></a></li>
<li><a href="/blog"><h2>Blog</h2></a></li>
<li><a href="#"><h3 id="title">Hackathon 2015乱搞记</h3></a></li>
<li><span>Tags</span>
<ul id="tagslist">
<li><a href="/blog/list/random-xp/">random-xp</a></li></ul>
</li>
<li id="tocouter">
<span>Table of Contents</span>
<ul id="tocroot">
<li><a class="toctarg" href="#tocanch0">这是一次什么性质的比赛</a></li><li><a class="toctarg" href="#tocanch1">???</a></li><li><a class="toctarg" href="#tocanch2">后续</a></li></ul>
</li>
<li style="margin-left:-0.5em"><a id="prevp" href="2015-10-31.html">Prev post</a></li>
<li style="margin-left:-0.5em"><a id="nextp" href="2015-11-22.html">Next post</a></li>
</ul>
</div>
<div id="content">
<h2 id="titleh" class="TText" style="font-wight:normal;">Hackathon 2015乱搞记</h2>
<div id="datetags" class="TText" style="margin-bottom:1em;">2015-11-01<br>#random-xp</div>
<hr><div id="article" class="TText">
<article>
填坑日期:2015-11-22<br>
比赛日期:2015-10-24~2015-10-25(正好是我生日那天开始的……)<br>
<h2 id="tocanch0" class="tvis">这是一次什么性质的比赛</h2>
实话讲我是第一次参加这种类型的比赛。大概就是几个人一队,给一个泛泛的话题然后爱做什么就做什么那样的比赛……
这个比赛在全国有好几个赛区,济南大概是奖项最坑的一个……然后发现参赛的很多(~70%)都是SDU的学生……
另一些则是附近某些软件企业的员工。<a id="n1" href="#note1" class="note">[1]</a><br>
带我来参加这次比赛的是军训时带我的排长,「阳哥」。没有他的帮助我认为我……甚至连有这个比赛都不知道。
<h2 id="tocanch1" class="tvis">???</h2>
由于之前对这类比赛一无所知,所以比赛前感到很虚。本来打算找一找往年的题目的,结果又因为懒而取消了……<br>
比赛给的话题是「技术改变生活」。题目后面举了一些「改变了生活的技术」的例子,包括什么全系投影之类的。
这么高大上的东西我们怎么可能会啊。于是就开始「埋头苦想」做个什么好……<br>
就那么沉默了一段时间之后,阳哥问我之前有没有什么做完的东西。我说我最近做的东西不是完成度太低就是完全不符合题目要求。
然后我给他看了一眼BLR2。他认为这个可以交。(但是我不这么认为!)后来我又想了想……想到了WHG3D。<br>
WHG3D是一个我的早已停滞的工程。最早公开发布的版本是在2011年10月4日(4年了……)。这个工程大概活跃了1年多吧……
然后今年4月移动硬盘报废,所有WHG3D的源程序数据全部丢失了。再加上发布的版本里面都用了Hide script(当时我还不是
「开源的狂热追随者」),所以这个工程活过来的可能性已经是几乎没有了。然而最后一个发布出去的版本其实还是可以用的。
折腾了一番,把最后的版本从onedrive上拖了下来,稍微演示了一下。然后阳哥决定就交这个了……<br>
然而我想,就交这么一个之前的东西,不太好吧……于是就开始想再做个什么东西。结果在上厕所的时候想起了核逸飞<a id="n2" href="#note2" class="note">[2]</a><br>
写的metro版程序员老黄历丢了,我就打算用Qt重写一个……<br>
作品提交完毕之后据说会有一次初筛。出人意料的是我们提交的两个东西竟然都通过了……<a id="n3" href="#note3" class="note">[3]</a><br>
于是就得上去展示。WHG3D的展示基本都是阳哥一人包办的,我只是负责在旁边玩游戏(以及说这游戏坑)。老黄历的展示就是我自己了。
虽然没怎么感觉紧张,但是最后还是忘记了安利自己的github……(噗……)<br>
然后就是颁奖。当我们第一次听到我们队的名字的时候还没怎么感到惊讶(毕竟有我一个大一的,搞个最佳新人奖也不是什么出人意料的)。
但是第二次听到我们队的名字的时候就感觉有点可怕了。结果后来又第三次听到了我们队的名字。等我们领完第三个奖,主持人说「我觉得你们可以留步了,
因为下一个奖还是你们的」,跟你讲我当时就是这个表情:<br>
<div align="center"><img src="//filestorage.chrisoft.org/blog/img/e1.gif" decoding="async"></div>
于是最后我们就拿了四个奖:最佳新人奖,最佳创意奖,最佳技术奖,二等奖……<a id="n4" href="#note4" class="note">[4]</a><br>
有理由相信这四个奖除了第一个都是WHG3D赚到的。因为 1.WHG3D更吸引人(尤其是来自游戏厂商的评委)…… 2.展示做的相对比较好……<br>
奖发完之后有好多人来要我的联系方式的……由于才大一,不想被「那些」东西打搅太多,就统一只留了个gmail。后来甚至那个游戏厂商的评委来找我们聊天,
说「对游戏制作有热情很好」之类的话。<a id="n5" href="#note5" class="note">[5]</a><br>
我们的作品其实很渣……以下是给我留下深刻印象、感觉真正能拿奖的作品:
<ul>
<li>一个难以关掉的闹钟(对于我这种跟粘在床上的人可能比较有用)</li>
<li>一个分享旧书的系统(虽然好像已经有人做过了,但是感觉想法不错)</li>
<li>etc...</li>
</ul>
<h2 id="tocanch2" class="tvis">后续</h2>
我很清楚地知道<a id="n6" href="#note6" class="note">[6]</a>这些奖是公司试图得到廉价苦力的方式之一。过了几天我的gmail里果然
收到了「想跟你合作一个项目」这样的邮件。以下是我的回信:<br>
「抱歉,我现在还只是一名大一的本科新生,时间安排比较紧张,可能无法和您合作。非常抱歉。」<br>
在一个有deadline的环境下工作其实不是我理想的工作方式。我希望有一张更加「自由」的时间表,比如我甚至曾经yy过以后去当中小学老师(……),
然后空余事件写写代码这样的。这样似乎更接近我内在的风格。<br>
BLR工程结束之前我不会轻易开别的坑的。BLR会结束吗?(喂别这么早立flag啊……)<br>
</article>
</div><br><hr>
<div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: 这些人中有一部分来的目的是「为了找回自己想写什么就写什么的感觉」。<br></span><span class="TText"><a id="note2" href="#n2">[2]</a>: 化名。slyz核能的掌控者。<br></span><span class="TText"><a id="note3" href="#n3">[3]</a>: 后来发现所有提交的作品都通过了……<br></span><span class="TText"><a id="note4" href="#n4">[4]</a>: 一共拿了9k奖金……<br></span><span class="TText"><a id="note5" href="#n5">[5]</a>: 其实他不知道我现在的热情其实不在游戏制作上而是在……乱搞上。<br></span><span class="TText"><a id="note6" href="#n6">[6]</a>: "I know darn well"<br></span></div>
<div id="insanch" style="height:3em;"></div>
<div id="footer" style="">
<div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
<div style="text-align:center;" class="TText">
Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
<br>
Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
</div>
</div>
<div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
</div>
</div>
<div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
<div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
<div id="keyhint" style="margin-bottom:8px;"></div>
<div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
<div style="height:2.25em;">
<button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
<button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
</div>
</div>
</div></body></html>
|