<?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: philo san </title>
    <description>The latest articles on DEV Community by philo san  (@philopaterwaheed).</description>
    <link>https://dev.to/philopaterwaheed</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%2F1156772%2F2699fffb-cfae-436d-a590-f8418642af96.jpg</url>
      <title>DEV Community: philo san </title>
      <link>https://dev.to/philopaterwaheed</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/philopaterwaheed"/>
    <language>en</language>
    <item>
      <title>Me as a game dev team leader</title>
      <dc:creator>philo san </dc:creator>
      <pubDate>Sun, 21 Jan 2024 01:35:46 +0000</pubDate>
      <link>https://dev.to/philopaterwaheed/me-as-a-game-dev-team-leader-43c7</link>
      <guid>https://dev.to/philopaterwaheed/me-as-a-game-dev-team-leader-43c7</guid>
      <description>&lt;h2&gt;
  
  
  story time :)
&lt;/h2&gt;

&lt;p&gt;so one of my university's subjects is computer graphics and how it's done. &lt;br&gt;
and its project is simply a video game with a team consisting of a maximum of 5 persons bare with me it's really not as easy as it sounds we weren't following some YouTube tutorial or anything we were on our own.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05zxxfq2xcszjejy3w20.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F05zxxfq2xcszjejy3w20.png" alt="start page in the game " width="667" height="468"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Jogl&lt;/strong&gt;: it's the beast library we were told to code with  it's a Java library based on Opengl and here is the catch it doesn't have that much documentation online; so we were on our own as I told you. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IntelliJ IDEA&lt;/strong&gt;: mainly I use neovim as my editor of choice but the library worked the best in IntelliJ and the team was comfortable with it so now complains &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;git/GitHub&lt;/strong&gt; : let's be honest as a university students most of my team lacked the knowledge of git and GitHub.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audacity&lt;/strong&gt;: we used some third-party audio assets from itch.io and it had some problems with the way I implemented audio in the game I opened an &lt;a href="https://github.com/philopaterwaheed/Catch_the_flag_game/issues/25"&gt;issue&lt;/a&gt; where I discussed this and Audacity was the solution &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assets&lt;/strong&gt; : 

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://jdwasabi.itch.io/8-bit-16-bit-sound-effects-pack"&gt;sound effects:&lt;/a&gt; one of the most likable sound effects I found&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/philopaterwaheed/Catch_the_flag_game/tree/main/catch_the_flag/src/pics"&gt;textures:&lt;/a&gt; most of them either handmade by me or provided by the professor
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Challenges
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;u&gt; &lt;strong&gt;I was the most skilled person in the team in game dev&lt;/strong&gt; &lt;/u&gt; which meant if some new feature to the game that meant I needed to explain it to the rest of the team or I would be the one implementing it myself; more on that on accomplishments. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;no game engine&lt;/strong&gt;  we had to program everything from scratch and there was no game engine tools luxury &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;lack of time&lt;/strong&gt; all of us were out of time because we had other three projects to make with different teams so the game was probably made in 10 hours of work. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;no documentation&lt;/strong&gt; as I said before there was no available documentation or past projects we could copy or take as a reference &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;lack of GitHub knowledge&lt;/strong&gt; most of the team had to start learning GitHub from the very beginning &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Accomplishments
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;entity system I programmed a mature entity system that held the game upon its shoulders consisting  of the &lt;a href="https://github.com/philopaterwaheed/Catch_the_flag_game/blob/main/catch_the_flag/src/entityManager.java"&gt;Entity Manager class&lt;/a&gt; that was responsible for displaying and updating every entity in the game, the &lt;a href="https://github.com/philopaterwaheed/Catch_the_flag_game/blob/main/catch_the_flag/src/Entity.java"&gt;Entity&lt;/a&gt; class itself everything in the game was planned to be an entity  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;GitHub level up&lt;/strong&gt; gained more GitHub knowledge by being the leader of the team and the responsible person for the GitHub repo and by teaching 3 of my teammates   &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  future plans
&lt;/h2&gt;

&lt;p&gt;I am going to take full control of the game in the future after the team abandons the project after passing the subject &lt;br&gt;
everything in the game gonna be changed the textures will feel more alive and  I will add more sounds to the game everything will be an entity for more clean code; also will add powerups and the last plan is to add Ai to the game by implementing a neural network the available Ai is just a ball that follows you &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuskjick26smeqxu3n8ca.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuskjick26smeqxu3n8ca.png" alt="inside _ game " width="664" height="469"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqlgmu61ht1rluyug01x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmqlgmu61ht1rluyug01x.png" alt="credits" width="667" height="467"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>java</category>
      <category>career</category>
      <category>jogl</category>
    </item>
    <item>
      <title>how to set Arabic in your Linux machine</title>
      <dc:creator>philo san </dc:creator>
      <pubDate>Mon, 11 Sep 2023 01:12:12 +0000</pubDate>
      <link>https://dev.to/philopaterwaheed/how-to-set-arabic-in-your-linux-machine-1na5</link>
      <guid>https://dev.to/philopaterwaheed/how-to-set-arabic-in-your-linux-machine-1na5</guid>
      <description>&lt;p&gt;for a while now I was struggling with Arabic in arch with fonts because it's minimal and has no programs for setting fonts system wide&lt;br&gt;
&lt;strong&gt;arch wiki does't help&lt;/strong&gt; I've searched for the solution so many times on the arch wiki but there was not full solution that can help me so here is a one for you &lt;br&gt;
mkdir ~/.config/fontconfig cd to it and then make a file fonts.conf add this to the file&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?xml version='1.0'?&amp;gt;
&amp;lt;!DOCTYPE fontconfig SYSTEM 'fonts.dtd'&amp;gt;
&amp;lt;fontconfig&amp;gt;
  &amp;lt;!-- Set preferred serif, sans serif, and monospace fonts. --&amp;gt;

 &amp;lt;alias&amp;gt;
   &amp;lt;family&amp;gt;sans-serif&amp;lt;/family&amp;gt;
   &amp;lt;prefer&amp;gt;
    &amp;lt;family&amp;gt;Arimo&amp;lt;/family&amp;gt;
    &amp;lt;family&amp;gt;Amiri&amp;lt;/family&amp;gt;
   &amp;lt;/prefer&amp;gt;
  &amp;lt;/alias&amp;gt;
  &amp;lt;alias&amp;gt;
   &amp;lt;family&amp;gt;sans-serif&amp;lt;/family&amp;gt;
   &amp;lt;prefer&amp;gt;
    &amp;lt;family&amp;gt;Arimo&amp;lt;/family&amp;gt;
    &amp;lt;family&amp;gt;Amiri&amp;lt;/family&amp;gt;
   &amp;lt;/prefer&amp;gt;
  &amp;lt;/alias&amp;gt;

  &amp;lt;alias&amp;gt;
   &amp;lt;family&amp;gt;serif&amp;lt;/family&amp;gt;
   &amp;lt;prefer&amp;gt;
    &amp;lt;family&amp;gt;Tinos&amp;lt;/family&amp;gt;
    &amp;lt;family&amp;gt;Amiri&amp;lt;/family&amp;gt;
   &amp;lt;/prefer&amp;gt;
  &amp;lt;/alias&amp;gt;

  &amp;lt;alias&amp;gt;
   &amp;lt;family&amp;gt;Sans&amp;lt;/family&amp;gt;
   &amp;lt;prefer&amp;gt;
    &amp;lt;family&amp;gt;Arimo&amp;lt;/family&amp;gt;
    &amp;lt;family&amp;gt;Amiri&amp;lt;/family&amp;gt;
   &amp;lt;/prefer&amp;gt;
  &amp;lt;/alias&amp;gt;

  &amp;lt;alias&amp;gt;
   &amp;lt;family&amp;gt;monospace&amp;lt;/family&amp;gt;
   &amp;lt;prefer&amp;gt;
    &amp;lt;family&amp;gt;Cousine&amp;lt;/family&amp;gt;
    &amp;lt;family&amp;gt;Amiri&amp;lt;/family&amp;gt;
   &amp;lt;/prefer&amp;gt;
  &amp;lt;/alias&amp;gt;
  &amp;lt;!-- Aliases for commonly used MS fonts. --&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Arial&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Arimo&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Helvetica&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Arimo&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Verdana&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Arimo&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Tahoma&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Arimo&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;!-- Insert joke here --&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Comic Sans MS&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Arimo&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Times New Roman&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Tinos&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Times&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Tinos&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
  &amp;lt;match&amp;gt;
    &amp;lt;test name="family"&amp;gt;&amp;lt;string&amp;gt;Courier New&amp;lt;/string&amp;gt;&amp;lt;/test&amp;gt;
    &amp;lt;edit name="family" mode="assign" binding="strong"&amp;gt;
      &amp;lt;string&amp;gt;Cousine&amp;lt;/string&amp;gt;
    &amp;lt;/edit&amp;gt;
  &amp;lt;/match&amp;gt;
&amp;lt;/fontconfig&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then you&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$sudo fc-cache -fv
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;lets explain a bit&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; &amp;lt;alias&amp;gt;
   &amp;lt;family&amp;gt;sans-serif&amp;lt;/family&amp;gt;
   &amp;lt;prefer&amp;gt;
    &amp;lt;family&amp;gt;Arimo&amp;lt;/family&amp;gt; the Latin font that you prefer 
    &amp;lt;family&amp;gt;Amiri&amp;lt;/family&amp;gt; the Arabic font you prefer 
   &amp;lt;/prefer&amp;gt;
  &amp;lt;/alias&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
 quite not sure if it replaces the Latin font with the Arabic one or not but that what worked for me &lt;br&gt;
a side note choose carefully the font you use some times the font fails on some places Noto Sans Arabic failed on some Facebook comments &lt;br&gt;
shout out to &lt;a href="https://www.youtube.com/watch?v=qWjz0ewff4s&amp;amp;t"&gt;https://www.youtube.com/watch?v=qWjz0ewff4s&amp;amp;t&lt;/a&gt;&lt;br&gt;
good luck&lt;/p&gt;

</description>
      <category>linux</category>
      <category>archlinux</category>
    </item>
  </channel>
</rss>
