Author Archive

Zainab Al-Ansari

A budding game dev :D

Monthly Reflection #7 – Step By Step Towards Our Goals

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

During September I worked on my current flagship project Against Sahara, helped Unreal Bahrain with a lot of tasks for the community and finished going through the Houdini Fundamentals Book.

Against Sahara – Current Status

Designing a card game that is fun, engaging and has educational value proved a lot more difficult than I first realized.

While I originally planned to finalize the design by first week of September, I’m still designing as of today since research is taking a lot more time than first realized.

I’ve gone through 5 iterations so far where I redesigned the entire gameplay and continue to edit and playtest.

I just received today a book I bought as a reference material on the Berber people who live in the Sahara, who’re my game’s characters belong to.

I expect a few more changes to the game’s design after going through the book to make it more representative of the Berber people and their lifestyle.

So far, the gameplay is almost done, all the cards been designed and the story is conceptualized but the gameplay and story is yet to be finalized.

Learning Houdini

I’ve finished the Houdini Fundamentals Book, and started making simple things like low poly books and heightfield maps without tutorials to better learn the tool.

Unfortunately the Houdini Apprentice license doesn’t allow me to export FBX or use the Houdini Engine for UE4, so until I buy a subscription I won’t know how my models look in engine.

I will be buying a license soon of course but only after I learned the tool well and started making assets for Against Sahara, since the sub is quite expensive.

New Weekly Schedule Review

Last month I started a new weekly schedule, and after reviewing my work and progress for the month of September I can happily say the experiment proved successful!.

My energy and focus are better than ever and the game has been progressing steadily.

The only thing is I feel am not progressing fast enough on my Houdini skills or the game, but I’ll refrain from any further adjustments for the next month as new habits need time to prove their worth.

Helping and Being Helped by the Community

Mahmood Alsarhani from Regnum Studio kicked off a new weekly event for the game dev community in Bahrain called Co-Dev Day.

Every Saturday Bahraini game devs gather in a coffee shop and work along side each other on their games.

I’ve joined the first Co-Dev Day and did a spontaneous one on Thursday last week with Adel and can say it helps a lot for focus and also to get feedback from each other.

I’ve also taken quite a bit of time off from my game to help organize the next Unreal Bahrain meetup on 6th October.

Working together on our individual goals and helping each other makes everyone more likely to succeed and I’m immensely grateful for all the work Yusuf, Mahmood, Noof, Moneim and all the contributors put into the community.

What’s Next: Finalizing Design & Building First Digital Playable for Against Sahara

Not much left design-wise so I’m likely to finish it within next two weeks, afterwards I’ll start work on creating the digital version of the game.

I’m aiming on depicting 1/4th or less of the final game in a demo, which will include the first phase of the game along with finalized art.

But for next month the goal is to build a playable with placeholder assets only to further test how the game will be played on screen.

This ends this month’s report, hope you enjoyed and if you have any feedback please comment below πŸ™‚ .

The Minimalist Lifestyler Screenshot

Monthly Reflection #6 – I Love Game Jams!

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

During August I worked on my current flagship project Against Sahara, participated in the Zanga Game Jam 2018 and reviewed my work schedule to come up with something better.

Against Sahara – Current Status

I’ve bought domain name for its future marketing website (nothing there yet), and I’m in the middle of finalizing the game’s design after building prototypes and testing.

I should be finalizing the design (concept/story/game rules/art/etc.) by 6th September next week.

Zanga Game Jam

The 2018th edition of the Zanga Game Jam happened from Friday 17th to Sunday 19th and we had a local site at Corporate Hub 9 in Amwaj Lagoon – Muharraq.

I joined in with a couple of new devs and built with them The Minimalist Lifestyler around the theme Minimalism.

The Minimalist Lifestyler Screenshot

The Minimalist Lifestyler Screenshot

This jam is the 4th I’ve joined in the past 12 months, and I don’t plan on stopping anytime soon!.

They’re an awesome way to meet and work with new people and play around with fresh ideas πŸ˜€ .

New Weekly Schedule for a Healthier Self

I felt like my growth was stagnating and my health was deteriorating slightly, so I decided to experiment with a new weekly schedule.

Starting from last work week of August (26th – 30th), instead of small blocks per day for various activities I separated the week into blocks.

On Sunday it’s Gym Day, when I focus entirely on exercise

Monday is Study Day, where I focus on improving existent skills and learning new ones (currently learning Houdini).

From Tuesday to Thursday is project work, which is mainly business activities for Z’s Laboratories and Against Sahara for now.

The effects so far are promising!, starting the week with heavy exercise left me energized for the rest of the week, and dedicating a specific day(s) for study and work made me more focused and ended up a bit more productive than usual.

But it might just be due to excitement of the change so won’t know for sure till I review results during next month’s reflection.

What’s Next: Learning Houdini & Building Digital Demo of Against Sahara

I’m going through Houdini’s official “Houdini Fundamentals” book at the moment, and plan to complete it by end of September.

I wish to make my own assets for my games and chose Houdini as my tool of choice, so this is in preparation for making Against Sahara’s art.

Once I finalize the game’s design, I’ll start building the final version of the game, starting with a story-less and art-less demo.

This ends this month’s report, hope you enjoyed and if you have any feedback please comment below πŸ™‚ .

Monthly Reflection #5 – Time To Switch Gears

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

I mentioned last month how my lighting and coloring senseΒ suck,Β so I did quite a bit of studying this month, mainly on the visual side of things.

I signed up to The Gnomon Workshop for a 1-month subscription and went through the following courses:

Lighting & Coloring Practice

With practical skills you have to apply them to learn, and so I practiced lighting and coloring using a pre-made scene from the asset store:

This slideshow requires JavaScript.

What’s Next: My First Commercial Game

Since April 2018 I focused almost entirely on building up my game dev skills, and it’s finally time for me to put them to the test.

I already started working on my new project in late July, and plan on finishing a demo by mid-August (hopefully).

I’ll be announcing and showing a physical prototype of the game (final game will be digital) during our local game dev community’s next meetup on August 4th.

As for the UE4 VFX course, I didn’t apply what I learned just yet since I decided to prepare a demo for Gamer’s Day in Saudi that will be happening in October.

I’ll be going through it again at a later date, either during the new project if I decide to create original VFX for it, or after finishing the game.

This ends this month’s very short report, hope you enjoyed and if you have any feedback please comment below :).

picture of a game programmer at work by Sergey Galyonkin

How to Hire Your First Programmer for Non-Techie People

Written by Zainab Al-Ansari on . Posted in Blog

Why I’m Writing This

A friend of mine is currently in the middle of hiring her first programmer for her new game studio, and I offered to help steer her towards a more suitable hire as I saw many startups struggle or downright fail after hiring the wrong person.

I decided to turn this into a blog post in case it helps someone else too.

But I must put a disclaimer: My professional development background is mainly web development, while my professional background in games development is negligible as of writing this article. As such I will be tackling this as a general programmer job, not specific to games development.

The Impact of Your First Hires

I’ve worked in multiple startups before and I can say with confidence that your first five hires will determine your entire company’s culture, or at least the development team’s, now and long after they’ve left the company.

So, before looking at their qualifications, look at their personality, and whether it fits with the culture you wish to develop.

For example: If you wish to nurture a culture with good life/work balance, then don’t hire any workaholics among your first five.

Your First Hire

Your first hire will most likely be your future team lead, assuming they stick around long enough.

For this person, they need to:

  • Work well in a team.
  • Be capable leaders (pushovers and tyrants not suitable to lead programmers).
  • Understand business, and experience working in a startup would be great too.
  • Have a high sense of integrity and work ethics (you don’t want someone who doesn’t care about the success of the team/company making important decisions or writing your game’s base code).
  • Love to help and teach (they will be doing lots of that to you and your other hires).
  • Be able to architect software well.
  • Be able to estimate how long a task will take reliably.
  • Be productive programmers.
  • Think of performance and other lower-level issues than simply coding.

What Questions To Ask in The Interview

You know best if the person you’re talking to will fit culturally with your company so I won’t touch on that here.

Instead, I’ll focus on the more technical questions to ask to determine those last 4 points I pointed out in the previous section.

Question #1: Show me your portfolio.

Simple: no previous work = no hire. You want someone with actual programming experience building published projects.

Preferably using the language(s)/tool(s) you’re hiring them to build in.

Question #2: Which code versioning tool do you use?

This is a trick question πŸ˜€ .

It doesn’t really matter which versioning tool they use, what matters is that they use one AT ALL.

Using one indicates that they care about their productivity (or worked with one who does, anyway).

Which tool to use depends on the project and learning new ones doesn’t take too long, roughly 15~30mins a day for one work week is enough.

Question #3: How do you document your code?

Code documentation can be done in many ways, most important are code comments.

But other forms of documentation can be necessary too depending on the project.

If they don’t write comments, don’t hire them. This should be a minimum requirement for any hire.

If they write bad undocumented code really fast they will be suitable only for building prototypes and other throwaway code.

Question #4: How do you plan and organize your projects’ code?

There’s no right or wrong answer to this question, because it will depend on the project.

The important thing is that they do have an answer.

If they stumble and stutter and are generally unable to answer this question, it means they’re not suitable as a first hire.

This refers to their ability to architect software well.

But note that simply thinking about how to organize a project is very basic and minimal, and not an indication of a capable developer.

Question #5: Which software design patterns have you used in the past?

This is a fun one :D.

I expect most to fail this question (at least here in Bahrain).

If they have used any design patterns in the past, then that indicates they’ve delved deeper into the realm of programming and software development than most around here.

If they haven’t, then they should at the very least know what a software design pattern is, be aware of them and be interested in using them in the future.

Question #6: How do you debug a problem?

They should be able to explain to you their debugging process step-by-step (Hint: Googling or asking for help should come last).

If their favorite “debugger” is Google they’re not skilled enough for this position.

Question #7: Have you followed TDD or a similar development process before? If yes, which? If not, why?

Test-Driven Development is a technique used in software development to maintain quality and make sure requirements are met in an efficient manner.

Similarly to previous questions, the actual process they like to use isn’t that important (I won’t advocate TDD over other processes, as the best depends on the project/team).

The important thing is they should employ some formal process in their development, whether it’s an internationally standardized one like TDD or something they came up with themselves.

Question #8: Do you use the same programming standards/best practices across your projects? If yes/no, why?

This is basic and if they don’t follow any standards at all they’re not a good hire, not as your first or your last.

Following standards is a very simple indication on whether they write clean code or not.

It’s also important for the team’s overall productivity, as using the same naming conventions, folder structure, etc allows team members to work well together.

Making up their own standards is ok, as is the case with development processes it doesn’t matter too much which they prefer.

Advice Going Forward

If you noticed from the questions I posted above, they all pretty much ask of the interviewee’s workflow and the way they think as a programmer, not their actual problem-solving skills.

This is important: problem-solving can always be built up through practice, as is the knowledge about a given tool or language, but workflow and thinking like a programmer takes years to develop and if they don’t have them already, they won’t develop them anytime soon.

For testing actual development skills, I would recommend a practical test in case they pass the first interview.

You should ask a senior programmer whom you know and trust to check on their code, otherwise you’ll be stuck simply checking if it works and that’s not really good enough.

PS: If you have hired a programmer already you should definitely have them interview with you. They should at the very least be able to indicate if the interviewee is better or worse than they are.

This concludes this guide and hopefully you benefit from it.

If you have any questions or concerns please comment below.

Thank you for reading! πŸ™‚ .

Monthly Reflection #4 – Game Release!

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

I received my new Alienware 17 R4 laptop, and with it was able to package my pinball game without any hiccups!.

All the freezing and crashing problems I suffered with Unreal have more or less disappeared as well.

Other than that, I wrote the Learning Game Dev guide I promised last month.

My Second UE4 Project: Z’s Pinball

A simulation of a classic pinball machine, made in 4 weeks using UE4’s Blueprints (no C++ just yet).

Things I learned from this:

  • How to code using Blueprints
  • How to make editable Blueprints of assets using Blueprint Splines and exposed parameters
  • How to create basic Materials
  • How to use decals
  • How to create simple VFX in Unreal Engine’s Cascade Particle System
  • How to make a simple UI in Unreal
  • How to package and cook games in Unreal
  • Basic performance optimization
  • Using Git with Unreal

What’s Next

During the making of Z’s Pinball I realized how dreadful my color sense is πŸ˜†

So, I’ll be focusing on visual skills during July. Namely color, light, VFX and perhaps some modeling.

This ends this month’s report. Your comments and feedback would be greatly appreciated, so do comment below. πŸ™‚

About Z’s Laboratories

Subscribe to my Newsletter

Required *