個人的には「○○ができれば中級者」という類のプログラムはないと考えています。 プチコンでは難しいイメージのある「3D」ですが、これも優秀なライブラリを使用したり、他の人が作ったものを改造すれば良いのでそれほど難しいものではありません。 確かに、フルスクラッチで3Dゲームを作れれば中級者と言えるかもしれませんが、あくまで必要条件であり十分条件ではありません。 というわけで、私が四半世紀前に考案した中級者、上級者判別の基準(必要十分条件)はこんな感じです。 中級者・・・自分のプログラムの仕組みを理解してそれを説明できる 上級者・・・状況に応じて最適なコードを書ける これは私がプログラミング講座等で使っている基準なので他の人の基準とは異なると思います。 私のプチコン講座ではこの基準を元に初心者を中級者に変え、中級者を上級者に変えるような工夫をしています。