Aydin Afzoud
  • About
  • Game Design / Analysis
  • Old Art
  • Blog

Learning C#: Rocket Lander progress

21/1/2019

 
Alright, the C# course is coming along nicely. All base mechanics for rocket lander are in, including debugs and cheats to assist development. All I need to do now is to make some good levels. I have stuck to these test-levels because I wanted to focus on coding and game mechanics. But since the game mechanics are more or less complete - it's time to put this on the shelf and proceed with the next project which is a StarFox-type rail shooter. I'll update the blog when I have made some for this game. 

Learning C#: Rocket Lander

19/1/2019

 
I'm continuing with the C# course and this time it's a moon lander type game. Things are developing nicely with PL controls, collision detection, win/lose conditions, level progression/loading, state machines etc. Code-wise I must say that things are really starting to click, and the feeling when you are deviating from the course to write your own code and systems, and seeing it actually work as intended is a very satisfying feeling. I now see why some of my friends stay up all night coding - the feeling when thing work as intended is very rewarding.
Picture

Learning C#: Terminal Hacker is complete!

5/1/2019

 
I completed the Terminal Hacker game. It was a very big learning experience, and my knowledge in Blueprints really helped me out when it came to variables, arrays, "custom actions" etc. Gonna keep going with the next project in the course! Here's the simple game in action:

Learning C#: Terminal Hacker

3/1/2019

 
The C# course is coming along nicely. Now it's time to make a Terminal Hacker game. 
The game has a menu system that PL can navigate
PL gets to choose a list of a targets with increasing difficulty
PL then gets to guess different passwords, and gets presented with hints that are scrambled versions of of the correct password. 
PL wins if they guess the right password. PL loses if they fail to guess he password too many times. 
Picture

Some more Blueprints

30/12/2018

 
Thought I'd keep doing some blueprints, and I heard that GameDev got a new course out, so I got it. First little project is a little physics based game where the PL controls a board with a maze using the mouse, and try to get a marble into the goal as quickly as possible. A simple little game. 
Picture

Learning C#: Hello World

24/12/2018

 
Alright, time to take a crack at C#.  Obligatory Hello world post. 
Picture

The making of Wolfstone 3D in Wolfenstein II: The New Colossus

8/12/2018

 
Background

At MachineGames it’s a tradition to include at least one Easter egg or reference to Wolfenstein 3D in our own Wolfenstein Games. In Wolfenstein: The New Order (2014) there is an Easter egg where Blazkowicz goes to sleep, only to have a nightmare where he is in the first level of Wolfenstein 3D.  A fun little Easter egg that was appreciated by the community.

In our next game, Wolfenstein: The Old Blood we expanded on the easter egg so instead of having just one level of Wolfenstein 3D, we added the whole first episode of Wolfenstein 3D spread out throughout the single player campaign, ending with the killing of Hans Grosse. The biggest change from the original Wolfenstein was  that the pickups and the weapons were in 3D, and the the vista that B.J runs into after defeating Hans Grosse got fleshed out a bit.​
A Game Within a Game
When we made Wolfenstein 2, the question was how we would handle Wolfenstein 3D this time around. We ultimately settled on not having it be a hidden easter egg at all, but rather we’d include the entire game and remake it to fit the setting of Wolfenstein 2, and put it right in front of the player, in an arcade cabinet located in the living room of Eva’s Hammer – the Nazi submarine hijacked by the resistance.

In the alternate history of Wolfenstein 2 the Nazis won the war and enslaved the world, so their Wolfenstein  3D version would be the complete opposite of the Wolfenstein 3D version we all know and love. Instead of playing as B.J Blazkowicz killing Hitler and the Nazi leadership you would play as "Elite Hans" killing B.J Blazkowicz and the Kreisau leadership.

Who is Elite Hans?
Portrait of Elite Hans, art by Ástor Alexander
Elite Hans is the GI-Joe of the Nazi Regime, a made up character made to glorify the military and recruit young kids into the various wars of the empire. We originally referred to him as SS-Hans, but for legal purposes mainly concerning the laws of Germany and Austria we settled with "Elite Hans".

Our marketing department made amazing in-universe mock commercials starring Elite Hans to advertise both the release of the game, and the collector’s edition of Wolfenstein 2, which is made entirely in-character as a real Elite Hans toy.​
The making of Wolfstone 3D
The time came to make the game itself. It was a technical, logistical and artistic challenge. There were mainly 4 people involved in this. Myself (Aydin Afzoud), a Olle Rosenquist (Senior Programmer), Christian Grawert (Senior Level Designer) and Karl Johan Dimming (Sound Designer) with additional support.

Art
The plan was originally to outsource the pixel art to an experienced pixel-artist and have them convert and redesign all nazi-related Wolfenstein pixel art into the the anti-nazi pixel art we were looking for. But the candidate I had in mind was unfortunately busy at the time, so I had to take it upon myself to redraw everything that needed redrawing.

I'm a game designer and not an artist at MachineGames, my regular job tasks include designing weapons, enemies, and systems for the "real" game, which means that if I was to make all the art for Wolfstone 3D I had to do it on the side. So to gauge how long would take to tackle this task I started out with converting Mecha-Hitler to Mecha-B.J, as I figured that if I could pull that off it would mean that I'd be able to redo the other enemies too.
Picture
That went pretty well, so I started redoing the all the enemies. They were actually harder since they have a lot lot more sprites compared to the bosses, but luckily most of them only needed new uniforms. However it wasn’t just a quick fix in Photoshop, I had to stick to the WOLF3D palette, no other colors were possible.
Picture
Picture
​​The brownshirts became U.S infantry
Picture
The SS became the Russian Red Army
Picture
The Officers became British army officers
Picture
Hans Grosse became Max Hass
Picture
Dr. Schabbs became Set Roth, luckily Dr.Schabbs was already a stereotypical a mad scientist, so we just had to replace all his voice lines.
Picture
Ghost Hitler became Ghost Blazkowicz
Picture
Otto Giftmacher became Bombate
Picture
Gretel Grosse became Anya
Picture
General Fettgesicht became Caroline in her Da'at Yichud power armor.
Then it came time to redo the all nazi wall-art. It consisted of redrawing swastikas and other nazi symbols and convert them to the symboks of Kreisau and the antifascist resistance. And of course replacing Hitler with Blazkowicz. Here's a little sample of sprites that got edited or redrawn completely.
Picture
Technical implementation
The programmer responsible for the technical implementation is Senior Programmer Olle Rosenquist. He re-wrote the entire code for Wolfenstein 3D - everything is remade again from the ground up, it runs its own thread and updates a single texture on the arcade cabinet. It even replicates the proper IBM Mode 13h. The game supports loading, saving, and everything that the original Wolf3D had, contrary to popular belief it is not an an emulation.

Personally I find it very impressive how he got Wolf3D to function within the game and draw it on a single texture. Regarding the development of Wolfstone 3D Olle says:

“[It was] Interesting to go back and see how they made everything work with the resources they had at the time, especially some of the self-modifying rendering code. Was less fun to make it comply with the modern world of localization and console technical requirements, different profiles/ save-slots and now there's 2 games to bug test since it's a real proper game running (not an emulator) within the 'real' one.”

Level design
Unfortunately for us, Nazi-symbols were also baked in to entire levels, meaning a a lot of levels had to be redesigned. This was made by Senior Level Designer Christian Grawert.

We had things ranging from small swastikas here and there to huge swastika based levels
​(The left version is original Wolfenstein 3D, the right version is Wolfstone 3D)
Picture
In this case the swastika was replaced with a G (for Grawert!)
Picture
The entire level is based around a Swastika and had to be edited and remade to break up the swastika and turning it to something else
Picture
Level 53 was impossible to edit, so it had to be thrown out and totally remade:
Audio
Basically all voice audio had to be re-recorded to fit the theme of the game We opted to emulate the notoriously bad/funny voice acting in the original Wolfenstein 3D, as well as the audio quality of the time. The person responsible for the recording, mixing and implementation was Sound Designer Karl-Johan Dimming and he did a great job in making it replicate the original sound quality.

Here are some examples of replaced lines. The voice actors are me and our HR Administrator Nicole Åkerlid:
When it comes to Music, Mattias Wennlund removed the Nazi-music and even added some new unused music that was lurking in the original files. The music is made by the great Robert Prince.

AARDWOLF competition
Back in 1992, Apogee, the publishers of Wolfenstein 3D were going to run a competition. They had hidden a message deep inside a very hard and sadistic maze that said “CALL APOGEE, SAY AARDWOLF”. The idea was that the first person to call the publisher and say it would win the grand Prize. The problem was that as soon as the game was released, people just unpacked all the files, found the message and called en masse to Apogee saying AARDWOLF! So they cancelled the competition and patched out the message. Joe Siegler have a very good blog post regarding the whole AARDWOLF debacle. Apparently people kept calling in 20 years later yelling "AARDOWLF! AARDWOLF", believing they were the first to find the message. 
Picture
When we made Wolfstone 3D we thought: "Let’s finally run the AARDWOLF competition, 25 years later! The AARDWOLF shall have its justice!" So we did - a special sprite hidden inside a maze, inside a game inside another game.

Our version said Tweet @Wolfenstein say “Aardwolf”. And the first three persons did it received Wolfenstein II: Collector’s Edition for free! 
Picture
And just like in 1992 people are still finding the easter egg and tweeting it. I also added a coded message in the sprite b̶u̶t̶ ̶n̶o̶b̶o̶d̶y̶ ̶h̶a̶v̶e̶ ̶s̶o̶l̶v̶e̶d̶ ̶i̶t̶ ̶y̶e̶t̶.̶ ̶S̶o̶ ̶t̶h̶e̶ ̶E̶a̶s̶t̶e̶r̶ ̶e̶g̶g̶ ̶s̶t̶i̶l̶l̶ ̶h̶o̶l̶d̶ ̶s̶o̶m̶e̶ ̶s̶e̶c̶r̶e̶t̶s̶!̶  2022 EDIT: 5 years later SHODANFreeman cracked the code, and solved the easter egg fully. It says THESLIPGATEISOPENINGPREPAREFORHELLONEARTH. And since then, the slipgate opened and a new official Quake episode was released and DOOM Eternal was set on earth, so it all came true.

Summary & Acknowledgements
This is a very abbreviated insight in how Wolfstone 3D was made. There was a lot more work involved: Narrative Designer Tommy Tordsson Björk wrote the end-art, Mattias Wennlund implemented all the SFX, and the heroic QA department at Bethesda bug-tested it thoroughly.

Making Wolfstone 3D was fun and challenging, and it’s nice to see that old hardcore Wolfenstein 3D fans went back and replayed the "opposite version" and explored the new levels. It was likewise fun to introduce Wolfenstein 3D (albeit an altered version) to a whole new generation of FPS fans that had never played the grandfather of first person shooters.

And since you’ve read this far I’ll let you in on a secret: If you press Right Trigger + Left Trigger + Right Bumper + Left Bumper + Right Stick + Left Stick all at once you’ll get full ammo, all weapons, all keys and full health. Might be useful when tackling Wolfstone and gunning your way to Mecha Blazkowicz!

Pixel Art Effect: Molotov Cocktail Impact

19/11/2018

 
This was a hard one! Molotov cocktail impacts have so much going on. The initial flame from the ignited gas, the combustion of the main propellant and the spreading lingering fire. 
Picture

Pixel art fire effects

25/10/2018

 
I've been poking around with 2D effects a bit more, so here are some different looping fire effects! 

​Gasoline fire
Picture
And here is a version with a little less intensity 
Picture

Grenade explosion

17/10/2018

 
I've always preferred grenade effects that don't overdo explosion part, but rather focuses on the smoke/dust so I made one! EDG32 palette 
Picture
I tried fixing the last 2 frames and the irregular GIF loop, but it seems Photoshop can only export gifs at max 50 FPS, even though I set the max to 60. Oh well, here is the fixed version albeit too slow. 
Picture

Violent fire

11/10/2018

 
I like directional fires above static ones that just go straight up. So I made one!
Picture

Pixel Art Effect: Fire

10/10/2018

 
Wolf3D palette
Picture
EDG32
Picture
Comet/fireball
Picture

Pixel Art Effect: Burning Tire

9/10/2018

 
I've continued to poke around with effects, this time it's 2D pixel art! I used the Wolf3D palette for this one
Picture
And EDG32
Picture

Pac-Man progress part 5, working AI

26/7/2018

 
Implemented a simple AI that wanders around the maze, killing the player on overlap.
Not as advanced as the original Pac-Man AIs but I'm not making a replica of that game, just learning Unreal 4. 

Pac-Man progress part 4

24/7/2018

 
Implemented: 
  • Player death
    • Respawning PL at designated respawn position
    • PL death animation
    • Stripping PL of all powerups on moment of death
  • Random respawn of fruit power up
  • Pellets everywhere!
  • Teleporting player in the warp zones

Effects look like crap, but that's because they are butchered versions of the Infinity Blade effects. When I've learned Cascade I'll replace them with something better. First functionality then polish!

Pacman progress, part 3

22/7/2018

 
Continuing the course, and thus continuing the Pac-Man project.
  • Player movement, controls and animations implemented
  • Game camera position and animation
  • Logic and functionality implemented for: 
    • pellet
    • power pellet
    • bonus fruit
    • speed boost 

Pick up and throw physics objects in Unreal 4

21/7/2018

 
I want to try to build a simple carnival-game in Unreal, and I settled for a skeeball-style game. And after some time on forums and youtube I finally got the pick up and throw mechanic to work.
  • PL picks up the ball by pressing and holding the right mouse button.
  • Releasing the button drops the ball.
  • Pressing the left mouse button throws the ball away.
Fun stuff.

Pac-Man part 2

14/7/2018

 
We have a full level, materials, enemies, audio, pellets, power-pellets and lots of component blueprints.
Time to implement some game logic.
Picture

Pac-Man project in Unreal Engine 4

12/7/2018

 
I keep going at it with blueprints and UE4... To get more skills and become even more familiar with UE I've enrolled in a course, the point of which is to work with different aspects of Unreal 4 and to create a simple arcade game. So that's my goal now: Pac-Man from scratch. Complete with AIs, HUD, Top Scores, Load/Save games, effects etc.... I'l chronicle how it goes. The playing field is starting to take shape
Picture

    Blog

    The blog of Aydin Afzoud, Senior Game Designer at MachineGames. 

    I upload stuff every now and then, mainly to keep a record. 
    ​
    My opinions are my own and not those of my employer. 


    Archives

    January 2021
    August 2019
    April 2019
    January 2019
    December 2018
    November 2018
    October 2018
    September 2018
    August 2018
    July 2018
    June 2018

    Categories

    All
    2D
    3D
    Art
    Blender
    Blueprints
    C#
    Cascade
    DOOM
    Effects
    Gamedev
    Learning
    Logo
    PacMan
    Pixel Art
    Typography
    Ue4
    Unity
    Wolfenstein

    RSS Feed

Powered by Create your own unique website with customizable templates.