Tumgik
shadylogofgamedev · 3 years
Text
Interested in learning Poetry?
There's this guy who's a poet, and he's put out a heartfelt guide on how to write poetry. Which is also a poem itself!! Check it out here!
0 notes
shadylogofgamedev · 7 years
Text
Ground Slam Attacks - Magic ones
So recently I came across this Kickstarter game that really caught my eye. I don’t usually go through Kickstarter, as I don’t yet have a credit card, but I was bored and got the idea of checking the website that made “Hyper Light Drifter” possible (now I wanna play it again). So anyway, the site did not fail me, and the first game I saw was this beautiful piece of art called Raji. I watched the trailer on loop and realized they had a free steam demo out. I downloaded that 1GB despite my trickling drought struck internet connection, and boy was it worth it. (No I don’t do promotional posts I’m getting to the point) The demo was amazing, despite some hicks which will surely be fixed in the polished version, but what really caught my eye were the Special Attacks.
youtube
*credit www.rajithegame.com by Nodding Heads Games*
Now any gamer when they play a character with a staff-like weapon on them naturally crave for a ground slam attack there you just slam your staff (an Indian Trident in this case) into the ground, producing massive shockwaves and taste the satisfaction. That is what this game made me feel. And I wanted to make that as well. So I did (yeah in the middle of my final semester exams, no regrets) (The one below is mine)
youtube
I know it’s not even close. It’ll take a long time to be a professional, but gotta keep trying.
0 notes
shadylogofgamedev · 7 years
Text
PixelArt
A quick 12 frames of the concept character animation. The game is supposed to be top-down slanted style, but couldn’t just put a gray background for the side walk cycle. I know it’s not stunning, really. But it’s the best time would permit for an art that’s not even going to be in the game.
Tumblr media
0 notes
shadylogofgamedev · 7 years
Text
Pacman3D - ProjectDevLog
Tumblr media
Pacman 3D was my first project on Unreal Engine 4, after jumping from Unreal Development Kit. It had started as an assignment project in order to learn the engine, and what better way to do it than jump in solo. My version of Pacman 3D tries to recreate the classic arcade game in 3D 2nd person. 2nd person, because Pacman has restricted axes of motion, which if not followed, can get the character stuck due to the simple fact that Pacman never stops unless blocked head on by a wall. This concept was going to cause some problems later, which I was unaware of at that time.
I started off by playing a lot of the classic Pacman. Being working on a new engine, I really didn’t want to spend too much time thinking of new concepts for a game, so observing and recreating seemed like the best way to go. The first step in development was going to be creating a maze level. I looked up a 2D maze image, imported it as a texture, applied it on a scaled up quad and traced over it by placing BSPs. I had a sample ball to act as the character, and I immediately realized a problem. The 2D Pacman is exactly as wide as the corridor he is running in, but in a 2nd person camera, it gives a cramped and claustrophobic feeling. So I had to make the corridors wider and roomy, but this was going to pose another problem later which I hadn’t thought of at the time.
Tumblr media
 Being done with the maze, I started with the Pacman character: a yellow sphere with a chewing jaw. A quick design in 3DS Max was enough, the upper head with a separate lower jaw. But for fun, I gave him a set of scary teeth as well. With a simple looped timeline for the chewing action, the character design was done.
Tumblr media
The mechanics were all done in blueprints, since I wanted to try them out. A camera and a spring arm were simply attached to the character. I added a movement input in the forward vector every tick, and a 90 degree rotation (a fast yet smooth lerp) to the controller upon pressing the left and right keys. But that allowed the player to turn anywhere they wanted, in the middle of the roomy corridors. This caused the player to get stuck in straight paths, because the player had the option to turn anywhere they wanted. A good coder once said “Never give a user too much freedom, for they will mess up.” I restricted that freedom by placing trigger volumes at turns, only in which the player could make a turn. A volume class was created, and each of its objects, in case of an ‘OnOverlap’ function call, would cast to the player character class, and turn a Boolean ‘CanTurn’ in it to on. The Boolean was then used as a check condition before turning.
A problem still persisted. Since the volume could not be a single point, there was a range of distance in which the Pacman could turn, and this would mean the path he takes would not always be at the centre of the roomy corridor, and may sometimes block the player in areas where they can’t even turn! My first thought was that I’ll just make the volumes smaller, but that was not a legit solution. Also, none of my friends were able to play the game. After some brain racking and a couple of failed attempts later, I tried this trick. Whenever the player presses the turn button, apart from just rotating Pacman, it was also translating to the centre of the volume, which was always aligned with the corridors. Aided by the rotating camera, the translation was too small to be noticeable.
So now, my Pacman could roam around perfectly well inside the maze, and quite freely too, because there were no ghosts yet. While I was playing the original pacman, I’d noticed that their behaviour wasn’t random, so I searched up more on them. As it turned out, all these four ghosts had their own names, personalities, as well as characteristics. The red one, named Blinky, chases Pacman. Pinky, the pink one (..duh) tries to place itself in front of Pacman. Clyde the orange ghost chases pacman, but moves away when near. Finally the blue ghost, Inky, can randomly act like any of the three. Now I knew I wasn’t going to even try to implement all the AIs accurately, because I had to finish the project fast.
Tumblr media
So I first planed a normal Ghost class that would patrol the maze and chase the pacman whenever he is in sight. Pretty straight forward. I quickly made a makeshift ghost on 3DSMax and got it in the ghost class. For the patrolling logic, I used the same turn volumes that were placed at every corner as flag points for the ghost navigation. The basic algorithm for a normal patrol-chase ghost went like this: since the game starts, each ghost will randomly pick a turn volume present within a specific range and travel to that volume (path finding is possible with navmesh). As soon as he reaches that volume, he finds the next volume to travel to. If the pacman comes in his cone of vision, the chase mode will start and the ghost will start chasing him, by essentially reaching the last volume the pacman had been through. Now it’s also possible that the ghost might reach that volume before the pacman is able to reach the next volume since then. For that, every turn volume has an array of references to the four immediate volumes around it. I had to add those references into each volume manually, which was a pain. Now, the ghost would try to find a path to a volume that is next to the last volume the pacman had passed and is closest to him at the moment of calling the function. This also makes it possible for ghosts to trap pacman in some conditions. Being done with the basic AI, each of the four ghosts could be given different properties by changing attributes per object, and overriding functions for each object.
Tumblr media
The point and power pellets were easy. They were just spheres with a yellow emissive material on them, and its objects were arranged throughout the level. I could make it easier to put in the level through the constructor script, but I was too lazy, and this was supposed to be the only level I was gonna make. Picking them up would increase the point count. The power pellets were a little special than that. Once the character picked the power pellet up, the speed of the ghosts decreased, their material was switched to a blue one, their cone of vision disabled so they don’t chase pacman, and after contact with the character, the ghost was destroyed and respawned back in the central cage. All this was on a timer of course, after which everything was switched back to normal. There was also the flashing of ghosts as the timer was about to end, which was basically a blueprint timeline hooked up as a sinusoidal wave, and the blue and default materials were switching based on whether the timeline value was positive or negative.
youtube
One last feature I wanted to add was the teleportation across the maze, where if either pacman or the ghosts enter the corridor, they come back in the maze from the corridor across the maze. It was a feature I had given some shower thought, and already had an idea on how to implement. “Game development is all about deception”. So deceive I did. For teleportation, the character was supposed to see the other side before entering the teleporter, such that if there is a ghost on the other side it would be visible. I duplicated some of the left side of the maze behind the teleporter on the right wall, and vice-versa. Then I added volumes on the area that was supposed to be visible from this side of the portal. Whatever actor was present in the volume, ie ghosts and pellets, would be duplicated with an offset distance to be visible behind the portal. They would be non-interactable, and as soon as the player reaches the boundary, his location is set to the other side.
I never published this project or released it, as there were still a lot of things that made it commercially unplayable. One was not knowing where the ghosts were, as they often led to frustrating deaths. I planned a small top-view minimap on the HUD, but it would make people play from the mini-map alone, and the 3D view becomes dispensable. But nonetheless I had fun making it.
1 note · View note
shadylogofgamedev · 7 years
Text
Hello World
So this is my first post from this blog. Calls for an introduction? Right, I’m a regular college guy who likes to have fun, read, sing, listen to eminem, code, and to play and make games. And that is what this blog is gonna be about, a ‘technical and non-technical’ log of my dabbles and conquests in game development.
Tumblr media
Yep, That’s me. 
1 note · View note