TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Ask HN: How to learn game development skills?

16 点作者 agilord将近 6 年前
Assuming you know basic computer science and a bit of programming (mostly backend systems), how would you start learning game development skills?<p>I&#x27;m assuming that you need to be aware of:<p>* 2D graphics (creating, editing vector and raster)<p>* 3D graphics (modelling)<p>* 2D and 3D animation (creating the movements, interactions, intersections)<p>* music and sound effects<p>* game loop<p>* UX, controls<p>What else would you suggest to add to the above? Where to start with these subjects?<p>I&#x27;m looking for training or tutorial materials that teach the basics, and not really looking for game-engine based walkthroughs (that can come later).

9 条评论

kleer001将近 6 年前
Don&#x27;t forget about fun. Games need to be fun.<p>To that end I&#x27;d recommend some non-computery game design too. Research dice games and card games, design and history. Design a dice game. Then make a card game or two. Test them out with friends and relatives. Make iterations of that game. Sketch out a board game.<p>This may be more the scope of a game producer, and if one works on a large game others will be managing the mechanics, but most everyone that works on computer based games also loves gaming in general. And it&#x27;s going to be a miserable time being the only one on a team (if someone one got the job) that doesn&#x27;t play games in general.
AwesomeFaic将近 6 年前
Indie game designer here with a long history of self-education. My history isn&#x27;t really applicable any more but it may help with your journey.<p>With an interest in comic books and cartoons, I began practicing animation in the margin of my paperback books. Flip-books got me interested in Flash, and I spent some years learning basic frame-by-frame animation. Setting up menus and basic playback controls opened the doors to ActionScript, which got me started with choose-your-own-adventure animations. As I experimented with basic game mechanics, I started to play more games, and eventually turned to Java to learn &quot;real&quot; programming, where the concept of game loops and loading external images was introduced. After practicing on and off for years, Unity appeared and opened the doors to 3D game development (I was taking a computer graphics course in college around this time as well). I took some time to read up on level design, since I never really worked in 3D space prior to this. Since then, I&#x27;ve picked up bits and pieces of incorporating stronger media (textures, music, sfx) and polishing the user experience (more attention to the GUI and overlays). Most recently I&#x27;ve added analytics and other metrics to improve my understanding of how users behave. Funny enough after all that, now I&#x27;m designing tabletop games.<p>That&#x27;s my journey, at least.<p>Comic books -&gt; Cartoons -&gt; Paper animation -&gt; 2D Digital animation -&gt; Scripting games -&gt; Developing games -&gt; Using external assets -&gt; 3D games -&gt; Level design -&gt; Low-level concepts -&gt; Polishing media use -&gt; Polishing GUI -&gt; Analytics -&gt; Tabletop
deepaksurti将近 6 年前
There are 2 pieces to developing a game:<p>- Developing the game assets (2D&#x2F;3D models, sounds, animations etc etc). Each in itself a role in production; however no harm in learning how to do at least a few. I will strong suggest starting with Blender (it&#x27;s free and great) and use CG Masters courses.<p>The other piece is bring your assets live through code. Again this has different roles:<p>- Gameplay programmer, Graphics Tools Programmer etc.<p>Here you have the option to learn from ground up or just learn the tools and API&#x27;s (Unity, Unreal etc). Ground up route is arduous but greatly beneficial as is anything when you derive from almost first principles. For this I would say:<p>- Write an animation loader which can read skeletal animation and play it<p>- Write a mini game engine which supports animation, physics and sound.<p>I have not listed the mandatory: GL, Vulkans, Metals, and DXes of the world to be learnt.<p>As listed in the other thread, what route you choose will heavily depend on your end goal. I would say though from personal experience, just learning to write games on the side is not only fun but also makes you a better programmer, the better part may not happen when you work on a real game though there are exceptions.<p>[1] Blender -<p>[2] CGMasters
评论 #20632758 未加载
sfgweilr4f将近 6 年前
I&#x27;m actually more interested in WHY you want to go into the games industry in the first place.<p>Whats your primary motivation? In your mind, how does the gaming industry benefit you? Are you doing it for satisfaction of an interest in games? Is it for money?<p>How many projects have you completed? Have you got a portfolio of projects? github etc.
kd5bjo将近 6 年前
If you have a computer science&#x2F;programming background, don’t worry too much about the skills you listed— they’re not ultimately that different than what you’ve already learned and you can pick them up as needed.<p>The game <i>design</i> skills are probably what you should be focusing on first: as far as I know, nobody knows how to teach them and the only way to learn is to make (bad) games yourself. Come up with a small idea, make a prototype, and play it. Ask yourself which parts are fun and which parts aren’t; make an adjustment and try again, or start over with a different game idea.<p>As you go through this process, you’ll necessarily need to acquire some technical skills, but they’ll each be in support of a specific outcome. More importantly, you’ll start to understand how your decisions at the design&#x2F;programming stage affect the players’ experience.
评论 #20635649 未加载
deepaksurti将近 6 年前
It would also be good to add your objective:<p>- Learning to write games on the side<p>- Learning graphics programming using games as project based learning approach<p>- Learning to switch to a career in the games industry<p>Each will give different paths.
评论 #20633917 未加载
Pombal将近 6 年前
I would recommend you learn by doing, one step at a time.<p>Here is an example path that builds skills on top of each other, mostly geared towards programming, based on the background info you provided:<p>1. Create Tic Tac Toe. This will get you familiar with the core game loop. Read input, update game state, draw, repeat. It is a bounded project so you can finish it. Finishing projects is a skill on its own. If you want to use C or C++ have a look at Simple DirectMedia Layer (SDL) or Simple and Fast Multimedia Library (SFML). These libraries abstract OS functions like reading inputs and putting pixels on the screen so you can focus on the core game mechanics. If you want to use Python look at PyGame, for example. The industry mostly uses C++ with Visual Studio so keep that in mind if you want to join a company later on. Here you can find some tutorials on SDL: <a href="http:&#x2F;&#x2F;lazyfoo.net&#x2F;tutorials&#x2F;SDL&#x2F;index.php" rel="nofollow">http:&#x2F;&#x2F;lazyfoo.net&#x2F;tutorials&#x2F;SDL&#x2F;index.php</a><p>2. Create Pong or Breakout or any such 2D game with familiar mechanics. Then asteroids. Then battle city. Then super mario land. Each of these on its own teaches you a skill that you didn&#x27;t have before. If you find yourself repeating the same code, abstract it away. This is the beginning of a game engine - a small framework of reusable components from game to game.<p>3. Once you have done enough 2D projects that you feel like you have a good grip on most components individually and how they come together as a whole, move on to 3D. Read Game Engine Architecture. Read good open source game code like the doom3 <a href="http:&#x2F;&#x2F;fabiensanglard.net&#x2F;doom3&#x2F;index.php" rel="nofollow">http:&#x2F;&#x2F;fabiensanglard.net&#x2F;doom3&#x2F;index.php</a> Create small graphics demos where you can learn how to use shaders - shaderToy is helpful here. Create 3D Tetris.<p>4. By this point you will know enough about games to be dangerous. You will know what is most interesting to you. Maybe it&#x27;s AI, or graphics, or physics, etc. Create demos and games that showcase that field you are really interested in. Try and partner up with people with complementary skills to yours.<p>There are many ways to learn game development, the one I&#x27;d recommend the most is the one that seems most interesting to you and gets you actually creating and finishing games.
ArtWomb将近 6 年前
<a href="https:&#x2F;&#x2F;www.edx.org&#x2F;course&#x2F;cs50s-introduction-to-game-development" rel="nofollow">https:&#x2F;&#x2F;www.edx.org&#x2F;course&#x2F;cs50s-introduction-to-game-develo...</a><p>Best of luck ;)
roschdal将近 6 年前
Don&#x27;t do this. Do something useful with your time instead.