{"id":69,"date":"2015-06-18T00:34:58","date_gmt":"2015-06-18T00:34:58","guid":{"rendered":"http:\/\/blog.qubekwest.com\/?p=69"},"modified":"2019-02-07T11:22:05","modified_gmt":"2019-02-07T11:22:05","slug":"delays-and-procrastination","status":"publish","type":"post","link":"https:\/\/blog.qubekwest.com\/?p=69","title":{"rendered":"Delays and Procrastination"},"content":{"rendered":"<p>This project is really honestly the one I want to finish. \u00a0Well, perhaps not &#8220;finish&#8221; exactly as much as simply &#8220;release to the public.&#8221; \u00a0The problem is that I&#8217;m feeling a bit overwhelmed and underawesome.<\/p>\n<p>I&#8217;ve chosen, for better or worse, to build my own game engine for this game. \u00a0This has several interesting side effects. \u00a0First and foremost it means I have a metric crapload of code to write and things to learn before I ever manage to get any game on the screen. \u00a0Second, I have to build every possible subsystem required to make a concept into a game. \u00a0Third, I have about 17 simultaneous learning curves to try to tackle to make it all happen.<\/p>\n<p>This post is not intended as pure complaining, but I&#8217;d be lying if I claimed I&#8217;m not complaining at least a little bit. \u00a0This is hard. \u00a0Really really hard. \u00a0It&#8217;s a little bit scary, and a lot bit interesting, and as previously mentioned a whole pile of overwhelming.<\/p>\n<p>After wrapping up the code for my math library and the subsequent code to test the heck out of it, I&#8217;ve made very little progress. \u00a0A little bit of messing with how I represent 3D models and some confusion about how I should be representing them. \u00a0I&#8217;ve opened my programming tools a couple times with the intention of coding only to find myself not even sure where to start. \u00a0The next logical step for someone that doesn&#8217;t know where to start is sadly to simply not start. \u00a0The step after that is to play a bunch of Minecraft with the intention of observing how different things work. \u00a0Yes, that really is how the last month has gone.<\/p>\n<p>On the bright side I&#8217;ve put in a lot of hours studying how liquids work in Minecraft and some of the sassier details about redstone. \u00a0I do not have any solid ideas about how to code either one if I ever manage to get enough of a game engine together to bother, but at least I&#8217;ve learned a little more about how they work. \u00a0Also, where Minecraft uses redstone as a form of electricity, I plan to make QubeKwest have good old fashioned electricity with wires and devices and logic circuits. \u00a0Someday.<\/p>\n<p>Here is a list of the things I&#8217;ve been working on without successfully finishing much.<\/p>\n<ul>\n<li>I started an asynchronous network client and server. \u00a0Neither is done or functional, and in fact, they no longer even compile. \u00a0My synchronous version grew up to be an extremely simple version of a chat program, but was dropped from the project as too limited.<\/li>\n<li>I started making a lot of the data structures that the game will need to represent all sorts of things. \u00a0Everything from blocks to the chunks they live in to the idea of a world coordinate. \u00a0Some of these even have tests written for them. \u00a0Others are properly serializable. \u00a0None are &#8220;final.&#8221;<\/li>\n<li>I wrote code that can load shaders from the disk into the video card. \u00a0I wrote code that can put geometry into the card as well. \u00a0Neither is especially flexible or in any way ready to be used for actual rendering of pretty things.<\/li>\n<li>I&#8217;ve created tons of Java packages. \u00a0Some are empty and others are probably unnecessary. \u00a0It&#8217;s occurred to me that I may be breaking down the project a little too far, and that&#8217;s helping to confuse me instead of, well, helping me.<\/li>\n<li>I wrote some random functions. \u00a0By this I mean functions that produce random numbers in various interesting ways. \u00a0They sort of work, but are also somewhat limited. \u00a0I guess I&#8217;m entitled to sort of finish something from time to time.<\/li>\n<li>I have vast amounts of code devoted to doing complicated math and even more code devoted to making sure that code actually works correctly. \u00a0While that&#8217;s cool and everything, it&#8217;s also utterly unused so far.<\/li>\n<\/ul>\n<p>Well, I think you get the idea. \u00a0I&#8217;ve stalled on the project for now because I get home from work and can&#8217;t find the motivation to work on it and because it&#8217;s hard and confusing. \u00a0I&#8217;ll build up a head of steam created by frustration with myself and I&#8217;ll start working on it eventually. \u00a0I hope.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This project is really honestly the one I want to finish. \u00a0Well, perhaps not &#8220;finish&#8221; exactly as much as simply &#8220;release to the public.&#8221; \u00a0The problem is that I&#8217;m feeling a bit overwhelmed and underawesome. I&#8217;ve chosen, for better or worse, to build my own game engine for this game. \u00a0This has several interesting side &hellip; <a href=\"https:\/\/blog.qubekwest.com\/?p=69\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Delays and Procrastination<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-69","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts\/69","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=69"}],"version-history":[{"count":3,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts\/69\/revisions"}],"predecessor-version":[{"id":352,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=\/wp\/v2\/posts\/69\/revisions\/352"}],"wp:attachment":[{"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=69"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=69"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.qubekwest.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=69"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}