Skip to content

Instantly share code, notes, and snippets.

@fuji-nakahara
Last active May 23, 2022 09:53
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fuji-nakahara/91cd4cd0315dec674a36fb296ae8145a to your computer and use it in GitHub Desktop.
Save fuji-nakahara/91cd4cd0315dec674a36fb296ae8145a to your computer and use it in GitHub Desktop.
SF創作講座 2022 第2回課題「課題を選択しなさい」 https://school.genron.co.jp/works/sf/2022/subjects/2/
require 'bundler/inline'
require 'json'
require 'open-uri'
require 'csv'
gemfile do
source 'https://rubygems.org'
gem 'genron_sf', '>= 0.2.1', git: 'https://github.com/fuji-nakahara/genron_sf.git', branch: 'main'
end
GenronSF.config.logger = Logger.new(nil)
kougai_and_selected_kadai_csv = CSV.parse(
URI('https://docs.google.com/spreadsheets/d/1Ap4CaNksysVSIS1WsBUvN1r3e3rCvNg1RaZ-QoiNw6s/export?format=csv').read,
headers: true
)
kougais = JSON.parse(
URI('https://genron-sf-fun.herokuapp.com/2022/2/kougais').read,
symbolize_names: true
)
[2016, 2017, 2018, 2019, 2020].each do |year|
puts "# #{year}"
subjects = GenronSF::Subject.list(year:)
subjects.each do |subject|
next if subject.theme.include?('最終課題')
author = subject.lecturers.find { |lecturer| lecturer.roles.include?('課題提示') }
puts "#{subject.number}. [#{subject.theme}(#{author.name})](#{subject.url})"
kougai_and_selected_kadai_csv
.select { |row| (row['該当年'].to_i == year && row['課題提示'] == author.name) || row['補足']&.include?(subject.theme) }
.map { |row| kougais.find { |k| k[:title] == row['タイトル'] } }
.each do |k|
puts " - [#{k[:student][:name]}「#{k[:title]}」](#{k[:url]})"
end
end
end

2016

  1. 『これがSFだ!』という短編を書きなさい(大森望)
  2. 『変な世界』を設定せよ(東浩紀)
  3. 『エンタメSF』の設計(長谷敏司)
  4. 誰もが知っている物語をSFにしよう(冲方丁)
  5. テーマを作って理を通す(藤井太洋)
  6. 遊べ! 不合理なまでに!(宮内悠介)
  7. 〝謎〟を解こうとする物語の作成(法月綸太郎)
  8. 読者を『おもてなし』してください!(新井素子)
  9. 決して相容れないものを並立させよ(円城塔)

2017

  1. 五反田をSFにせよ(東浩紀)
  2. クライマックスに驚きのあるSFを作れ(長谷敏司)
  3. 冒頭で引き込め(藤井太洋)
  4. 驚きなさい(円城塔)
  5. エラーが/から発生するストーリーを創作せよ(法月綸太郎)
  6. 『場面』を設計せよ(飛浩隆)
  7. 神が存在する世界でのリアルな話を書きなさい(山本弘)
  8. やっぱり、お月様。(恩田陸)
  9. 〇〇の気持ちになってください(新井素子)

2018

  1. AIあるいは仮想通貨を題材に短編を書け(東浩紀)
  2. スキットがなきゃ意味がない(藤井太洋)
  3. 生き物を作ってみよう!(新井素子)
  4. 拘束下で書きなさい(円城塔)
  5. 来たるべき読者のための「初めてのSF」(法月綸太郎)
  6. キャラクターの関係性で物語を回しなさい(長谷敏司)
  7. 経過時間を設定してください(飛浩隆)
  8. 「天皇制」、または「元号」に関するSFを書きなさい。(小川哲)
  9. 小さな世界を見せてください(森岡浩之)

2019

  1. 「100年後の未来」の物語を書いてください(大森望)
  2. 読んでいて“あつい”と感じるお話を書いてください(新井素子)
  3. 強く正しいヒーロー、あるいはヒロインの物語を書いてください(藤井太洋)
  4. 「何かを育てる物語」を書いてください(法月綸太郎)
  5. シーンの切れ目に仕掛けのあるSFを書いてください(長谷敏司)
  6. 長距離を移動し続けるお話を書いてください(円城塔)
  7. 「取材」してお話を書こう。(小川哲)
  8. ファースト・コンタクト(最初の接触)(鏡明)
  9. 「20世紀までに作られた絵画・美術作品」のうちから一点を選び、文字で描写し、そのシーンをラストとして書いてください。(高山羽根子)

2020

  1. 旬のネタでSF小説を書く(長谷敏司)
  2. 小説つばる「新人SF作家特集号」の依頼(小川哲)
  3. 自分の得意なものを書きなさい(円城塔)
  4. 神話をモチーフにした作品(藤井太洋)
  5. 「何か」が増えていく、あるいは減っていく物語を書いてください。(法月綸太郎)
  6. 「アクション」「スピード感」いずれかを入れたものを書いてください。(菅浩江)
  7. 何かを食べたくなるお話を作ってください(新井素子)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment