Posts

Gamedev.JS Jam 2024

Image
I participated in Gamedev.js Jam for the second time this year. I used the Unity game engine which I recently started learning. The theme of the game jam is "Power" and I decided to create a game about military power. It's called "Power of the CANNON".  Main Menu The goal is simple; the player must shoot with his cannon to destroy enemies and occupy the enemy territory. The percentage of the occupied land on each side is indicated. Gameplay My game was ranked 188th of 233 entries. You can play the game on itch.io .

Started a Hobby Game Project

Image
After choosing GDevelop as my game engine for the next project, I started a small hobby project. It's a classic dice game called "Going to Boston". Though the rules of this game are pretty simple, I have to think how to implement the game logic using the game engine. So, I decided to start small and make a simplified version first.  Today I could make a simple game where each player rolls the dice and the player who rolled the higher value wins. I struggled to make appear the winning text but then I discovered how to do that. I have to create sub-events to implement that logic. Here's what I've created today.

Choosing a Game Engine

I recently started learning C#. A big advantage of learning C# is I can use that language for game development. The most popular game engine in the world; Unity supports C# as its main scripting language. These days, I've been reviewing and analyzing the strengths and weaknesses of different game engines (mainly Unity and Godot) to start learning a game engine. I didn't actually start learning ANY game engine. All I did was watching YouTube videos and reading articles about game engines all day. But then I made a decision; choose GDevelop. GDevelop is the first game engine I learned. It's a beginner friendly game engine. The main reason for choosing this game engine is it is ENOUGH for the games I want to create. I only create 2D games. I'm not a fan of 3D games. I make simple games without complex mechanics. And the graphics I use are simple.  Even though if I use a complex game engine, I still have to create sprites, game logic, and most other things related to game d...

Joined Game Off 2022

Image
  Today I've joined  Game Off 2022 which is an annual game jam hosted by GitHub. This is the second game jam I'm participating. I'm planning to use LÖVE 2D framework and make something cool. I'll keep you updated about my game throughout the jam. 

Started Learning LÖVE 2D and Lua

Image
Hello!  Currently I'm using GDevelop for Game Development. It's the only game engine I know.  Recently I've been researching about other game engines/frameworks because I want to try out some other options. The reason is there might be a better one than GDevelop that suits me. I decided to learn a game framework instead of a game engine. When using a game framework, we have to write everything so I can improve my programming skills. Another reason I want to try a game engine is I want to participate in GitHub Game Off jam this year. I think creating something using only code is better for this game jam because we have to open source our project.  Then I decided to learn  LÖVE 2D . I started following a game development course on freeCodeCamp YouTube channel. I'll keep posting about my LÖVE 2D journey. 😊

Completed My Challenge Task

 I'm really happy today because I completed my challenge task successfully. It was a bit difficult at first.

Week 04: Internship

 I completed 4 weeks at EchonLabs. This week, I did a lot of tasks.

Completed My First Task

Today I completed the first task assigned to me. 🥳 I feel very satisfied and proud of myself for completing this task. I'm really happy that I chose the career I'm passionate about.  The task I was assigned was to modify the confirmation popup boxes such as DELETE and RESTORE in a way that is common in the app. I had to change the layout of the popup box by adding an icon, adding additional text, changing the color of the primary button, and aligning the title and the icon. I also had to replace all the confirmation popup boxes in the app.  One of the senior developers gave a KT session on how to do that and my supervisor and another senior developer helped me when things got difficult. However, finally, I could complete my task and push the changes successfully. ✅

Week 03: Internship

Today, July 20th, I completed 3 weeks of my internship at EchonLabs.

Week 02: Internship

Today is the last day of my second week of the internship. This week, I learned a lot about Angular. Some of the concepts I learned are, Component Interaction (using @Input and @Output ) View Encapsulation Local References Lifecycle Hooks Services and Dependency Injection Some special incidents that happened this week were participating in my first Standup meeting and Review meetings. The Project Manager, Senior Developers, and some Interns joined the Standup meeting. The participants gave an update about what they were doing. In the review meeting, our CEO explained the project we're going to build.  Now, I know how to manage my time. I start my work hours normally at 05.30 AM and try to cover 4 hours before 12.00 PM. Then it becomes easier to cover the 8 hours without staying late at night.

Week 01: Internship

Today marks the end of the 1st week of my internship. I have a lot to share with you about my first week of internship. On the first day, I had to participate in 3 sessions. 2 KT sessions and a session with the CEO. You can read a detailed blog post about my first day of internship here.  The second day was the day I actually worked for the first time. We have to work 8 hours a day. I started at 7.30 AM. As this was my first day of working such long hours, it was a bit difficult for me. When we were studying on campus, we didn't work for very long hours. We had some breaks between lectures. But working as a software engineer is different. Sitting in front of a computer for a long time is not that easy if you're not familiar with that. I also had to struggle with managing time on that day. I had to work till about 10.30 PM to cover 8 hours.  The next 2 days were the weekend so I couldn't complete much of the course. On Saturday, my Human Resources Partner asked me if I could...

First Day of My Internship

Image
The day I've been waiting for a long time has finally arrived! Today is the first day of my internship! As I have mentioned in a previous post , I received a job offer from EchonLabs (Pvt) Limited . The starting date is today (30th June 2022). Yesterday my Human Resource Partner contacted me on WhatsApp to share the necessary information with me. She sent me a form to get the details to create my company email address. Then I received the instructions to set up my company email address. Today morning my Human Resource Partner added me to a WhatsApp group with other trainees who joined today. She shared a document about the induction. It included some links to courses for trainees. She also shared with us the schedule for today. We had 3 sessions, 2 KT (Knowledge Transferring) sessions, and a session with our CEO. Vurq app KT at 9.30 AM ERP System KT at 11.00 AM Tea with CEO at 1.30 PM Vurq app KT This session was conducted by an Associate PM/BA. Vurq is the app the employees must u...

Started Learning TypeScript!

Image
 I started learning TypeScript!  What is TypeScript? TypeScript is a superset of JavaScript. It was developed by Microsoft (created by Anders Hejlsberg) and released in 2012. It is a strongly typed programming language and it has many coding features that JavaScript doesn't. Some of them are, Interfaces Namespaces Generics Abstract classes Data modifiers Optionals Function overloading How I Learn TypeScript? I'm learning TypeScript by following the Build JavaScript applications using TypeScript  learning path on the Microsoft Learn website. It is a text-based tutorial and it has 8 modules. Today I completed the first module, earned a badge, and shared it on my LinkedIn profile.

Received My First Job Offer!

Image
Today, the 27th of June 2022, is a VERY special day for me. I got my very first job offer!!  Technical Interview I applied for the position of trainee software engineer at EchonLabs. I was shortlisted for a technical interview last week. First, the interviewers asked some non-technical and then they asked questions about programming especially related to Object-Oriented Programming. Then they shared a Google Doc and asked me to write solutions to 2 coding problems.  HR Interview On Saturday, I received a message that I was shortlisted for the second (HR) interview. I was delighted and prepared for that interview. Today I participated in that interview and the interviewer said that I was shortlisted! Then they sent me an offer letter and I accepted it.  Today is one of the happiest days of my life! 😊

My First-ever Job Interview

Image
Yesterday, the 8th of June , was a very special day of my life. Because I participated in my first-ever job interview. We have to complete an internship of 6 months for our degree program. The interview was held at my campus. The company that interviewed us was Enadoc Labs . It was a great experience for me because it was my first time participating in an interview. After the interview, the interviewees pointed out some mistakes in us and told us how to correct those mistakes. It was really helpful for me to improve myself. They also gave us a nice gift! 

Results: Gamedev.js Jam 2022

Image
I've been busy in the past few weeks because of the exam. The results of the Gamedev.js Jam were released a few days after the game jam. As you can see in the photo, my rank was 68th . I participated in this event mainly to get some experience, not to win... It was really a great experience because I learned a lot such as how a game jam happens, and what skills I need to compete, and also I learned some valuable things from feedback from other participants. I hope to participate in upcoming game jams too! 

Day 12: Gamedev.js Jam 2022

Image
I submitted my game!!!!!!!  Today is the final day to submit the game and I did it! All I had to do today is to add some sound effects and some minor tweaks. I added a particle emitter object to appear when the boy dies. I tried to add a particle effect for the "You Won" text to appear as confetti but it didn't work. Then I watched a tutorial on how to export the game and upload it to itch.io . I followed the steps and uploaded my game. At first, the resolution was not right, so I had to change it. I need to learn about different resolutions for games to avoid such kinds of problems. I also created a GitHub repository for my game. Even though this is not a fun game to play (at least for me), I feel proud for creating this game and participating in this game jam. I might write another blog post on my experience with this game jam. 

Day 11: Gamedev.js Jam 2022

Image
Today I built the Credits screen! I don't know whether this is the correct way to build the Credits screen but somehow I did it. I also use the grid for the first time. It is a useful tool to align objects. Then I built the logic to blink the texts that appear at the top of the screen. It took so much time to build the logic for the "Play Again" text. I will need to review the docs for the event system of GDevelop later.

Day 10: Gamedev.js Jam 2022

Image
Today I made some small changes to my game.  I added a game title using a pixel font. I also changed the background of the Main Menu to as same as the Play scene and added some apples. I decided to add instructions and tutorial texts at the top of the screen. And I also added a back button when in the Play scene. I installed the Blink behavior to make the boy and the health blink when the snake bites.

Day 09: Gamedev.js Jam 2022

Image
Today I did a lot of work! As you can see, I added a nice background. I imported it from GDevelop Asset Store. Then I implemented the health of the player. Last night I figured out how to do that. I just had to add the "Trigger once" condition. The way I figured it out is by making a test project. It is a good trick to test some functionality. Then I changed the snake image. I also added 2 new pixel fonts.  One cool thing I built today is flipping the snake facing the boy. First I tried to use the action "Flip horizontally". It didn't work properly so I added another animation and changed the animation according to the X position of the boy and the snake.