{"id":587,"date":"2021-05-22T22:15:40","date_gmt":"2021-05-23T05:15:40","guid":{"rendered":"https:\/\/lithier.com\/w\/?p=587"},"modified":"2021-05-22T22:15:40","modified_gmt":"2021-05-23T05:15:40","slug":"dev-journal-not-quite-matching","status":"publish","type":"post","link":"https:\/\/lithier.com\/w\/2021\/05\/dev-journal-not-quite-matching\/","title":{"rendered":"Dev Journal: Not Quite Matching"},"content":{"rendered":"<p>Working on Project Wild One has had a lot of weird implications for coming back to Project Matchmaker. For one, it made me a little embarrassed to have released something so unappealing to look at&#8230; implying that now that I&#8217;ve gone and made PWO look halfway decent, I&#8217;ve accidentally raised the bar for myself and now I feel like PMM needs to match it. I&#8217;ve always believed the content comes first, but it&#8217;s true that the packaging, the GUI and all that, can do a lot to &#8220;set the mood&#8221; and alter your emotional impression, so it&#8217;s probably true that I should at least strive not to hinder myself overmuch in that regard. Unfortunately, this game&#8217;s themes might actually be more demanding, style-wise&#8230;<\/p>\n<p>But it&#8217;s not just the looks that I&#8217;m regretting with PMM at this point. I went into this update saying I wanted to fix a lot of problems in the backend to make this project work better in the long run, and&#8230; while it&#8217;s certainly working better, it cost much more time, energy, and sanity than I&#8217;d hoped, coming from all the fun I&#8217;d had with PWO. I think that an important part of why I&#8217;d had such a good time building a new project from the ground up was a certain contrast I&#8217;d actually pushed to the back of my mind: the soul-crushing despair of trying to figure out a huge mess of someone else&#8217;s code well enough to alter it meaningfully.<\/p>\n<p>This isn&#8217;t to speak poorly of the programmer I commissioned, he took great efforts to leave comments on everything and try to make it easy for me to pick up where he left off, but it&#8217;s gradually become clear that there are several obstacles that no amount of commenting will remove.<\/p>\n<p>The first is probably just that I&#8217;m still not a very robust programmer. I&#8217;ve got enough experience to feel partway confident and I&#8217;ve made a decent prototype from scratch, but there are still worlds of theory and practices out there I&#8217;ve never even heard of. And well, that&#8217;s okay. I&#8217;m not trying to make <em>immensely<\/em> complicated games, and I don&#8217;t think I have to worry too much about optimization or the like. I can get things working my own way, and that&#8217;s enough to forge forward. But when I&#8217;m dealing with someone else&#8217;s work, the tools they use and the styles they write in can be so wildly foreign to me I&#8217;m not even sure how to look them up, and it can be crushingly hard to build up any momentum when every line of code presents new confusion, sometimes multiple times. I can write my own, but working with someone else&#8217;s is still worlds away, it seems.<\/p>\n<p>The second issue, which actually interacts directly with the first to make things that much more difficult, is that this body of code isn&#8217;t precisely <em>for<\/em> my needs. When I wrote PWO, every single part of it was designed from the ground up to accomplish my goals. The engine for PMM was written from the programmer&#8217;s understanding of my intentions, and as I often discover when commissioning art, no matter how much you put in the specs, there will always be unexpected confusion. Sometimes parts are designed just a little off, sometimes they seem to be going in a very strange direction, and sometimes they jump through a lot of elaborate hoops and it&#8217;s really unclear if that&#8217;s for some specific reason I haven&#8217;t found yet, or if they don&#8217;t actually feel as comfortable as <em>I<\/em> do with certain tools, especially around text manipulation. Maybe <em>that&#8217;s<\/em> one field I&#8217;ve specialized into a little? But I&#8217;m not sure, and that makes it that much harder to tell what I should be learning from and what I should be changing.<\/p>\n<p>And well, this is sort of separate, but closely tied to the above issue: we tried out a big, fancy plugin meant for text-based games. It serves as the core of the game&#8217;s content management&#8230; but it&#8217;s not very well-suited to it. It does have some helpful features, but in many ways it can be stifling, and seems to have been intended for far smaller <em>volumes<\/em> of text than I put out. Even when I&#8217;ve been trying to trim down the length of my scenes and such with this one, compared to MVOL&#8230; It&#8217;s slowed things down a lot just trying to plug everything into this system and get it working, and there&#8217;s a lot I don&#8217;t know about it since it has a lot of semi-hidden behind the scenes stuff going on, so that&#8217;s made bugfixes still more complicated at times. Plus <em>plus,<\/em> that means that some of the code I&#8217;m sifting through has comments both from the <em>plugin<\/em> creator as well as the programmer I commissioned, <em>and<\/em> my own changes and comments here and there, and it&#8217;s just&#8230; a lot. I thought things would get simpler once I really got dug in, but in some cases it might be the opposite.<\/p>\n<p>Partway through all this I realized this turned into a lot of melodramatic complaining&#8230; Sorry about that. I do love my job, even when it becomes a crawl at times. But it felt good to at least get it off my chest after all this. And&#8230; I got into explaining all that because I was meaning to make a point, even if I went a little overboard.<\/p>\n<p>I did a lot of patch jobs to get this version working better and closer to what I want, but at this point I feel it&#8217;s clear that if I&#8217;m going to keep going forward with PMM, it needs more than &#8220;fixing.&#8221; I think I&#8217;m going to need to rebuild it from scratch, importing pieces from this version where I can but focusing on making it a project I actually understand, made for my goals. Fortunately, this game is <em>far<\/em> less complicated mechanically than PWO, so it shouldn&#8217;t be nearly as lengthy a process as building PWO was. Honestly, I&#8217;d considered just rebuilding it from the start of this cycle, but I wasn&#8217;t sure if it was necessary, so I didn&#8217;t want to discard all this work without trying to understand it better. I did learn some things from it, and there&#8217;s probably a lot more I could still learn from this engine, but knowing what I do now, I do wish I&#8217;d just taken the plunge then. That doubt and uncertainty was one more element to how&#8230; discouraging a lot of the work for this update was.<\/p>\n<p>But the bulk of the work is done, and Project Matchmaker v0.02 is finally coming together. With this update, we&#8217;ll finally be rounding out what would effectively be the tutorial\/introduction to the game, and you&#8217;ll get a little hint of how things would advance from there. This update will hopefully give you a pretty solid idea of what to expect from this concept.<\/p>\n<p>For now though, there&#8217;s still a few more little bits that need written in and implemented, but hopefully I&#8217;ll be sending this version off to my proofers ere much longer! After that&#8230; I&#8217;ve got another new idea for a project I&#8217;m pretty interested to try, less as an ambitious larger game and more as an exploration of a simpler idea, and a learning experience\/challenge to myself on several levels. I think it should make for a pretty unique experience. Plus, I&#8217;m intending to hold another big vote once people can play PMM v0.02, so keep an eye out for that!<\/p>\n<p>Thanks for reading!<\/p>\n<p>Oh, P.S.: You might have noticed the site has been a little spotty lately. Sorry about that! I reached out to my host and they say they&#8217;re working on it. I&#8217;m hoping I don&#8217;t have to switch services altogether, but this had better clear up soon.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Working on Project Wild One has had a lot of weird implications for coming back to Project Matchmaker. For one, it made me a little embarrassed to have released something so unappealing to look at&#8230; implying that now that I&#8217;ve gone and made PWO look halfway decent, I&#8217;ve accidentally raised the bar for myself and now I feel like PMM needs to match it. I&#8217;ve always believed the content comes first, but it&#8217;s true that the packaging, the GUI and all that, can do a lot to &#8220;set the mood&#8221; and alter your emotional impression, so it&#8217;s probably true that I should at least strive not to hinder myself overmuch in that regard. Unfortunately, this game&#8217;s themes might actually be more demanding, style-wise&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[12],"tags":[],"class_list":["post-587","post","type-post","status-publish","format-standard","hentry","category-dev-journal"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/paRhev-9t","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts\/587","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/comments?post=587"}],"version-history":[{"count":2,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts\/587\/revisions"}],"predecessor-version":[{"id":589,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/posts\/587\/revisions\/589"}],"wp:attachment":[{"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/media?parent=587"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/categories?post=587"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lithier.com\/w\/wp-json\/wp\/v2\/tags?post=587"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}