这个问题就很.... 眼熟.
对于问题 0 (标题), 参见上面的答案. 其实总结起来就是多参考别人的思维模式, 多实践, 多自我批评. 不要把自己局限于程序, 也不要把自己局限于游戏"开发".
对于问题 1, 注意"参加算法竞赛"这件事本身可大可小, 小到参加一次NOIP初赛, 大到停课一年冲刺省队NOI, 都属于"参加算法竞赛".
不过无论如何, 简单地说, 没有必要. 如果现在已经有一个明确的方向: 之后想要做游戏开发, 并且已经掌握一些相关知识, 说明题主是有自驱力的, 那么算法竞赛不是提升个人能力的最佳选项.
如果你除了个人能力提升以外, 还有其它目的, 比如身边有一群和你一起敲代码的同学觉得很快乐, 比如参加算法竞赛可以翘晚自习去机房打游戏学习, 比如你对象也搞算法竞赛, 比如NOIP二等学校就给你发奖金什么的, 可以再作考虑. 如果决定参加, 请见好就收, 不要陷进去了.
另外, 算法竞赛大学也可以参加, 到时候想体验一下也不迟.... (而且 ACM 真的比其它的单人竞赛快乐太多了233333)
如果想要更多的能力提升, 直接上手开发游戏, 做一个所谓"T型人才", 了解各个相关领域的知识(指策划美术音频管理), 并尽可能参与协作开发, 这是最优选项.
对于问题 2, 呃..... 我也不知道.
"是否可以"这个表述给我的感觉, 就像 "我是否可以做自媒体?" "我是否可以自主创业?" 一样, 很空洞宽泛, 也不太可能参考别人的经验....
我也在这里也蹲一个其他大佬们的想法吧. 之前看到的说法都是进公司优于读研究生, 国外工作优于国内工作, 找到好的工作室优于找到好的公司.
突然发现, 牛关有"知友"的说法吗? xwx