ふろむだ@分裂勘違い君劇場

分裂勘違い君劇場( https://www.furomuda.com/ )の別館です。

ぐいぐい引き込まれるWeb漫画/小説をつくる5つのコツ

 

 

もちろん、物語の作り方には、いろんなやり方がありますし、面白さには、いろんな種類の面白さがあると思います。

なので、ここで書くのは、私の、ごくごく個人的な意見にすぎません。


(1)無名作者のWeb漫画/小説の場合、冒頭から読者を引き込まなければならない


有名な作者の作品や、賞を取った作品は、話が面白くなるまでに、比較的長いページ数を費やすことが許されます。

しかし、無名作者の無名な作品の場合、前置きが長いと、話が面白くなる前に、読者は離脱してしまうと思います。

とくに無料のWeb漫画やWeb小説の場合、そうなりがちです。

我慢して退屈なものを読み続ける義理も動機も、読者にはないからです。

なので、無名作者のWeb漫画やWeb小説では、冒頭から、いきなりぐいぐい引き込まれて、目が離せなくなって、一気に読み進めちゃうようなストーリー展開にした方がいいかと思います。

そして、それはそんなに難しいことじゃないと思います。

もちろん、オリジナルなのをつくるのがいいと思いますが、
どうしてもオリジナルなのが思い浮かばない場合、
使い古されたテンプレでも、十分に機能すると思います。

たとえば、こんなのはどうでしょう?

『ダメな父親だ』と娘に思われている男がいる。
その父親は、娘を喜ばせようと一生懸命なんだけど、不器用なので、なかなかうまくいかない。
その娘が、父親の目の前で、吐き気を催すほどゲスい男たちに拉致された。
その父親は、娘を助けるために、ものすごく無理に無理を重ねて、ボロボロになりながらも、死に物狂いで、追跡したり戦ったりする。

これは、「娘」のところを、妻、恋人、幼馴染、クラスメート、異性or同性の友だち、などにしても同じです。

これって、どうしょうもなく使い古されたテンプレではありますが、
物語の冒頭で、ほんのわずかなページ数で、読者を引き込むことができる、
王道のテンプレだと思います。

そんな使い古されたもので、読者は引き込まれるのか?
というと、引き込まれると思います。

テンプレは同じでも、表現の仕方を変えれば、それぞれ全然別物に見えますから。

こういう「読者を引き込むテンプレ」は、ほかにもいろいろあります。
たとえば、「酷いマイナスの状態にある人間が、チートして人生をやり直す」
ってのもやはり、最小のページ数で、読者を引き込むことができるテンプレだと思います。

たとえば、「ひきこもりニートが異世界に転生する」とか
「ダメな底辺ヤクザが、タイムスリップして、若いけど経験豊かなヤクザとしてやり直す」
なんてのも、そのバリエーションの一つだと思います。

もちろん、別にテンプレでなくても、自分でオリジナルのパターンを作ってもいいと思います。

いずれにしても、「冒頭の、最小のページ数で、一気に読者を引き込む」というのを、冒頭に持ってくるのが、Web漫画orWeb小説の作法みたいなもんだと思います。

これは、WebUIの設計における、LPOと同じ理屈です。
「最終話まで呼んでもらえる」というのを「コンバージョン」と考えて、コンバージョンレートをどこまであげられるか?
という風に作るのがいいかと思います。

 


(2)読者が感情移入しやすいリアルな邪悪さor理不尽さを描く

敵の邪悪さ(or世界の理不尽さ)がうまく表現されていないと、読者は感情移入しにくいと思います。

「なんだかわからないけど、とにかく敵は邪悪なんだ」だと、
読者が感情移入しにくいと思います。

これも、オリジナルなものを作れればそれにこしたことはないですが、
使い古されたテンプレでも、十分に機能すると思います。

たとえば、「弱者がいじめられている」というテンプレは、
感情移入しやすい邪悪さのパターンだと思います。

弱者(貧乏人/底辺/ブサイク/凡庸/子供/老人/奴隷/子犬/障害者/病人)が、鼻持ちならない強者(金持ち/上流階級/体格のいい男/才能あふれる人/イケメン/美人)に、ネチネチといじめられていれば、感情移入しやすくなります。

他にも、裏切りとか、差別とか、濡れ衣を着せるとか、読者がリアルに感じられる邪悪さや理不尽のテンプレはいろいろあります。

もちろん、テンプレじゃなくて、オリジナルで作り出してもいいですけど。

ポイントは、「読者が、身近でリアルに感じられる邪悪さor理不尽さ」を、丁寧に表現することだと思います。

 


(3)ROIを上げる

読者が、最小の読書コスト(Investment)で、最大の快楽(Return)を得られるようにする。

そのために、ROIの低い文言、絵、コマを、どんどん間引いていく。

ROIが低いもののうち、省略できるところは、徹底的に省略しまくる。

逆にROIが高い表現を、どんどん挿入して膨らましていく。

これ、ネームだとやりにくいかもなので、
一旦文章でプロットを書いて、その文章ベースでROIを最大にしてから、
ネームに落とすのがいいんですかね。

 

 

(4)読者に投資をさせない

設定や背景を説明しないと、話が分からないですよね。
だからといって、説明的な絵や文章を入れると、読者は退屈してしまい、そこで離脱すると思います。

説明的な絵や文章というのは、ROIが低すぎるからです。

なので、「ROIが高い話なんだけど、それが同時に、設定の説明にもなっている」という絵や文章によって、説明をしていきます。
つまり、読者がすげーワクワク面白く読むんだけど、読み終わったら、世界設定が頭に入っているので、その設定を使って、次の物語展開ができる、という作りにする。

これは、物語の中で「説明」をするための、基本原則だと思います。

 

 

(5)面白くなると期待させておいて、それ以上に面白くする方向で裏切らなければならない

もちろん、どんでん返しがないと、話は面白くなりません。

しかし、だからといって、
「ありきたりな話だと思わせておいて、ものすごい超展開になる」
という作りにしてしまうと、
そもそも読んでもらえません。

なぜなら、とくにWeb漫画やWeb小説の場合、「ありきたりな話だろう」と読者が思ってしまうと、そもそも、読者は離脱してしまうからです。

なので、まず、「面白い展開」を読者に予測させないといけません。

一方で、面白い展開を読者に予期させておいて、その展開にならないと、詐欺です。
俺は、こういう面白い展開を期待していたから読んだのに、全然そうならないじゃないか!
俺の時間を返せ!
というわけです。

なので、必ず、次のように、物語を作らないといけません。

(1)ターゲット読者にとって「ぜひ読みたい」と思わせる展開をつくる。
(2)その展開を面白いと思うようなタイプの読者が、それよりもっと面白いと思うような別の展開をつくる。

そして、物語の最初の方で、(1)だと読者に思わせて、読者をぐいぐい引き込んだ上で、途中から突然(2)の展開をして、どんでん返しをします。

  

 

■あとがき:


 

全てをベストにはできない

上記5つの点を、完全に満たすように作ろうとすると、なかなか作品ができあがらないと思います(天才とか本職とかは別)。そして、そんなに完全に満たさなくても、けっこう面白い作品になるのではないかと思います。

なので、上記の5つの点のうち、いくつかがそこそこできたら、それで見切り発車でいいのではないかと思います。

 

 

'; break; case 'horizontal': if(a.imgUrl){ imgCode = ''; } code = '
'+ '
'; code += imgCode; if(a.label) code += ''+a.label+''; code += '
'; break; default: error('こんなview知らねえ。'+a.view); } return code; } function toImgUrl(super_kind){ var HFotoTbl = { tw: '20180803102713', fb: '20180803102707', hb: '20180803102710', line: '20180803102711', pocket: '20180803102712', feedly: '20180803102708', hate_blo: '20180803102709', note: '20180821103319' }; var hf_id = HFotoTbl[super_kind]; if(!hf_id){ log('このsuper kind:'+super_kind+'のはてなフォトIDが登録されてないぞ。'); return null; } return hfid2url(hf_id); } var HFDayRE = /^\d{8}/; function hfid2url(hf_id){ var sa = HFDayRE.exec(hf_id); return 'https://cdn-ak.f.st-hatena.com/images/fotolife/f/fromdusktildawn/'+ sa[0] + '/' + hf_id + '.png'; } function setButton(a){ var pos = isString( a.pos ) ? $(a.pos) : a.pos; a.imgUrl = toImgUrl(a.superKind); var html = makeButtonHtml(a); var meth = a.insertMethod; if(!meth) meth = 'after'; pos[meth](html); $('#'+a.id).on('click',function(){ window.location.href = a.url; }); } function asurePrefix(a){ if(!a.prefix){ var random = Math.floor( Math.random() * 110000000000000 ); a.prefix = 'random-'+random+'-'; } } function setSocialBts(a, defs){ var title = getPageTitle(a.title); var url = getPageUrl(); if(!a.insertMethod) a.insertMethod = 'after'; var b = $.extend(true, {}, a); asurePrefix(b); var i=0; b.title = encodeURIComponent(title); b.url = encodeURIComponent(url); var pos = b.pos; var id; defs.forEach(function(def){ var c = $.extend(true, {}, b); var kind = def[0]; c.label = def[1]; id = c.id = c.prefix + kind; c.pos = pos; c.kind = kind; var superKind = SuperKindTbl[kind]; c.superKind = superKind ? superKind : kind; var site = SITE_NAME; if(site == 'fromd.hateblo.jp') site = 'www.furomuda.com'; switch(kind){ case 'tw': c.url = 'http://twitter.com/share?url=' + c.url + '&text='+c.title+encodeURIComponent(' @fromdusktildawn ')+ '&related=fromdusktildawn'; break; case 'fb': c.url = 'https://www.facebook.com/sharer/sharer.php?u='+c.url; break; case 'hb': c.url = 'http://b.hatena.ne.jp/add?mode=confirm&url=' + c.url + '&title='+c.title; break; case 'line': c.url = 'https://social-plugins.line.me/lineit/share?url='+c.url; break; case 'pocket': c.url = 'http://getpocket.com/edit?url='+c.url+ '&title='+c.title; break; case 'twFollow': c.url = "https://twitter.com/intent/follow?screen_name=fromdusktildawn"; break; case 'hbFollow': c.url = "http://b.hatena.ne.jp/fromdusktildawn/"; break; case 'fbPage': c.url = 'https://www.facebook.com/furomuda/'; break; case 'fbGroup': c.url = "https://www.facebook.com/groups/426678561170457/"; break; case 'hate_blo': c.url = "https://blog.hatena.ne.jp/fromdusktildawn/"+ site + "/subscribe"; break; case 'note': c.url = 'https://note.mu/fromdusktildawn'; break; case 'feedly': c.url = 'https://feedly.com/i/subscription/feed/'+ encodeURIComponent('https://'+site+'/feed'); break; default: console.log('こんなkindしらねえ。:'+kind); } setButton(c); if(c.insertMethod == 'after'){ pos = '#'+id; } }); return id; } function make2ColButtons(a, ldef, rdef){ var col_ids = make2ColFrame(a); var lpos = '#'+col_ids.l; var rpos = '#'+col_ids.r; a.pos = lpos; setSocialBts(a, ldef); a.pos = rpos; setSocialBts(a, rdef); return col_ids.frame_id; } function make2ColFrame(a){ asurePrefix(a); var LEFT_SUFFIX='-left-cell'; var RIGHT_SUFFIX='-right-cell'; var prefix = a.prefix; var frame_id = prefix+'-frame'; var left_id = prefix+LEFT_SUFFIX; var right_id = prefix+RIGHT_SUFFIX; var frame = '
'+ '
'+ '
'+ '
'; $(a.pos).after(frame); return {l: left_id, r: right_id, frame: frame_id}; } // PC依存のコード========================================== var archiveEntries = $(".archive-entry"); if(archiveEntries.length){ archiveEntries.each(function(){ var archiveEntry = $(this) var entryTitleLink = archiveEntry.find(".entry-title-link"); var entryHref = entryTitleLink.attr("href") var entryDescription = archiveEntry.find(".entry-description"); var bookmarkHtml = " " entryTitleLink.append(bookmarkHtml); var readMoreHtml = "もっと読む"; entryDescription.append(readMoreHtml); var bookmarkCounter = archiveEntry.find(".bookmark-widget-counter"); bookmarkCounter.hide(); var starContainer = archiveEntry.find(".star-container"); var bigBookmarkCounter = archiveEntry.find(".big-bookmark-counter"); starContainer.insertAfter(bigBookmarkCounter); function makeStarCountBig(){ var starCount = archiveEntry.find(".hatena-star-inner-count"); if(starCount.length){ starCount.css('font-size','140%'); } else { setTimeout(makeStarCountBig,300); } } makeStarCountBig(); }); // フォローしてもらうボタンをサイドバーに設置 var btPos = '.profile-description'; var startPos = 'my-buttons-pos'; $(btPos).after( '
' ); twPos = '#'+startPos; var last_id = setSocialBts({pos: twPos}, [ ['twFollow', 'フォローする'], ['note', 'フォローする'], ['hate_blo', '読者になる'], ['feedly', '購読する'], ['hbFollow', 'フォローする'], ['fbPage', 'facebookページ'], ['fbGroup', 'facebookグループ'] ]); var paddingBottomId = 'my-padding-bottom-id'; $('#'+ last_id).after( '
' ); var pos = $('#main-inner'); var img_url = hfid2url('20201008224538'); //var img_url = hfid2url('20201003093324'); //var img_url = "https://storage.googleapis.com/hateblog/img/prj/book/learning/learning_blog_top.png"; pos.before( '
'+ ''+ ''+ ''+ '
' ); /* var free_a_begin = ''; var book_a_begin = ''; pos.before( ''+ ''+ ''+ ''+ ''+ ''+ ''+ '
'+ free_a_begin+ ''+ ''+ 'ふろむだ本のガッツリ5章分が無料のWeb記事として読めます!

'+ free_a_begin+ '無料版を読むにはここをクリック'+ '
'+ book_a_begin+ '本で読みたい方はここをクリック'+ '
' ); */ } else { var title = $(".entry-header .entry-title a"); if(title) { var titleHref = title.attr("href") var bookmarkHtml = "" var entryTitle =title.parent(); entryTitle.append(bookmarkHtml); entryTitle.css('font-size','150%'); function addHeadStar(){ var starCountCheck = $(".entry-footer .hatena-star-star-container .hatena-star-inner-count"); if(starCountCheck.length){ var starContainer = $(".entry-footer .hatena-star-star-container"); if(starContainer){ var starCount = starContainer.find(".hatena-star-inner-count"); starCount.css('font-size','24px'); var starClone = starContainer.clone(true,true); var bigBookmarkCounter = title.parent().find(".big-bookmark-counter"); starClone.insertAfter(bigBookmarkCounter); starCount = starClone.find(".hatena-star-inner-count"); starCount.on('click',function(){ alert('☆を付けた人の一覧を見るには、この記事の下部の☆数をクリックしてください。'); $("html,body").animate({scrollTop:$('.entry-footer .hatena-star-star-container').offset().top-100}); }); var bt = starClone.find(".hatena-star-add-button"); bt.on('click',function(){ alert('☆を付けるには、この記事の下部の「☆+」ボタンをクリックしてください。'); $("html,body").animate({scrollTop:$('.entry-footer .hatena-star-star-container').offset().top-100}); }); } else{ setTimeout(addHeadStar,300); } } else { setTimeout(addHeadStar,300); } } addHeadStar(); procSpecialMarkers(); var param = { pos: 'footer.entry-footer p.entry-footer-section', title: title.text() } make2ColButtons(param, [ ['tw', 'この記事をツイートする'], ['hb', 'この記事をブックマークする'], ['pocket', 'この記事を後で読む'] ], [ ['fb', 'この記事をシェアする'], ['line', 'この記事をLINEで送る'] ] ); // フォローしてもらうボタンを下部に設置 param = { pos: 'footer.entry-footer div.social-buttons' }; var frame_id = make2ColButtons(param, [ ['twFollow', 'フォローする'], ['hate_blo', '読者になる'], ['hbFollow', 'フォローする'], ['fbGroup', 'facebookグループ'] ], [ ['note', 'フォローする'], ['feedly', '購読する'], ['fbPage', 'facebookページ'] ] ); } } // 記事一覧ページと、単体表示ページの両方に共通するコード ==================== var d = $('div.date a time'); d.css({ 'color': '#aaa', 'font-weight': 'normal' }); if(IS_ANNEX){ var link = $('h1#title a'); // ブログタイトルのリンク link.attr("href", 'https://www.furomuda.com/'); } })