<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: The Silent Partner</title>
    <description>The latest articles on DEV Community by The Silent Partner (@zefur).</description>
    <link>https://dev.to/zefur</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F158369%2F9907b019-79bc-442c-98b4-23a89abcb81e.jpeg</url>
      <title>DEV Community: The Silent Partner</title>
      <link>https://dev.to/zefur</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zefur"/>
    <language>en</language>
    <item>
      <title>First Update</title>
      <dc:creator>The Silent Partner</dc:creator>
      <pubDate>Wed, 09 Aug 2023 11:40:31 +0000</pubDate>
      <link>https://dev.to/zefur/first-update-4l4e</link>
      <guid>https://dev.to/zefur/first-update-4l4e</guid>
      <description>&lt;p&gt;This project is going to force me to come to terms with the meaning of the phrase "Perfect is the enemy of done" because boiii.&lt;/p&gt;

&lt;p&gt;So in my mini update I said maybe 2 weeks to get an MVP locally running (not in those exact words but ya) well I definitely over estimated myself, my time and my addiction to trying to solve difficult problems.&lt;/p&gt;

&lt;p&gt;First the validation thing that I said I would leave till later, well i couldnt help but keep trying to take a stab at it. Trying to get it working rather than focusing my time else where. I think I am looking for the perfect solution that isnt overly complicated and in JS there isnt an easy way to find it. I think I will do a separate post to rubber duck my problems with what I want and what I have tried.&lt;/p&gt;

&lt;p&gt;Second is when you work with ruby on the regular then you move back to JS for a while you get disappointed with the missing methods that are common in ruby. For example I need to make an array of a random selection of values from a much larger array if I was to write this in ruby it would be something like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;orginal_array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;new_array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;original_array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;shuffle&lt;/span&gt;
&lt;span class="n"&gt;new_array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;first&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;original_array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;new_array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;original_array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;shuffle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;take&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or better yet&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;original_array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;new_array&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;original_array&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sample&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I know they work I just tested them to make sure.&lt;br&gt;&lt;br&gt;
Where as in JS to try and replicate these methods this is what I had to come up with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;$sel&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;originalArray&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;6&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;randomNumbers&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;temp&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;pool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;

&lt;span class="nx"&gt;originArray&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;forEach&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;pool&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;element&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;// let random = Math.floor(Math.random())&lt;/span&gt;

      &lt;span class="nx"&gt;temp&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;push&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;pool&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;floor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;Math&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;random&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="mi"&gt;98&lt;/span&gt;&lt;span class="p"&gt;)]);&lt;/span&gt;
      &lt;span class="nx"&gt;$sel&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;temp&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;$sel&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note: In my code the originalArray proper length is 98 that is why the random multiplier is so high&lt;/p&gt;

&lt;p&gt;Now this definitely could just be a skill issue but from my searching there didn't seem to be a better way to do it (let me know in the comments). Going from Ruby back to this made my already not so fast coding shift down again in gear.&lt;/p&gt;

&lt;p&gt;But anyways enough of that lets me just make a note on what I am happy about. &lt;/p&gt;

&lt;p&gt;Progress is slow but continuing well. I will be looking at multiplayer within the next couple of days. Timer is done Game start condition is done. Points calculation not yet finished. &lt;/p&gt;

</description>
      <category>12months</category>
      <category>project</category>
      <category>progress</category>
    </item>
    <item>
      <title>Day 1 Word Game</title>
      <dc:creator>The Silent Partner</dc:creator>
      <pubDate>Tue, 01 Aug 2023 14:18:58 +0000</pubDate>
      <link>https://dev.to/zefur/day-1-word-game-31ji</link>
      <guid>https://dev.to/zefur/day-1-word-game-31ji</guid>
      <description>&lt;p&gt;Hey this is not going to be a regular thing. I will be updating my progress but probably weekly in a meatier post. This post is to just to say I have started and note some of the roadblocks or hurdles I think I may have to muddle through&lt;/p&gt;

&lt;p&gt;So first day has gone great I have started my word game called S*******le (Yes it has a name just don't want anyone to snipe it I am a slow coder). Progress went ok mostly, I have an api that I will be calling its free but its slow so if I can find a replacement (or most probably a faster way to call/get a response) I will update that. The main problem that I stumbled across and surprised me is validating the users input. Finding a way to make sure the user inputs a valid answer is a little bit harder than I thought. If I was working with ruby it would be quite a bit easier, but I chose sveltekit and JS for this project &lt;/p&gt;

&lt;p&gt;But other than that its been quite good and has made me think a bit. If I was a better coder than I am then I believe this could definitely be done in a weekend or 5 days max. But as it is now I think I can maybe do it in 2 weeks... providing I dont run into any problems, have the time to code every day and no unforeseen circumstances pop up. Then I can dedicate the remainder of the time to marketing (HA HA). Nah, I will probably take the whole month to get this done.&lt;/p&gt;

&lt;p&gt;Anyways on to the obvious areas I think I will struggle or have trouble with.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hosting and deployment.
&lt;/h3&gt;

&lt;p&gt;With these projects I am planning on setting up my own personal server/digital ocean droplet to host them all so this is going to take a lot of reading and figuring out to do. Also since Google Domains is now dead I have no idea where I will get the domain name I want from &lt;/p&gt;

&lt;h3&gt;
  
  
  Multiplayer.
&lt;/h3&gt;

&lt;p&gt;This I will just have to learn as I go. I was very close to solving and learning for myself how to implement Multiplayer matchmaking in my long gestating RoR project Ultimate tictac but in JS I have noooo idea how to implement websockets and get things running&lt;/p&gt;

&lt;h3&gt;
  
  
  UI and Design
&lt;/h3&gt;

&lt;p&gt;THE BANE OF MY EXISTENCE. I like coding because it allows me to be creative but when I come up to do something that is traditionally creative I have a lot of problems.&lt;/p&gt;

&lt;p&gt;Well thats it for my short (long) update. The next one will be in a couple days. &lt;/p&gt;

</description>
      <category>12months</category>
      <category>project</category>
    </item>
    <item>
      <title>Planning with ChatGPT</title>
      <dc:creator>The Silent Partner</dc:creator>
      <pubDate>Mon, 31 Jul 2023 16:19:13 +0000</pubDate>
      <link>https://dev.to/zefur/planning-with-chatgpt-5ggh</link>
      <guid>https://dev.to/zefur/planning-with-chatgpt-5ggh</guid>
      <description>&lt;p&gt;I am not a fan of ChatGPT. I never really bought into the hype and when I originally tried it out way back when and just found it less useful than google for my needs. Instead of helping me to improve it would just spitg out generic stuff that didn’t really help me and would often be wrong. Though for my students it did help them to write their essays without learning =/ (do not go to the subreddit for ChatGPT). So my initial experience with it was definitely underwhelming.&lt;/p&gt;

&lt;p&gt;But recently and I came across a “prompt” that I thought might be useful especially with my current plan it was this &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I need to build a [project name]. Help me plan this project. You should ask me questions about my project and each time I respond, you should ask me more questions if appropriate.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It seemed simple enough (and more importantly useful) that I thought I might try it out and maybe change my mind about ChatGPT&lt;/p&gt;

&lt;p&gt;So after the prompt this was the first reply CGPT sent. A good list of questions to help me plan out what I wanna do. A problem I have in my planning before I get to coding is that I find it sooooo boring. I have the idea in my head of how I want it to work and look and cant wait to actually start coding. All the stuff that I should plan and sort out before hand I have a fuzzy idea which often leads to roadblocks down the line.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5q6z_5we--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rs8tar69ass03nm0yz1a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5q6z_5we--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rs8tar69ass03nm0yz1a.png" alt="Questions to help plan&amp;lt;br&amp;gt;
What is the primary objective of your word game app? Is it primarily for entertainment, education, or something else?&amp;lt;br&amp;gt;
Who is your target audience? Are you designing the game for a specific age group or demographic?&amp;lt;br&amp;gt;
What type of word game are you envisioning? Examples include crossword puzzles, anagrams, word search, or something entirely different.&amp;lt;br&amp;gt;
Do you have any specific features in mind for the game? For example, a scoring system, time limits, hints, or multiplayer capabilities.&amp;lt;br&amp;gt;
What platforms do you intend to support? Will the app be developed for mobile devices (iOS and/or Android), web browsers, or both?&amp;lt;br&amp;gt;
Are there any specific design preferences or themes you have in mind for the game's interface?&amp;lt;br&amp;gt;
Will you be providing a word database for the game, or do you expect the app to generate words automatically?&amp;lt;br&amp;gt;
Have you thought about monetization options? Will the app be free with ads, have in-app purchases, or have a one-time purchase cost?" width="800" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The first set of questions were general and easy to answer. Most of these were basic and stufff that I had already thought of in general but it was good to put them in writing.&lt;/p&gt;

&lt;p&gt;I answered these and was given another set of questions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---4qzBgwN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5noffwoqxtzcq4mmlnv2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---4qzBgwN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5noffwoqxtzcq4mmlnv2.png" alt="Questions to help plan&amp;lt;br&amp;gt;
How do you envision the gameplay for your word game? Will it be turn-based like Scrabble, where players take turns forming words, or real-time like Boggle, where players find as many words as possible within a time limit?&amp;lt;br&amp;gt;
Will the game have different difficulty levels or modes to cater to players with varying levels of word skills?&amp;lt;br&amp;gt;
Are you considering integrating any social features, such as leaderboards, multiplayer options, or the ability to challenge friends?&amp;lt;br&amp;gt;
Do you want the app to include a built-in dictionary or word-checking functionality to validate whether words entered by players are valid?&amp;lt;br&amp;gt;
What is your preferred visual style for the game? Do you have any specific color schemes, themes, or design preferences in mind?&amp;lt;br&amp;gt;
Have you thought about the platform's device orientation? Will the game be played in portrait or landscape mode, or should it support both?&amp;lt;br&amp;gt;
Considering the Scrabble-like aspect, would players be able to use special tiles (e.g., double/triple word/letter score) to enhance their scores?&amp;lt;br&amp;gt;
Do you have any ideas for additional features or power-ups that could add depth and excitement to the gameplay?" width="800" height="511"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The second set of questions were a mixed bag some of them I found as quite useful for example from the first question I came up with a new idea for how the game should be set up a the rules around a match. But some I found as not important for now or this stage of the planning for example questions 7, 8 and 9. 8 and 9 were not that useful yet because I should be focusing on the core gameplay features and rules before trying to add in power-ups. Question 7 wasn’t useful as I stated in a reply to a previous question that I wouldn’t be focusing on mobile for now (I only have experience with wechat mini-apps). So this maybe means that it is not recording my answers to previous questions&lt;/p&gt;

&lt;p&gt;After answering these questions I added at the end that after the next set of questions i would like CGPT to draw up an outline to make this project in the month of august.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Ja_SEbgs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/avwmg8bcib3wzeouvjmd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Ja_SEbgs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/avwmg8bcib3wzeouvjmd.png" alt="Questions to help plan&amp;lt;br&amp;gt;
Regarding the multiplayer aspect, do you envision players being able to play with friends by inviting them directly, or do you want to implement random matchmaking, allowing players to compete against strangers?&amp;lt;br&amp;gt;
For the leaderboard feature, are you considering having separate leaderboards for single-player mode and multiplayer mode, or a combined leaderboard that shows the best scores achieved by players across all game modes?&amp;lt;br&amp;gt;
How long do you anticipate the time limit for the time-limited mode to be? Will players have the option to adjust the time limit, or will it be fixed?&amp;lt;br&amp;gt;
Have you thought about any anti-cheating measures to ensure fair gameplay, especially in multiplayer mode?&amp;lt;br&amp;gt;
Since this is a web-first game, have you decided on a specific technology stack or platform for development, such as React, Angular, Vue, or something else?&amp;lt;br&amp;gt;
Are there any specific languages or regions you plan to support in terms of word dictionaries or language settings?&amp;lt;br&amp;gt;
How do you envision the user interface for the word game? Will it be minimalistic, with just the game board and controls, or will you include additional elements like animations, sound effects, or background music?&amp;lt;br&amp;gt;
Considering the mobile version, have you considered how the gameplay mechanics will adapt to touch-based interactions?&amp;lt;br&amp;gt;
As for the dictionary, do you plan to use a standard English dictionary, or will you include specific vocabulary related to certain themes or categories?" width="800" height="610"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The last set of questions went a bit deeper into it and gave some very good questions. Some I didnt have any answers for. For example question 4 about anti-cheating, this is something that tha.at if you are playing a game you should really think about but I ofcourse hadn’t even got to that stage. The thought of cheating hadnt crossed my mind yet.&lt;/p&gt;

&lt;p&gt;After I thought a bit a gave my answers CGPT returned with what I thought was a very well detailed&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ew2MWZiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68n1p3ka3lx4fjorbqpt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ew2MWZiA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/68n1p3ka3lx4fjorbqpt.png" alt="Project outline split into phases&amp;lt;br&amp;gt;
Project Outline: Word Game App&amp;lt;br&amp;gt;
Phase 1: Project Setup and Design (Week 1)&amp;lt;br&amp;gt;
Define the core gameplay mechanics and rules for the word game (Boggle-like, time-limited).&amp;lt;br&amp;gt;
Create wireframes and mockups for the user interface design, ensuring a minimalistic and user-friendly approach.&amp;lt;br&amp;gt;
Set up the development environment using SvelteKit, including project structure, dependencies, and version control.&amp;lt;br&amp;gt;
Phase 2: Single-Player Mode (Week 2)&amp;lt;br&amp;gt;
Implement the single-player mode with a random assortment of letters and a 2-minute time limit.&amp;lt;br&amp;gt;
Integrate the built-in dictionary to validate word entries.&amp;lt;br&amp;gt;
Add a scoring system based on word length and difficulty.&amp;lt;br&amp;gt;
Implement a basic leaderboard for single-player mode." width="800" height="581"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e3u6uatr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ioom7y8g5vpxkm2rhduh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e3u6uatr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ioom7y8g5vpxkm2rhduh.png" alt="Project outline split into phases &amp;lt;br&amp;gt;
Phase 3: Multiplayer Mode (Week 3)&amp;lt;br&amp;gt;
Develop the multiplayer functionality with random matchmaking.&amp;lt;br&amp;gt;
Allow players to set their own time limits for multiplayer games.&amp;lt;br&amp;gt;
Implement a turn-based mode for multiplayer games, allowing players to invite friends to play.&amp;lt;br&amp;gt;
Create a combined leaderboard that shows the best scores from both single-player and multiplayer modes.&amp;lt;br&amp;gt;
Phase 4: Polish and Testing (Week 4)&amp;lt;br&amp;gt;
Fine-tune the user interface, ensuring it's responsive and works well on both desktop and mobile devices.&amp;lt;br&amp;gt;
Implement sound effects and background music (optional) to enhance the gaming experience.&amp;lt;br&amp;gt;
Perform rigorous testing to identify and fix any bugs or issues.&amp;lt;br&amp;gt;
Gather feedback from beta testers to make necessary improvements.&amp;lt;br&amp;gt;
Phase 5: Deployment (End of Week 4)&amp;lt;br&amp;gt;
Deploy the web version of the word game app.&amp;lt;br&amp;gt;
Monitor the live app for any issues and make necessary adjustments.&amp;lt;br&amp;gt;
Plan for future updates and additional features based on user feedback.&amp;lt;br&amp;gt;
Possible Stretch Goals (Beyond August):&amp;lt;br&amp;gt;
Implement friend-invite functionality for multiplayer mode.&amp;lt;br&amp;gt;
Develop a mobile version of the app, adapting gameplay mechanics for touch interactions.&amp;lt;br&amp;gt;
Add special tiles with score boosts or unique abilities to enhance gameplay variety." width="800" height="839"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;CGPT split up the month of august into 5 phases with 3-4 bullet points each on what to focus on to progress my app. It also included a bonus stretch goals area. Now this was all well and good but for me and what I had envisioned it was a bit too much. I as a single lower level developer working on my own with other commitments know I wouldn’t be able to do all of this within the time frame provided. I especially thought the first phase wouldn’t be able to spend much time at (design is my kryptonite). With that in mind I switched gears and asked for a MVP outline&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--7nS316OT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4ln9quizpn0js0ztxfo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--7nS316OT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/p4ln9quizpn0js0ztxfo.png" alt="Basic MVP Outline Basic Gameplay Mechanics: Implement the core mechanics of the word game, following the Boggle-like time-limited gameplay. Players should be able to see a grid of letters, form words by selecting adjacent letters, and submit their words within the time limit.&amp;lt;br&amp;gt;
Time-Limited Mode: Set a fixed time limit for the initial MVP version (e.g., 2 minutes) for single-player and multiplayer games. Players should be able to see the remaining time while playing.&amp;lt;br&amp;gt;
Single-Player Mode: Create a simple single-player mode with a randomized grid of letters. Players can play the game individually and attempt to form as many words as possible within the time limit.&amp;lt;br&amp;gt;
Basic Scoring System: Implement a scoring mechanism that calculates points based on the length and difficulty of the words formed. Display the player's score at the end of each round.&amp;lt;br&amp;gt;
Built-in Dictionary: Integrate a standard English dictionary to validate the words formed by players. Ensure that only valid words are counted towards the player's score.&amp;lt;br&amp;gt;
Minimalistic UI: Design a clean and straightforward user interface with the game grid, timer, score display, and a button to start a new game. Keep the UI intuitive and easy to navigate.&amp;lt;br&amp;gt;
Web Deployment: Focus on developing the web version of the game, making it accessible to a wide audience without the need for mobile-specific adaptations.&amp;lt;br&amp;gt;
Basic Multiplayer Functionality: Implement a basic multiplayer mode with random matchmaking. Players can join a game room and compete against each other to form words within the same time limit." width="800" height="847"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This was muuuuuch better. It didn’t give me the same amount of detail but what it did give me was a very clear guide of where to focus my energy to get the project done within the timeframe.&lt;/p&gt;

&lt;p&gt;I am still not sold fully on ChatGPT, but I will admit this is something I can make use of. The questions will help me to pin down some areas that are a bit too fuzzy. Especially if I answer them with more details. But the killer part for me is the MVP outline giving me a clear plan of action on how to build out my project. &lt;/p&gt;

&lt;p&gt;Something I will need to sort out for future planning sessions is working on how to do deployment also. &lt;/p&gt;

&lt;p&gt;Anyways if you read this poorly structured post I thank you. They will get better as a write more (I hope)&lt;/p&gt;

&lt;p&gt;Tomorrow is the day to start augusts build wish me luck.&lt;/p&gt;

</description>
      <category>chatgpt</category>
      <category>planning</category>
    </item>
    <item>
      <title>12 Months 12 Projects</title>
      <dc:creator>The Silent Partner</dc:creator>
      <pubDate>Tue, 18 Jul 2023 02:49:04 +0000</pubDate>
      <link>https://dev.to/zefur/12-months-12-projects-5g6o</link>
      <guid>https://dev.to/zefur/12-months-12-projects-5g6o</guid>
      <description>&lt;p&gt;Hi if you havent already I suggest you first read the welcome post so you can understand what kind of amateur hour production you have tuned into.&lt;/p&gt;

&lt;p&gt;Ok now that you know the level of unseriousness that this blog incorporates feel free to carry on  to the main portion of this post.&lt;/p&gt;

&lt;p&gt;I am a hobbyist developer. It is a label I have applied to myself and I define it as someone who is not employed to develop, but does it anyways. You may not agree with this definition and thats ok (read I dont care) but I call myself because I do not have a job in tech although I want to. There are many reasons why I dont have a job there some are very obvious, some are personal but I am trying to rectify thus 12 months 12 projects&lt;/p&gt;

&lt;p&gt;My Goal is to try reaaaaallly reaaally hard and each month dedicate my coding to a particular project. I expect a lot of things to go wrong, a lot of things to get in the way for example adhd, my full-time job, a new game that is coming out. But I am hoping with a hard fixed deadline I will be forced to dedicate a substantial portion of my free time to making something and most importantly releasing something each month.&lt;/p&gt;

&lt;p&gt;Now don't get me wrong I do not have totally high hopes of making it through the whole year &lt;strong&gt;This Time&lt;/strong&gt;. But I believe this will be the first time of many times I try this and each time will be better than the last incremental progress is still progress.&lt;/p&gt;

&lt;p&gt;But why am I doing this I hear no one asking, well let me tell you. This goes back to the label I gave myself, the hobbyist developer. I really want to change it, I want to just be a developer someone whose job is to develop using code. It can be for a company it can be for myself or open source but the point is I want to upgrade. The things that are hindering this are the personal things. I am not confident in myself, I have learnt by myself and in bootcamps many things in relation to coding and I can make and do stuff with code. But that doesn't stop me from feeling I am missing &lt;em&gt;something&lt;/em&gt; from what I have learnt. Whether it is developer thinking or the process of building a product I don't feel as though I am ready. Now I know all junior developers will feel that way I understand imposter syndrome but still with out working day in and out I feel it will be hard for me to improve enough (guess what extremes I had to take to learn a second language). Also I no longer have any projects to show off. With Heroku no longer having a free tier my old projects that I had are no longer visible so this way I am able to kill two birds with one idea. By try to complete 12 Projects in 12 months and release what ever I have done I hope to learn new things with each project and have something to show for it.&lt;/p&gt;

&lt;p&gt;Now on to the final part of this longwinded post what are the projects going to be. To be honest I haven't thought them all through I am still in the planning stage for what I want to make I have some ideas for some of the 12 and what I plan to learn from making them so in no particular order here they are&lt;/p&gt;

&lt;h3&gt;
  
  
  Classroom Flashcard game app
&lt;/h3&gt;

&lt;p&gt;This project would deal with user log in and user collections. it would be for teachers in an esl setting as that is a field I have worked in and felt the need for. &lt;/p&gt;

&lt;h3&gt;
  
  
  Todo app
&lt;/h3&gt;

&lt;p&gt;This is everyones beginner project which I have not actually done. From this I plan to work with mobile log in (QR codes and wechat). If it was a just a pure todo app because of the plethora of video tutorials of people making this I think i wouldnt be challenging or have much learning experience from it. So I would like to improve my wechat developing skills and working with apis&lt;/p&gt;

&lt;h3&gt;
  
  
  Jobs board
&lt;/h3&gt;

&lt;p&gt;This I will work on webscraping and tweaking to get the information and also cron-jobs&lt;/p&gt;

&lt;h3&gt;
  
  
  Language learning app
&lt;/h3&gt;

&lt;p&gt;I have an idea for a language learning app where you don't focus on the vocabulary at first but focus on sentence structure with vocabulary coming in tertiary. I have no idea if it will work but I am willing to try it out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Word game
&lt;/h3&gt;

&lt;p&gt;With this I plan to work on multiplayer interaction and user inputs &lt;/p&gt;

&lt;h3&gt;
  
  
  Ecommerce site
&lt;/h3&gt;

&lt;p&gt;This is probably the hardest on the list because it deals with so much different aspects from user login to money &lt;/p&gt;

&lt;h3&gt;
  
  
  Homework upload portal
&lt;/h3&gt;

&lt;p&gt;This will deal with student login and file uploads, and email notifications &lt;/p&gt;

&lt;p&gt;So there you have it these are some of the ideas I already have for some of the projects I want make. I am still in the planning phase right now but will start building from next month and hopefully blog posting to keep a record of my progress. As you can see I am still short of 12 ideas for projects so if you have any let me know.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Welcome</title>
      <dc:creator>The Silent Partner</dc:creator>
      <pubDate>Tue, 18 Jul 2023 02:46:53 +0000</pubDate>
      <link>https://dev.to/zefur/welcome-4c4l</link>
      <guid>https://dev.to/zefur/welcome-4c4l</guid>
      <description>&lt;p&gt;Hi welcome you may have stumbled here by accident but welcome anyways. This here is my blog, it is infrequently updated, a little too personal, and not quite technical enough. But thanks anyways for coming hopefully things will improve. &lt;/p&gt;

&lt;p&gt;I made this blog for many reasons but the two most important is to document my learning and progress and to market myself for future potential job opportunities. Though I don't know how successful that will be. For now I am just here and writing seeing where this will all go, I hope it is far.&lt;/p&gt;

&lt;p&gt;By the way my name is James.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
