Showcasing Against Sahara

Monthly Reflection #8 – Marching Ahead

Written by Zainab Al-Ansari on . Posted in Blog, 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

This October I worked on my current flagship project Against Sahara, helped organize Unreal Bahrain game dev meetup which happened on 6th October, and made changes to my weekly schedule as well as my goals.

Against Sahara – Current Status

After going through 7 iterations of the game’s design, I finally ended design work and started development!.

So far I have a very ugly-looking-but-working main menu and started work on the card play framework.

I don’t have anything to show yet since it’s mostly backend work for now, but I plan on having a basic version of the game playable by next month.

Organizing Local Game Devs Pro Meetup

This proved to be a lot more time consuming than I first anticipated, but largely in part because it was my first time and was learning the ropes, although the meetup proved to be a success.

I also held a very quick talk introducing Kenney’s Asset Forge, which is a fantastic tool for quickly making art assets, especially for non-artists.

Due to the time I spent working on the meetup, I didn’t get to work on Against Sahara as much as I hoped and got a bit delayed.

Speeding-up my Pace

Last month I mentioned that I don’t feel like am progressing fast enough on my Houdini skills or the game, but to solve this I needed to look at not just my time management but also my focus.

So far my weekly schedule looked like this:

Sunday: Gym Day, which is exercise + learning about indie game business.

Monday: Study Day, where I studied Houdini.

Tuesday to Thursday: Project Work, which is mainly business activities for Z’s Laboratories and Against Sahara.

But I’m changing my schedule to this:

Sunday: Gym Day + Study Day, spend the day exercising, studying indie game business and UE4 development.

Monday to Thursday: Work, doing business activities for Z’s Laboratories and developing Against Sahara.

I’ve decided to let go of Houdini for now, and fully focus on learning the Unreal engine.

My skills in Unreal are not up to where I want them to be yet and it’s showing in my slow progress on Against Sahara, so I decided to refocus on Unreal and use my Sundays to make very small 1-day projects.

Also, Houdini and 3D modelling in general is a complex skill to learn with many sub-skills needed, and dedicating just one day a week was not enough.

On the whole, trying to learn UE4 + Houdini + Designing commercial games all at once was inefficient, which is why I’m removing Houdini from the equation for now.

I’d remove the business side of things as well and just focus on learning UE4, unfortunately my savings won’t last me forever and I do need a proper source of income within the next few months.

What’s Next: Building a Playable Version of Against Sahara + Designing a Small Custom Environment in UE4

I’ve already started working on a Halloween-themed environment that I plan on finishing next Sunday.

Development of Against Sahara is also under way and while slow am making steady progress as I wrap my head around how UE4 works.

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

Monthly Reflection #7 – Step By Step Towards Our Goals

Written by Zainab Al-Ansari on . Posted in Blog, 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 Blog, 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 againstsahara.com 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 Blog, 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, Software Development

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! πŸ™‚ .

About Z’s Laboratories

Subscribe to my Newsletter

Required *