Just a quick screenshot showing some progress:

![Basic lighting shaders]({{ site.baseurl }}assets/screenshots/zenithia/zenithia_7102013_1.jpg)

I implemented a common shader library and 3 basic effects using shader model 3 and fx effects:

  • Basic per-vertex lighting: ambient, diffuse, specular, and emissive lighting. Shader supports 1 point light and/or 1 directional light per-pass.
  • Basic per-pixel: same lighting equation but calculated per-pixel.
  • Wireframe shader for gizmo rendering.

I also added basic camera and lights scene node objects.

Zenithia update - Rev 57

- 1 min read

Today I worked on the mesh parsing section of Zenithia and got a basic scene-graph up and running that supports multiple nodes, meshes, subsets, and basic materials. The screenshot below is from a collada model exported from blender that includes multiple nodes, meshes, subsets, and textures.

The model is rendered using a simple fx effect and all resources are loaded in the resource thread and swapped to the scene at runtime by the resource system.

Assets in Zenithia

- 2 mins read

Dealing with resources is one of the most complex aspects of a graphics/game framework, this is due to the fact that:

  • there are a lot of resource types each could be using a different format.
  • some resources involve complex relatively expensive parsing.
  • some resource types need to be associated directly with a device object, and that introduces several caveats.

I wanted Zenithia to be a streaming-based framework, so basically what I do is load all data from disk without blocking the main thread.

Introducing Zenithia

- 2 mins read

What is Zenithia?

Zenithia is a Direct3D 9/11 framework that I’m currently developing using C/C++. The scope of the framework is unknown at the moment as I’m developing it specifically to develop and demonstrate my C/C++ and graphics programming abilities.

Where is it?

Here in BitBucket

Design philosophy

Zenithia’s main objective is to simplify and structure Direct3D API functionality providing a higher polished and practical interface for demos and games.

Jekyll.. is cool!

- 3 mins read

For the last two days, I’ve been looking at several solutions to setup a blog for this site, from blogging services like Wordpress.com and Blogger to fully fledged CMS-like solutions running on one of the many cloud-based platforms available today, I setup several blogs in the process to test and get a feel for it.

The solution that satisfies my needs without paying truckloads of money was Wordpress running on my own server rather than someone elses, and it works great! but Wordpress still doesn’t feel like a blog I would update frequently, something is missing.

It's been awhile :-)

- 1 min read

This post is migrated here from my 2013 blog

Exactly 1 year and 13 days since my last post here, here’s an extremely brief overview of what happened in a year:

  • Left Small World Interactive and Egypt
  • Moved to Istanbul, Turkey and joined PeakGames (Flash/Actionscript3)
  • Made a lot of great friends
  • Crazy work hours (from 9am to 7pm) didn’t leave me much for anything, but the weekends of 2 days were awesome! I spent them all away from computers exploring nature and Turkey, I saw and did things I only experienced in my dreams :-)
  • Met an amazing girlfriend, spent a few incredible months together.
  • Girlfriend went home
  • Left PeakGames

Good days

This post is migrated here from my 2012 blog

Mystic is a new personal demo game project I’m working on, it’s supposed to be a multiplayer co-op variant of a space shooter, the exact details of gameplay are still not yet defined, but I already put a bunch of hours into it.

mystic

p.s. Mystic is the project code name, the actual name of the game is going to be different.

Secon Month!.. wait what

- 2 mins read

This post is migrated here from my 2012 blog

How… did this happen? its only been a month 0_o I felt like it was 6 months, which tells me I should probably party more often hehe.. but with who? its getting lonelier :(

I am somehow back to working on Flash games, and I don’t even see Unity that much these days, I dig Flash… really… my actionscript 3 library is awesome and I’m constantly developing it, the last major addition was a mini retro game engine which I appropriately called “Retro” (I know I know, I’m very creative), other than that during the last few days I paid a visit to the hellish part that handles automatic pausing/resuming and muting of everything while playing well with Flash events, Tweener, Input, Sound, Flint particles, etc… and it didn’t smell good at all. Furthermore, these days, I’m haunted by this insane desire… to remake Volguard! one of my favorite games on my first BASIC only iraqi-made computer, the good ol’ Warkaa.

First Month!

- 2 mins read

This post is migrated here from my 2012 blog

Yesterday was the last workday of my first month at Small World Interactive, so much stuff happened in the last few weeks, I met a lot of interesting people and made many new friends everywhere. I’m a little drained and low energy but I’m hoping it’ll get better in the next few days once I settle in my new place.

Life as a student had a much slower rate, it was very predictable and forgiving. Now it kinda feels like a jungle! I experience so many unknowns every single week and don’t really have time to slow down and process.. but I’m trying to enjoy this new life-style to the fullest, and I bet once I get used to it it’s not gonna feel chaotic anymore.

First Weekend

- 1 min read

This post is migrated here from my 2012 blog

Remember that interview I did under the influence of food poisoning? turns out I did great even though I don’t remember much of what happened :D

So you are now looking at the new Game Developer (aka. teh new guy) at Small World Interactive, still under evaluation so my job description will be specified at a later time. But this means my plans to leave Egypt are taking a backseat now, and frankly I only wanted to leave so I could work in my field of choice since my options were very limited here.