nav2

Showing posts with label work. Show all posts
Showing posts with label work. Show all posts

Wednesday, January 24, 2018

AHK scripting

It's been a while since the last post here and a lot has happened. It might take more than a few posts, but I will try to catch up. My current job has taken a way a big chunk of the time that used to be dedicated to creative tasks, however it allowed me to advance my programming skills and do some interesting things.

I noted in a previous post about what it entails- a lot data validation and entry. The company has allowed me to automate the majority of the processes via scripting. For that I chose Autohotkey- as it's the perfect windows api for macros and its open source.The AHK scripting language looks like Basic mixed with javascript and can be a pain in the neck in the start- but it's pretty cool once you get a hang on it.
Using it, I wrote a gui macro app that does my job's process automatically. Under the custom interface, the app holds a giant collection of macro scripts, web crawlers, logging and automatic data correction functions.
I called it "Sunlotion" - the name is a joke- for it fills in for all the flaws of the scheduling software that the company has been using- we shall call that "Soul Destroyer" in this article.

When I get a job request in an email or a spreadsheet, all I need to do is highlight the text and pop up Sunlotion's custom menu - it gives me the option to parse the text. Via a combination of regular expressions and functions, Sunlotion populates it's own interface's fields with the correct information from the text I fed to it. Who requested the job, who it's for, duration, date, project code, etc, etc

The date gets checked- is it on a weekend, is the date too soon (short notice jobs) , is it this year (believe it or not people make that mistake too) and so on. It gets converted to the correct format automatically- "fri 12 jan"  becomes 12/01/2018 - so as not to trip Soul Destroyer.
The duration also gets converted to the right format automatically- "2 days" becomes "15" hours. 1.5 hours becomes 1.30 hours. Project codes get automagicaly validated via a web crawler macro - when it receives it, Sunlotion  navigates to a website in the background, checks the status of the project code and if valid- proceeds. If not- it creates a reply email about the status of the code and sends it to the requester.
Another crawler macro checks what area the job is for (so it knows whom to email later) by navigating to another website and extracting the data.It detects if its fed a site code or a site name. If its a site name, the web crawler macro will retrieve the site code.

And after all the raw data is automatically organized, cleaned up, analyzed and validated by Sunlotion, I click on a button and it fires a macro that raises the job on Soul Destroyer, writes the email, attaches the right files, the right send to emails, logs the job to a spreadsheet and moves on to the next job. Rinse and repeat.
For some types of job forms I was able to completely automate the process , so my tool would raise a sequence of hundreds of jobs on Soul Destroyer without need of any supervision.

These are just scratching the surface though- there are so many macros, crawlers and functions, that it would take too long to list all.

Of course my managers noticed that this was freeing my time and gave me other tasks to keep busy. I started raising jobs that another department had to raise in the past. I wrote little apps for my department and other departments to save the company time by automating other processes(over 10 apps so far). The company in return gave me a yearly bonus and an innovation award.

There is no raise in sight, I am not technically getting a programmer's wage either, but the experience has helped me tremendously in becoming better at writing my own apps.
Since I can't show or share Sunlotion here because it was written in company time- I made another AHK app in my personal time for fun. It's called Metasnap.
You can check it out here:
 https://blurymind.itch.io/meta-snap

I might write a post about in later on.

I have also been working on another app- that I am writing in Gdscript via Godot. Stay tuned- it will be more interesting to present :)





Sunday, May 15, 2016

Some notes on baking Normal maps again

Flipping UV islands is a common way of getting more pixels to cram in detail. What you do is for each symmetrical part of your model, you take the left side and flip it over the right side.

 That doesnt mean that the entire left side should be the same as the right - if you do that your model will of course be a bit bland. So plan in advance which parts you want to have symmetric and which not. You should plan it right from when you start making your high poly model.
In my case, I sculpted the nude in Zbrush completely from scratch, but used marvelous designer to create his outfit:

Making the hoodie was a  gotcha moment.I had to first stitch it in neutral pose over his head and run the simulation to get it to wrap around it naturally, then I puled it down to fall over his jacket during another cloth simulation. He looked good with a hoodie on, but the final design was planned  with a hat on instead.
Marvelous provided some really nice realistic cloth simulation which resulted in a good starting point for wrinkles and detail. Bringing the clothing back to Zbrush - I added detail to it - more wrinkles and a zipper here and there, the shoes and shoe laces. The hat, the hands and the respirator mask are all made in blender - where modelling them made much more sense. For the mask I used modifiers heavily. Wireframe modifier was perfect  for the cage.

Naturally the generated cloth mesh had no symmetry. So then when I started doing retopology in blender - the plan started forming more. For the outfit I will keep the middle part asymmetric, but will reuse the texture space of the sleeves. Same goes for the pants. His face will be completely unwrapped, but I will reuse uv texture space of the neck, the the cap shade and the shoes.


So I did the model accordingly in two stages- first retopo the asymmetric bits, then do the ones that reuse texture space - with a mirror modifier. I had to cut the hi poly model import from zbrush and marvelous designer into body parts and make the planned ones symmetrized for the high poly mesh - where there was no symmetry for the clothing. Thankfully blender has wonderful sculpting and modelling tools that make that part a walk in the park.

 When baking a normal for a target model with flipped islands that overlap their counterparts, you are most probably going to get seams.
If you want to avoid it, but still be able to reuse texture space via flipped uv islands, it is important to do this: Select all islands that overlap other islands, and move them in X + texture.width.


As a side note you need to consider that this UV technique does not work if you need to bake a lightmap on the model - which is usually the case for static background objects.

For the mask normal baking, I arranged the uv islands in a way that it will bake the bars perfectly horizontally and vertically. It is generally a good practice to arrange your islands in a way where you will get less diagonal lines on the bake - try to avoid diagonal straight lines as a whole. Horizontal and Vertical lines have  no anti-aliasing you see - so geometric detail such as this looks much crisper on lower texture sizes. If you look at model rips from old video games - you will see that they utilized this approach quite successfully to get some good looking textures as small as 256 or even less. I was also being cheap again with reusing UV space  with a vertical mirror. Whenever you can, and especially for detailed parts with repeating elements - try to reuse texture space!

In most cases, you will still need to clean up the bake result.
The normal cleanup was done in Krita, as 3D-Coat does not allow cleaning up external normal maps. Their import layer is locked and limited to very few operations.
 It was however quite good at further detailing them during texturing with your PBR materials. Next post will be about that =)

Saturday, March 12, 2016

Some of the projects I worked on at Disney Interactive

Back in 2011 I had the wonderful opportunity to work at Disney Interactive Studios as a Production Intern for an entire year. During that time I was involved in the production process of a number of Disney and Marvel IP games developed by the Disney company in conjunction with other game studios.

Recently I learned that "Vanguard Creative" has released a few screenshots/information of some of those projects:

Disney Universe: 


More about the project here:

http://www.vanguardcreative.uk/project-du.html
▷ Art Direction, Concept, Creative Design, FMV Scripting, Logo Design, Marketing & PR assets




---------



Invincible Iron Man

Become Iron Man in a superhero action game with super destructive combat, freestyle flight, a reinvented morphing armour and a supercharged story with life or death choices.

More about the project here: http://www.vanguardcreative.uk/project-im.html

▷ Art Direction, Creative Design


Secret Wars

Marvel's biggest heroes and baddest villains battle each other in a vicious Secret War, stoked by The Beyonder.

More about the project here: http://www.vanguardcreative.uk/project-sw.html

▷ Art Direction

Q-botics

A virtual construction kit with physics simulation enabling you to construct machines, complete challenges and share your creations online.

More about the project here: http://www.vanguardcreative.uk/project-qb.html

▷ Art Direction, Avatar Development, Narrative, Web Portal Design



Keep an eye on Vanguard Creative. They have some very cool new projects cooking right now! :)


Monday, February 16, 2015

Some hired work from the 2011 - graphics and mockups for tablet games

Back in 2011, I had the pleasure of signing up for a part time job with Cogworks studios  -as artist/animator . I made graphics and mockups for a bunch of iOS games/Apps. There was an opportunity to go full time, however I was in the middle of my second year at the University of Bradford - there were a lot of assignments stopping me from doing that. Also UK students are not allowed to work for more than 20 hours per week.


We used toggl to track my time each month. Sadly university took a lot of it and as you can see from one of my reports- I wasnt able to spend too much on concepts.

There was of course a non disclosure agreement with the job. Those type of agreements usually have a period of time - in this case 3 years - in which I am not allowed to release any information or show any of my work publicly. Well since 4 years passed I said to myself - What the heck, Let's do it. I am going to share with you some of the more fun ones. :)

Please note that some of these were quickly made sprites - used to put together a prototype for a few games. They were in no shape or form the final product. The names I am giving the games are not the final product names.

One of the projects was to do a game in a frame concept for Team 17. The deadline was very tight, so it's not very polished. I am not going to go into detail about the game ideas or design, since none of that was my work.

There was another ongoing project for a Jenga-like game where you stock blocks ontop of each other. I made a title screen, two backgrounds and animated sprites for the blocks. Each block had a face with a different character. Doing the backgrounds was really fun, since they were vertically very tall. We had a level where you stack blocks all the way into space, another one which started deep underwater and kept going until reaching the surface and so on. I had to use illustrator on that one, since it had better export tools.


There was a Bird in a factory game project where I made a number of bird concepts for. Then when we picked one of them - I made a fully playable animated sprite for the bird- run, idle, death, etc.
Some of the background elements also had to be animated - smoke, saw, travolator, etc etc. Those were simple enough to just do in Inkskape. I had set up for myself a script in linux that exports the svg layers as an image sequence. And another one which makes a gif file from the image sequence  (for presentation purposes). That saved a lot of time.

 I made an entire spritesheet in inkscape. There was no premade concept art, but the guys at Cogworks gave me some direction as to what animations they are going to need and some of the specific gameplay event items. I had some creative freedom in coming up with various hazards for the little bird though.

Overall these were fun projects for me and working with Cogworks was a real pleasure!
I do hope that they get to complete/release some of these games some day. Looking at my work from 4 years ago, I can't say that I am completely pleased with it. Surely it can do with a lot more polish! If these games ever get on production schedule, I would be more than happy to work on them full time.

Monday, December 24, 2012

D4i-term1 - Car safety game for Himex

One of the final year modules of the University of Bradford is to work in a team (of 4-6 students) to deliver a product to a real client (with a deadline, for free).

The team that I joined is made of 6 people:
- 2 programmers.
- 3 environment artist/modellers/generalists.
- 1 animator/illustrator- me.

In this blog I have decided to (selfishly) write only about my own contributions to our projects.
This is to avoid any unconvenience on the other member's side - maybe they dont want me to say this or that. Also there is a lot to write and it's best to pick my battles when it comes to this blog. Posts are LONG as it is.Other team members have their own blogs and time to write.

We all did a BELBIN test before having permission to form a team.
My Belbin results (strengths that are also my weaknesses according to the test) gave out the impression that I am good at:



The Belbin team report had this to say for my role in the team:
"should do most of the problem solving or be responsible for coming up with any new
ideas and suggesting solutions to the rest of the team."

My technical role in the team is Illustrator,Animator, Character modelling.

As a start, my job was to design a T-shirt picture to be used to present our team.The idea of the shirt and branding is by the whole team :
I did this with inkscape, as usual. There was a limitation of the number of colours for printing

Produced a number of variations for the rest of the team to vote on. The catch phrases and the name (like a sir) were some of the other team member's ideas. We tend to end most of our presentations with a bad pun joke involving cheese. it's important to leave a smile there.
.
I was team leader during Term one, but I asked to step down from that position and focus on animation for term two. Leading a team can become stressful - I dont have the time and energy to do a great job at it, while also contributing so much to development. It doesnt really give you any power if thats what you think - a good team leader shouldn't force ideas but rather keep people on topic during the meetings, keep everyone heard and make sure that everyone is on track and knows what they're doing.


What the experience taught me is that a group leader is someone who is passionate about and good at organising other people. Someone who constantly keeps motivating others and reminds them where they should be at a given moment with their work.
So it was a tough job ,especially when there is no office place and everyone is just juggling with uni work.
In industry that person who organises things would be the producer. He or she would elect who should be in charge of what and keep everyone in line, keep communication between the people and so on.
Not a job for the ideas person.
The group leader should not be personally biased by ideas, but should make decisions based on what's best for the project and sometimes what would keep everyone happy.


There is also a lot of infrastructure organisation  that I really am not good at and other team members did instead of me.

So each term has one project. The project in term one was to deliver a game pitch to HIMEX - a car insurance company- for a game that brings awareness about car accidents. The target audience is young drivers. Teens. This is the client's brief.

Everyone in the team proposed a game idea. This is what I proposed initially - two ideas.
They were fed into a team discussion and everyone from the team added some really great ideas to make it more fun.
We decided that an IOS game will need simpler contros. I pitched for a pacman like design where the car moves indefinetelly by default and you turn left and right by timing your tap at the turns.

This is the second presentation we made...
Everyone had a say what goes on each slide, but we divided who does and presents each slide in the 15 minute slot.
The slides that are in GREY are the ones that I mostly worked on.They are half arsed because of me.

For the final presentation, we used Prezi.
I didnt do a lot on it, but gather images.Some things were changed for the game pitch, based on the team's decisions, a public questionaire of the target audience (over 80 people) and the client's feedback from the last presentation.A number of new devices were added to the game idea and some designs were removed.I presented the game pitch slide only.

The presentation was a success. The client just gave us a lot of praise and no critical feedback(alas).
It's in no way a complete design document and does have it's quirks, but what went in there as a pitch really left Himex impressed and "inspired" to make a game.

However, we are not going to be developing this game for Himex, because we already have Team 17 as a client for term2's design for industry project. But let's leave that for other posts when the subject has matured enough..:)

Sunday, November 11, 2012

The Internship at DISNEY INTERACTIVE (2011-2012)

My placement at Disney Interactive Studios (DIS) ended in June 2012. A job in London that I had for a whole year!

There must be at least one post in my blog to talk about DIS.
I wasn't sure how to write it. It should tell potential employers about my experience and at the same time shouldn't give an unfair advantage to potential students who will apply for the placement.
I need to formally get it out there, as most people have the wrong idea of that job.
 Talking about it is like treading on thin ice, with all the secrecy papers, so I'm not gonna go in detail to  list everything.

Games industry is one of those creative fields that rely heavily on innovation. I felt very lucky to be part of it again, even though I am a 3d animation student and not a games student.

from my Linkedin:
--------------------
Production intern credited on titles:

Disney Universe (2011)
a number of unannounced games

Assisted with and/or took responsibility for:

  • Art direction
  • Art and design feedback
  • Video work (final cut and aftereffects)
  • Concept art
  • Part of brainstorms for game and television properties


This work relates to AAA, iOS, and browser based games.
---------------------
Sort of picked that from Louise. She has a way with words. :)




Why was I hired in the first place?
A number of factors, but it seems predominantly for
The game idea that I pitched, the ability to come up with and sell game ideas.
Working there helped me further develop the skill, that I didn't know I had!

Weaknesses before the experience at DIS:
The powerpoint that I submitted was lazy- with handwritten text, no layout, and using old artwork. In fact that game idea was revolving around the artwork and not the other way around as it should be. A game born out of a drawing.
My ideas might be good, but they were scattered in their presentation. I learned to structure them and focus the design on the aspect that makes the pitch special.

Honorary stuff
It's best to get these out of the way here, I guess.
My university honoured me with an academic excellence stage two award:

A Bulgarian newspaper wrote an article about me, based on an interview. It was to inspire other artists to study abroad. I shamelessly promoted Blender and open source software in the process :P

Things learned?
>My focus has shifted from technical execution to concept design.
A lot of students are lazy during preproduction (I know I was :D). They will think they have it completely figured out in their heads and will start modelling/animating right away.
What mostly changed in me after DIS is my approach. It now explores the concept much more before production begins.
In industry you have to make a concept of the whole thing in advance- as full as you can.
You need it  to see if it works, to convince others that it will work.
The act of writing it down helps you form it in your head.

 If you haven't convinced yourself that you know what you're doing, then don't do it. You Don't have to make others figure it out for you.

>Lots and lots of video editing. I'm still not brilliant at it, but after the internship and the feedback I got there, it's a skill that improved. Big part of the job was putting together trailers for games that are in production. Videos to get parties to invest some more money in the game and update people on it's progress. So you can imagine it's an important job. Recording and editing with final cut, compositing with after effects and photoshop.

>Marketing a game can be more expensive than it's production. There is a plethora of titles that studios around the world have almost completed but have never released to the public because by the time they reached completion they were no longer relevant. (Duke Nukem?)
Let's call that place the  graveyard of never released games.
Like in "The good the bad and the ugly", one of those graves must be full of gold!

That's not to say that anything like that happened during my time at DIS. It's just general knowledge. Everyone in industry knows about the graveyard. It's just a reminder that some of the stuff I was involved in might never get to be public. Let's hope thats not the case though..


some of the people I worked with/for:
Sorry that I can't mention everyone and sorry if you don't like to be mentioned (let me know, I'll edit it out).

Louise - She's the other production intern. We were sort of partners in production, working together on many of the tasks set by James, Al and the others. She's an awesome vector illustrator . Keep a watch for her concept art. :)
One of her old vector drawings


James (Art Director) - Being along side James  was great fun.
More than anything else, he is the art director there and working with him taught me a lot about  art direction, research, working with the developers, pitching, film making, etc...
He taught me how to open my mind for and seek inspiration, explore possibilities, settle just when the time is right.

AL (Design Director)
Al gave us assignments to come up with new game ideas using existing IPs.
It wasn't just about coming up with something new from the top of our heads. It revolved around doing the research, working within a team and spicing up the end presentation with relevant mockups and inspirational images. Come up with a lot of ideas and then pick out and combine the right ones.
 If I learned anything from him- that would be the importance of predicting what the next big thing would be, figuring out how to push people's buttons - the target audience and those who would fund the project. Picked up a few new swear words in the process too. :D

here is a cheesy picture from tumblr


The value of a company comes from the people that work there. With that thought I bid my farewell to the internship. It's the people that I will remember. More  so than the company name that everyone is associating me with now. So much that it still doesn't feel like I've left the mouse house. I bet thats how the previous interns feel.
Thank you for the great memories!

Tuesday, June 7, 2011

Jobs I did this year and some musical collaborations

Today I want to let you folks know what has been slowing my ongoing projects.

To do that, I need to tell you about my jobs.
Starting the year 2011, I had a part time job with the University of Bradford which I did for about 3 months. I was the teacher's assistant during lab sessions for the 2d animation module. That was an excellent opportunity for me to meet with the majority of first year students and get to know their work. I helped the class with anything technical Flash cs4, also helped with constructive feedback on animation when asked to give such.

My other job with university was as an open day assistant. That basically sounds like advertising university to people who are thinking of signing up for it. But what it really was - assisting people in their decision to pick a university
; answering questions about accommodation, on going modules, chances one might get to get industry jobs. The tuition fees have tripled this year thanks to the UK government.If you want to work in USA though as a CG artist, then you really do need the diploma to get the work visa.
Education is a topic by itself, which I am going to postpone for some other time.


Then in March this year, I got a job with Cogworks Studios !
Work there continued to end of June- almost half a year. Unfortunately I cant post anything done there because of the disclosure agreement.I did the graphics and animation on two iphone games, using inkscape,toonboom studio and then Adobe Illustrator.




Some time during that period I applied for an intern ship at a couple of places. One of them- Disney Interactive invited me to an interview. A week after that I got a call confirming that the position is mine. There were over 100 candidates from the uk and only two placements.
From what I gather, the thing that gave me advantage over the other candidates was not so much the showreel and the cv as much as my game pitch and ideas.
Signing the one year contract ,I found a disclosure agreement with the size of a book. You will understand if I don't write (or say) anything about my work there. :)

So all I can do now is write about past projects. Here are some of the ones from this year- before starting work at Disney.




The sound assignment
For this assignment I worked with Thomas Mcfadden. The task was to put together an animatic with sound and music. Tom made the animatic. I made the music and helped with the sound effects. What you'll hear is the result of a couple of hours in the uni's sound lab. The music is really an improvisation- stuff made at the spot. They have a bunch of really nice one octave M-audio keyboards there, hooked to mac computers with garage band and Logic.

Tom has an excellent sense of humour and voice acting talent. He's doing all of the characters btw. You might see me doing some cartoon project with him next year ;)

And while on the subject of Music, there was another project that I took part in. A group of final year students from my university just finished an xna game, called

Steamsunk:

They needed music for it. So this time I decided that I want to work with a friend on it. I got Preslav Jordanov assigned to the project. I really needed him to take charge of this one, because I didnt understand the music software really well. He's also more into guitars, while I personally prefer pianos and rpg music. My contribution to this was in adding more progressions to the track, also the boss battle bit.

If you would like to hear more of my music, there is an online gallery where i keep most of the melodic doodles.
http://soundcloud.com/blurymind