8 ms·
Not Your Problem
- madflame991 10y agoThat's why I recommend jams like Ludum Dare [1]. You're constrained to 48 hours. You can't waste time on writing an engine in that amount of time; you can't work on anything else than the game content itself. [1] http://ludumdare.com/compo/ http://ludumdare.com/compo/
- veli_joza 10y agoIf anyone is inspired to dive in today, there's currently ongoing PROCJAM[1] which might be right up your ally. https://itch.io/jam/procjam https://itch.io/jam/procjam
- teh_klev 10y agoCough, ahem, if you and parent didn't read all the way to the end: >Consume Less >Reading 20 articles a day on game development feels like work. It is work! But it's useless unproductive work, it's not moving the needle. >Better to spend less time on Gamasutra, TIGSource, r/gamedev/ (or where ever the cool kids hang out these days) and a little more time in your editor getting stuff done. I'd be inclined to say that Ludum Dare and Twitch or itch or whatever are up there in the "where ever the cool kids hang out these days" list.
- monsieurbanana 10y agoYou might want to go to ludum dare's website and see what it's about, it has nothing to do with twitch... If your goal is to release your first game, I fail to see how Ludum Dare doesn't help: it's goal is effectively to release a game.
- teh_klev 10y agoI know what Lumdum Dare is, you're missing the point I was trying to light heartedly try and make....
- HolyHaddock 10y agoI'm afraid I'm missing the point too. Would you mind finding another way to make it? If the core point of the essay is to cut the YAGNI and just get something shipped, aren't gamejames like Ludum Dare a great way to do that?
- Sohakes 10y agoGame jams were the only way I made the two games that I have made. Without it, I guess me and my friend would be lost in stupid details instead of releasing a game.
- nacs 10y agoSame. I've spent about 6 years doing gamedev as a hobby and have never released a game or have anything to show others when they ask "Oh what have you finished?" (because like many others I spend far too much time pursuing unnecessary things during development then end up abandoning and starting a new project). I have however took part in many Ludum Dares and I have been able to complete 7 or 8 games/entries that, looking back on even the first entries, I'm quite proud of (and glad to show others).
- wonks 10y agoEither way, this rule doesn't apply to Hacker News, right...?
- AdeptusAquinas 10y agoHa :) "Or drawing UML diagrams (Here's a secret; no one does this.)" Question: do they still insist on UML at university? I remember they did for me, and with ten years in IT I have never since seen a single UML document by anyone, much less created one. Not sure what he meant by the XML bullet point, or the .NET under level editors. Using XML or JSON for a config file is trivial in most modern frameworks, like .NET (e.g. Unity).
- Outpox 10y agoThe startup I worked in just after graduating (in dev web) last year used to work with UML diagrams. I then moved in bigger companies where it just disappeared.
- TJSomething 10y agoI learned UML during my bachelor's in 2012. Now I work at a big company and the only UML diagram I've had a use for is a sequence diagram.
- praptak 10y agoI see and draw informal UML-lish diagrams on whiteboards and napkins. I'd say 90 percent of them are sort of like the class diagram in UML. The rest are sorta-collaboration-diagrams and maybe-sequence-diagrams. We'd probably draw something similar even if UML never existed but I think it helped a bit in creating the common vocabulary. So I'd say there is some benefit to teaching UML at university.
- imtringued 10y agoThe only benefit of UML is standardisation.
- flyx86 10y agoUML would be handy at places where you would have drawn some kind of diagram anyway. Like an overview of components in a distributed system. Or a processing pipeline. Or an overview of a deployment environment. If UML delivered a useful set of constructs for those, it would be useful. Sadly, it focuses on class diagrams which I have never seen used anywhere. Sequence diagrams are somewhat used, but they are too complex and do not fit the average use-case well. (distinction between classes and objects? what about threads? loops have no break statement. Fragments are horrible. wtf.) There are diagrams for component overview and such, but they are so strange that you just end up with drawing your own diagram type. But yeah, the software engineering department still teaches UML.
- lmm 10y agoMostly good advice, but I find test-first helpful even for personal projects. And Qt is superb for internal editor tools. Drag and drop the widgets in the designer, write a few lines of Python to wire it up as an actual program, done. It won't look pretty and it will waste memory but it will work.
- veli_joza 10y agoI think the point of article is to resist learning Qt while making a game, because you believe it would make you more productive some time later. If you already know Qt and can do lots of work quickly, more power to you. IMO, Qt is powerful technology with good future; getting familiar with it is a fantastic investment for young people in IT, just not so much in game development.
- lmm 10y agoI mean obviously don't write a GUI if a CLI will do, and don't write a CLI if editing text files will do. But if you do need a GUI editor then I think Qt is the fastest/best way to get from zero to working GUI.
- mysterydip 10y agoThat can sometimes be a deceptive trap, though. What if there isn't a lib or wrapper for Qt (or whatever it happens to be, physics, networking, etc) in your language of choice? I've gone searching the net for solutions to roadblocks in the past to find "this would be perfect... if only it worked in my language." Do you write your own wrapper, try to use something else, switch languages, etc. It can be a vicious cycle that ultimately has you not making progress.
- lmm 10y agoIf a language isn't popular enough to have Qt bindings available already then it probably isn't popular enough to use for your first game. I mostly avoid the cycle you mention by having a single strongly preferred language and focusing my library knowledge there.
- 10y ago
- ianopolous 10y agoFrom the url I thought this was going to be about homemade rocket powered grenades.
- k__ 10y agoaren't they just propelled and not totally powered by rockets?
- ianopolous 10y agoYou're right! I guess I made that up whilst playing Duke3d. :-)
- deleted 10y ago[deleted]
- lifebeyondfife 10y agoAs someone who has spent the last 3-4 years on and off making a Football Manager game (https://github.com/lifebeyondfife/Cm93 https://github.com/lifebeyondfife/Cm93) that started as a weekend project - I loved this. I recognise so many of the bullet points the author recommends avoiding, and why they're so tempting, but ultimately it's all great advice. The last ones like this I remember considering were Steam integration, and database encryption to make cheating harder _shakes head_. I'm determined to finish within 5 years, and never start another Duke Nukem again.
- pkd 10y agoThis looks quite good already. Nice work. I would love something to substitute for the drab experience of FM. Would you be offering Linux support in the future?
- lifebeyondfife 10y ago> Would you be offering Linux support in the future? Answer can be inferred from my previous comment :) Seriously though, thanks so much for the interest. The tech stack is C# and WPF specifically which Microsoft does not appear to be keen to port to any other platform. If this version takes off when finished, I could be convinced to recreate as a web or Android app.
- rootlocus 10y agoAs a person who spent his last 6 years making EVERY SINGLE MISTAKE presented in this article, I have to agree: it's solid advice. Unfortunately, I may not have accepted it 6 years ago. I justified writing everything myself by saying I was learning. I justified buying C++ books by saying I wanted to be a "true" game developer. Then I justified switching to another language by saying I needed faster iterations and prototyping. I spent hours and days trying to make everything work on both windows and linux. Me and a couple of friends just released our first game on google play last week [1]. It's stupid and only our friends and family played it. We didn't monetize it (it's 100% free, no adds) and we didn't promote it anywhere. It was made in two weeks, spending a few hours each day. I'm not very proud of it, but I'm extremely proud of myself for pushing through and finishing it. Hopefully, our next game will be something people will actually like. 1. https://play.google.com/store/apps/details?id=com.manabreak https://play.google.com/store/apps/details?id=com.manabreak
- amelius 10y agoThat's pretty decent graphical design, given the little amount of time you spent on it.
- rootlocus 10y agoThank you! My girlfriend made it, she the team's artist :)
- mysterydip 10y agoCongrats on finishing something! That alone puts you ahead of probably half the game devs out there :) I've also done a few releases of smaller games to get "something" done, warts and all. Learn from it, do better on the next one. A few months ago I had the idea to combine a bunch of mini games that I could make quickly with a defined scope that wouldn't send me down that rabbit hole, and package them together as a collection. I'm pretty happy with how it came out, even if it hasn't been a commercial success yet. Plus now it's easy to add another minigame or two as an update, which I'm working on right now. For purchasers, the value keeps increasing.
- billyjobob 10y agoThis assumes that shipping the game is the primary objective. While that will be true for professional projects, when working on an amateur project my goals are: 1. Have fun coding 2. Learn new technologies Actually shipping is way down the list, almost a side effect. If I wanted pressure and deadlines I would just get a job at a game dev studio.
- thecatspaw 10y agoif you're trying to do it for fun, it seems more like a to-do list
- oblio 10y agoUmmmm... MFC?!?
- cousin_it 10y agoI've found that when I make shipping the main goal, it works wonders even for my personal projects. YMMV.
- deleted 10y ago[deleted]
- ensiferum 10y agoTrue words. There's so much YAGNI and NIH that people pour their motivation/time/effort into and end up with nothing. Btw, Handmade Hero is really a prime example of this stupidity. Personal addendum: https://github.com/ensisoft/pinyin-invaders https://github.com/ensisoft/pinyin-invaders
- tashi 10y agoStupidity!? Handmade Hero seems to me to be a uniquely great resource for learning the guts of game development. He's made it clear from day one, and has reiterated often, that the aim isn't to make a game as fast as possible, and that there are lots of good engines available if you just want to make a game. Are you sure you're not judging it by the wrong standards?
- ensiferum 10y agoHandmade Hero, day 325 ticket mutexes. Yawwwn.... Most of the stuff that he spends (wastes) his time on is really not relevant to a game development, at least not initially if at all. I personally view it as an "exploration in NIH" under the ruse of "game development". It does make up for an kinda amusing show tho. "Day 4524, debugging my shitty vector implementation" (;
- psyc 10y agoHandmade Hero very explicitly has the opposite goal. Calling it stupidity in that context is extremely asinine.
- Green-Man 10y agoMost of the advices can be extrapolated to the other fields of development. Not only the software development. But the goal should be highlighted: making the things done. I think there is even a methodology for this: JFDI
- reedlaw 10y agoThis is a good list of what not to do. Can anyone recommend what to do to make a simple game? I thought I'd give Unity a try because of the vast learning resources. Turns out it's pretty kludgy to get things done. Unreal Engine seems to have a steeper learning curve but is of somewhat better quality. I had the most fun trying to write my own OpenGL renderer in C++ but of course that's a rabbit trail off of making an actual game. What is the most productive environment for beginners?
- coderjames 10y agoFor developing 2D games, I've found the combination of Love2D [0], Bump.lau [1], anim8 [2], and Gamera [3] to be extremely productive for me. This is a Lua game engine with additional libraries for collision detection, animation, and moveable/zoomable camera. I'm an embedded C++ programmer by day so I've almost certainly done many of the things on the OP's list. It wasn't until I set C++ aside after 15 years or so and gave Lua a chance that I finally started making real headway on my Secret Agent Sam remake. [0] http://love2d.org/ http://love2d.org/ [1] https://github.com/kikito/bump.lua https://github.com/kikito/bump.lua [2] https://github.com/kikito/anim8 https://github.com/kikito/anim8 [3] https://github.com/kikito/gamera https://github.com/kikito/gamera (Note: I'm not kikito, just an appreciative user of his work)
- coldnebo 10y agoI liked DarkBasic: https://www.thegamecreators.com/product/dark-basic-pro-open-source https://www.thegamecreators.com/product/dark-basic-pro-open-... Unlike other environments where everything is an integration with yet another library or tool chain, DarkBasic is refreshingly monolithic. Everything is simply in the language. This makes it really easy for beginners to get started. Take a look!
- deleted 10y ago[deleted]
- bobsgame 10y agoThese days using Unity is definitely the best bet for just about everything. Even low end phones are fast enough to use it, so there's just not much benefit to using something lightweight or writing from scratch. Game development has changed a lot and now it seems that it is more about content curation and design, selecting the right plugins and models from the Asset Store and putting them together in a creative way. The business model has changed as well, it's not so much about making a masterpiece with perfect gameplay anymore, but more about hitting the right niche at the right time with something novel. There are hundreds of games released every day on mobile, thousands of games on Steam Greenlight, and tens of thousands of free games on itch.io. Games have become YouTube, and the makeup tips and unboxing channels are bound to win out over Sundance documentaries, so finding the right niche is probably a good bet.
- ChinchySanchez 10y agoI won't lie, I clicked the link to see how to build a rocket propelled grenade.
- disease 10y agoI've learned many of these things while participating in game jams. My issue now is how to make the leap from game jam game to full release. In my case it feels like all the fun stuff is already done once you have successfully submitted to a game jam.
- std_throwaway 10y agoCould someone enlighten me what the problem is with automated documentation systems? Have they stopped to "just work" in creating an overview of all global variables, functions, classes and their inheritance? I found it very convenient to just drop a few documentation strings at the function/class definition for looking it up later in the autogenerated documentation. Of course you can overcomplicate these things and waste time. But in my opinion autogenerated documentation is better than no documentation at all.
- nihonium 10y agovow, what a great article. Really enjoyed it, you've cracked me up at "SOAP -You are so far from the road of game development, you can't even see it." I've developed some small games, but never published them, only showed to colleagues and friends. Coding games is a like a hobby for me as I've my daily job as a web developer. I'd really like to step in indie gaming scene someday and I'll definitely follow the advice from this blog post.