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

科技回声

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

GitHubTwitter

首页

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

资源链接

HackerNews API原版 HackerNewsNext.js

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

Making Games on Your Own as an Engineer

349 点作者 Eyas超过 4 年前

19 条评论

angryredblock超过 4 年前
I don’t think it’s bad advice but having shipped multiple (really bad) games, I think it misses the two biggest&#x2F;best pieces of advice I’ve gotten: 1. GDDs are probably a distraction if you’re a solo dev - prototyping and grayboxing a <i>lot</i> and looking for the fun mechanics without any art&#x2F;music&#x2F;story to get in the way or distract is essential 2. If you’re truly just starting (and don’t already have a sense of fun), absolute best way to start is to carbon-copy a game you find fun, then start adding&#x2F;tweaking elements. This both builds the mindset required to make games, and helps you get into the “fun iteration” loop quickly without getting bogged down in writing a lot of interesting technical systems that don’t end up contributing to the game in a meaningful way.
评论 #26247832 未加载
评论 #26248988 未加载
评论 #26246835 未加载
评论 #26254583 未加载
评论 #26249909 未加载
评论 #26248660 未加载
insraq超过 4 年前
I&#x27;ve written some learnings after shipped my first game: <a href="https:&#x2F;&#x2F;ruoyusun.com&#x2F;2018&#x2F;06&#x2F;15&#x2F;guide-for-non-game-dev.html" rel="nofollow">https:&#x2F;&#x2F;ruoyusun.com&#x2F;2018&#x2F;06&#x2F;15&#x2F;guide-for-non-game-dev.html</a><p>As a professional software dev, I&#x27;ve noticed that while both game dev and software dev are &quot;writing code&quot;, they are done in a very different way.<p>As a software dev, the value proposition is more or less clear before you start writing code. As a game dev, you can only start to see your value proposition after you have finished your code - that&#x27;s why game code, especially as an indie without clear distinction between prototype and production phase, tend to become spaghetti really quick - and that&#x27;s fine. If you spend too much time to make the code look nice, then you are not spending enough time to make the game actually fun.<p>Software usually has some logic behind it - it has to make &quot;sense&quot;. A game doesn&#x27;t necessarily have to make sense - it needs to &quot;feel right&quot; and &quot;fun&quot;. That means your nicely designed abstractions actually won&#x27;t be reusable - copy &amp; paste is much more pragmatic. You can start to look to refactor after your game is actually successful (or fun at least) but even then you will realize that most of the code is not reusable.<p>A big part of your game code is actually &quot;content&quot;, instead of &quot;systems&quot; - meaning they are closer to a &quot;script&quot; than a well architectured software code. So you write more if-else and less inheritance and encapsulation (unless you are writing your own engine, then in that case, your engine code is actually close to software projects).<p>And if you hate writing UI for software, you&#x27;ll hate writing UI for games even more.
评论 #26258962 未加载
评论 #26248720 未加载
grenoire超过 4 年前
Derek Yu, the creator of the Spelunky series among other things, has just published a blog post on his experience with developer archetypes: <a href="https:&#x2F;&#x2F;www.derekyu.com&#x2F;makegames&#x2F;archetypes.html" rel="nofollow">https:&#x2F;&#x2F;www.derekyu.com&#x2F;makegames&#x2F;archetypes.html</a><p>Recommended short read, I&#x27;m sure you&#x27;ll find yourself here and relate to your non-indie-game-developer self too!
评论 #26249533 未加载
评论 #26250427 未加载
60654超过 4 年前
For an introduction to Unity game programming as an engineer, I can&#x27;t think of a better resource than Catlike Coding tutorials:<p><a href="https:&#x2F;&#x2F;catlikecoding.com&#x2F;unity&#x2F;tutorials&#x2F;" rel="nofollow">https:&#x2F;&#x2F;catlikecoding.com&#x2F;unity&#x2F;tutorials&#x2F;</a><p>They&#x27;re great for people who are already self-sufficient programmers, and just need to quickly get up to speed on how Unity does some specific things.
评论 #26246644 未加载
评论 #26246744 未加载
reedf1超过 4 年前
The &quot;architecting systems&quot; vs &quot;developing a game&quot; point really hit home. When I&#x27;ve attempted to make a game myself I&#x27;ve ended up developing - a night-sky pixel-art generator based off of night-sky data from SIMBAD. This was seriously overengineered and had an excessive amount of undergrad astrophysics involved. I spent weeks on this and in the end the core gameplay was not even developed!
评论 #26248555 未加载
评论 #26251611 未加载
animal531超过 4 年前
I&#x27;m a developer making a game prototype (full-time at the moment after being retrenched).<p>If you&#x27;re a solo dev I think it&#x27;s really important to focus on the areas where you don&#x27;t have any skills. For example art, animation, effects etc. All of these could potentially be a big hurdle, depending on the idea that you are developing.<p>Learning how code works in Unity (as a developer) isn&#x27;t that difficult, it just takes a bit of time. Say you need to add more advanced elements, for example you need some form of space partitioning? If you know the terms then searching for existing code (e.g. a good KD-tree implementation) on github is also not a problem, and you shouldn&#x27;t have any issues implementing it in your game.<p>But figuring out what art assets you&#x27;re going to need, how you&#x27;re going to create them (or source them) and integrate them into the engine can be an issue. As per another comment, &quot;juicing&quot; the game up takes you out of your developer comfort area, you need to really tap into your creative side there.
评论 #26254737 未加载
评论 #26252202 未加载
CobrastanJorji超过 4 年前
Hey, this is just the sort of thing I&#x27;m interested in. I&#x27;m an experienced programmer who has no idea what I&#x27;m doing with Unity. Unity&#x27;s tutorials are surprisingly great, but they tend to start with &quot;okay, so a &#x27;variable&#x27; is...&quot; and I have to skip forward a bit and just want to know &quot;okay, but say I already know how to program, what&#x27;s the right way to program with Unity?&quot; I&#x27;ve found very little on that topic, and unfortunately whatever stuff Unity has at that point seems to be behind crazy high pay walls and silly &quot;certifications.&quot;<p>Thanks!
评论 #26248129 未加载
评论 #26249711 未加载
评论 #26248512 未加载
jkingsbery超过 4 年前
Good article - it&#x27;s a useful distinction whether you&#x27;re building something to sell or something for fun.<p>One resource worth mentioning is: <a href="https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;228884866_MDA_A_Formal_Approach_to_Game_Design_and_Game_Research" rel="nofollow">https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;228884866_MDA_A_For...</a>. Working backwards from the desired kind of game you want to make based on the 8 categories this paper talks about (sensation, fantasy, narrative, challenge, fellowship, discovery, expression, submission&#x2F;abnegation) can give you a clearer way of measuring success than whether you did a good job implementing whatever mechanic you thought of.<p>Another thing the article doesn&#x27;t mention that I think can be valuable for software engineers is doing paper prototypes. As engineers, we often think about producing code as the only way to build prototypes, but sometimes you can get mileage from testing a game mechanic through much cheaper to produce paper prototypes of the game (or a part of the game).
cameronbrown超过 4 年前
I&#x27;ve been working on a game in my free time recently[0], and I can&#x27;t stress enough how important it is to identify a &quot;critical path&quot; for developing. Games are such a visual and auditory medium that you can make a really polished and interesting experience that falls flat on it&#x27;s face when it comes to depth or game mechanics.<p>Get to the very core of what you want your players to feel, their mindset, etc... and <i>then</i> build on top of it.<p>Part of doing this well is playtesting (note that this is not QA or usability testing, and especially not focus testing). Think of game designs as hypotheses and playtests as experiments. You can learn an absolute ton about your game just from doing this every week or two. I&#x27;ve found that using Steam&#x27;s Remote Play Together feature made this quite feasible during WFH.<p>[0] Link in bio if anybody is interested.
klangdon超过 4 年前
Start with: “how will I sell it?” This will frame “how do I start?” If you can’t answer how to sell it, then focus on learning and fun. If you are one of the lucky few that has a vision for both sales and hacking, then hack around that sales funnel, from the very start.
metalliqaz超过 4 年前
I hate what mobile has done to the web.<p>The text on this blog is huge and sparse, and two of the pictures take up more than 100% of my vertical screen space.<p>When did people forget about desktop browsers????
评论 #26249666 未加载
tompark超过 4 年前
TFA has some good points. I&#x27;d go even further on the situation where you quit your job to work on an indie game -- if you ever find yourself doing this, and you&#x27;ve never built a game by yourself before, you&#x27;d better have several years of runway.<p>For many years one of my favorite talks about indie games development was Jonathan Blow&#x27;s speech at UC Berkeley CSUA (2011) (<a href="http:&#x2F;&#x2F;the-witness.net&#x2F;news&#x2F;2011&#x2F;06&#x2F;how-to-program-independent-games&#x2F;" rel="nofollow">http:&#x2F;&#x2F;the-witness.net&#x2F;news&#x2F;2011&#x2F;06&#x2F;how-to-program-independe...</a>)<p>Initially I loved his main message during the talk: &quot;You have to be brutally effective to finish a project in a reasonable amount of time.&quot;<p>But there&#x27;s a part in the Q&amp;A that later grew to be even more poignant to me:<p><a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=JjDsP5n2kSM#t=1h13m8s" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=JjDsP5n2kSM#t=1h13m8s</a><p>&gt; Q: You said you worked on many projects before Braid which didn&#x27;t quite get completed. What was special about Braid which made you complete it?<p>&gt; A: What was special was it had been a long time since I&#x27;d finished anything on my own, and I sat down and decided that &quot;Dammit I&#x27;m going to finish something this time&quot;. And, &quot;To that end, so I can finish this, I&#x27;m gonna make something that is technically pretty simple&quot;...<p>For some of us, it&#x27;s REALLY HARD to complete a side-project while working full-time job. For most of my career I had completed a real game only when it was for a job (or for a client) and I worked on it full-time.<p>The single reason I hadn&#x27;t made a game as a side project was because I&#x27;d quit before I finished. I finally figured out something that worked for me, and it was counter to all the advice I&#x27;d heard. I&#x27;m sure this is different for other people, but for me the key to working day after day consistently (not quitting) on a project while working full-time was to eliminate all the &quot;shoulds&quot;.<p>When my conscious brain is always telling myself that I should do the project a certain way, my subconscious rebels and suddenly I become unproductive. There&#x27;s a ton of great advice out there such as: &quot;Don&#x27;t reinvent the wheel, build your game not a game engine.&quot; The problem is sometimes my subconscious wants to build the game engine, not the game. I can coerce it to do the right thing when it&#x27;s for an employer, but it&#x27;s a different story for a side project.<p>Ever since I stopped &quot;should-ing&quot; myself, I&#x27;ve become much more consistent and productive on side projects. If you want to make games on your own as an engineer, but are having trouble forcing yourself to spend a couple hours every day on it, then I&#x27;d suggest that you try to just code whatever the hell you <i>want</i> to code instead of the thing you&#x27;re supposed to code. You may find, like I did, that it&#x27;s better to gain some coding velocity, because this velocity gives you the momentum fly over humps that you weren&#x27;t able to overcome back when you were trying to start working on your game from a standstill.
评论 #26247152 未加载
评论 #26247609 未加载
评论 #26246865 未加载
评论 #26247442 未加载
avereveard超过 4 年前
if you are an engineer strapped for time, don&#x27;t disregard using html + canvas + a canvas game library to build your thing.<p>html input layer and javascript glue is a order magnitude more efficient than building a guy in a game engine, so unless you specifically want to push into 3d excellence and require full access to gpu performances and features, it can save a lot of tedious work.<p>I&#x27;ve tried both unity, godot and the previous approach coupled with phaser, and prototyping stuff goes ho so much faster.
评论 #26248575 未加载
iamflimflam1超过 4 年前
Back when I was doing iOS consulting I wrote and published a few games as side projects - almost got sued by Atari for my version of Battlezone.<p>Doing something polished as a one man band is incredibly difficult unless you are extremely multi-talented. Sound effects, graphics, music, game design are all skills that you probably don&#x27;t have.<p>It is an amazingly fascinating world though and you learn a lot doing it. Just don&#x27;t expect to become rich or famous!
failrate超过 4 年前
Good tools and resources for indie game devs: Sfxr, Blender, The Gimp, git or P4, Visual Studio, itch.io, TurboSquid, freesound.org
评论 #26251315 未加载
hertzrat超过 4 年前
I’ve been working on a game mostly solo now for a bit (my wife helps a bit with level design). It’s a stab at third person dungeons and dragons style play. Working on it is a lot of 7 day weeks and questions that you have to answer for yourself and the technical challenge feels really great.<p>This build is really out of date, but if anyone is interested I’ll post a link. I’ll have a significantly updated one up sometime in March hopefully <a href="https:&#x2F;&#x2F;hertzrat.itch.io&#x2F;a-few-nights-room-and-board" rel="nofollow">https:&#x2F;&#x2F;hertzrat.itch.io&#x2F;a-few-nights-room-and-board</a>
评论 #26264471 未加载
Channel超过 4 年前
As a developer in the past, my day job is great, but programming my own games and apps is fun!<p>My favorite apps and games are my own creations. Since I don&#x27;t need to make money on them, I don&#x27;t bother releasing them on the App Store.<p>I&#x27;ve tried that, and the reviews I get are bizarre. Aside from not dealing with the unruly public, I save a lot of time not worrying about distribution or support or marketing.<p>So if you want to make games or apps, go for it! Ignore the cries to ship your stuff. It&#x27;s pretty clear who are in it just to make money, vs. enjoying and being productive programming for yourself.
acvny超过 4 年前
I haven&#x27;t read the whole article, but making games on your own is really hard. You are either good designer, but bad programmer or the other way around so. I think the easiest if you are a programmer and know a little bit of Unreal or Unity, you should use free assets and not bother with creating assets as this will eat up all your time. It&#x27;s better if you pair with someone.
Vaskivo超过 4 年前
(Exactly) three months ago I quit my job to work full time in my game. I&#x27;ve yet to know how well It&#x27;ll do. But maybe my input can help.<p># Do. Then do it well.<p>I usually work like this:<p><pre><code> 1- Hack something as quickly as possible 2- See if it &quot;works for the game&quot; - If it does, GOTO 3 - If not, abort and go do something else 3- Refactor, re-architect and polish </code></pre> # Make it so that you can iterate FAST<p>Being able to change and test an element or a feature individually is crucial.<p>I have taken a data driven approach to some of the game elements. So I have a big JSON file with the data of monsters and moves. When iterating, I simply change values here, relaunch the game and check if I like the result. I also use this file for &quot;design debugging&quot;, starting in a later level, making the character immortal, etc.<p>I&#x27;m using Godot, where each custom element can be a Scene. This means that if I, for example, create my special kind of button, this button is a Scene and I can run it on it&#x27;s own.<p>I also have code that runs only when running as scene like this. I usually add buttons of keyboard input handlers to &quot;simulate interactions&quot; with the element.<p># Everything is a prototype<p>Nothing is set is stone. Nothing is final. Everything is a prototype.<p>Many times, a new mechanic changes completely how the others feel. Don&#x27;t be afraid to change previous elements to accommodate the new one.<p>The same applies to code. ATM I&#x27;m in my third &quot;rewrite&quot; of my game&#x27;s Battle UI and UI logic. The new UI arrived[0] and it was somewhat different of the old one. I just create a new file named &quot;NewBattleUI&quot; and start copy pasting and changing stuff from the old one.<p>Don&#x27;t get attached to anything.<p># &quot;Feel&quot; is the objective<p>woko and yetihehe&#x27;s shared talks explain this way better that I can: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26247832" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26247832</a> <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26248964" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=26248964</a><p>My game has a Pokemon-like battle system. After watching those talks I implements visual effects for the moves. They changed nothing for the &quot;raw numerical gameplay&quot; but totally changed the feel of battles.<p># Post Scriptum<p>My game is called One Way Dungeon. It is a linear dungeon crawler with Pokemon-like battles. It&#x27;s being developed for Android, but you can try the latest web build here: <a href="https:&#x2F;&#x2F;vaskivodev.gitlab.io&#x2F;onewaydungeon&#x2F;builds&#x2F;2021-02-19&#x2F;" rel="nofollow">https:&#x2F;&#x2F;vaskivodev.gitlab.io&#x2F;onewaydungeon&#x2F;builds&#x2F;2021-02-19...</a><p>[0] I&#x27;ve hired a UI&#x2F;UX designer to help me design it.