Blog Page
In this assignment I worked on creating an outpost from modular components I created myself. I had great fun in this assignment, as it was personally very easy to make, and I felt I’ve already gotten back into the flow of 3d modeling again. That is to say, I am a fan of simpler designs than more complicated ones; a design is much better when few details make it recognizable, rather than being filled with unnecessary noise. That being said, it made modeling in that type of style much easier than if someone were to go for a photorealistic look, which, in my opinion, isn’t always the best look. In this assignment I had almost no difficulties creating it, but was able to better practice my use of modular design, which I’ve found has great practical applications in all forms of modeling, and is so very much easier than creating one large object out of scratch. I look forward to being able to apply these techniques on our own game later in the year.
0 Comments
In this assignment, I worked using a new style of modeling that is actually a lot more convenient than I first thought. I used modular components to put together my piece, and modeled various portions of a house separately to combine into one finished product at the end. This method is good for putting fine details into things people typically wouldn’t be looking at, with less effort than if you had modeled an entire house normally. By reusing multiple assets into one compound object, you can prevent the house from looking copy-paste, or repetitive, while saving valuable time and effort. And by using generic structures from my pool of components, I was able to formulate two different houses while not making them look too similar. In a real game, developers would use tactics like this to create maps quickly and save valuable developer time, while only changing the textures or the formula used to create the buildings every once in a while. While I’m not very good at texturing, I feel I am good at making flat-colored objects detailed in some way. A skill that came back to me was chiseling an object to give it more ridges which in turns adds depth to what would have been a simple flat primitive. However another thing that came back was my issues with scaling. I’ve always been a stickler for scaling objects, but I seemed to have lacked in making a good ratio for my components in this assignment. For the sake of having everything fit in place, some items have had to phase into each other so the overall house could look good. In a AAA game, or even most indie games, this isn’t a rare occurrence to do, but the way they would have gone about this is hide the sections that aren’t seamlessly phased into each other using some other object or artistic method to distract the player. For me, however, it wasn’t obvious and added a little depth to the walls of my houses. This issue wasn’t too hard to overcome, as previously mentioned the walls being inside each other was barely an issue, and it looked good as is so I left it as it was, instead of remodeling new components for each house. The fire hydrant assignment retoned my ability to put items together and give them a slightly more detailed appearance than before. Using those skills I applied it to both of these modeling assignments and created a personally satisfying outcome.
The Fire Hydrant project was one of the first big focused 3d modeling assignments that I’ve been given this year, and I was able to finally dust off my wings to have a go again at 3d modeling. Although I was slow to get back into it, I found it an enjoyable experience to recreate an object and have a clear reference of what I want. I was able to create the fire hydrant similar to the reference image and felt satisfied at the end of it, reigniting my fun with 3d modeling. I was unable to make a good uv texture for the hydrant and just ended up using a metallic red on it, because although actually putting it together is easy for me, I always struggled with laying out the map and editing an image to fit into it, making it look seamless and good on the eyes. UV modeling is one of my weakest points when it comes to 3d art. I will however, try harder to attain some form of fluency in creating good uv maps later in the year for our game, as it’s something I truly want to get good at.
Unity Mission 2 was by far the most interesting of the topics I’ve learned within this class. Coding, albeit one of the most annoying, is my favorite topic in game design since it has such a range of possibilities you could do with it. With seemingly very basic code, you could create your own player controller, any way you want, without any limitations, you could create your very own game just by coding at home. I found the coding for the final assignment in Mission 2 extremely fun, I wanted to go all out until I realized that the 3 lines of code I added to a random script promptly had broken about 20 different regions of the game, whether it was the actual models or another script, it always found ways to break itself. Although I found it fun, it certainly is difficult remembering every function and every term, and I know I’ll have to continuously study that over the summer if I want any literacy with this new language. Even without school in the next coming weeks, I’ll probably be bettering myself with Unity to see if coding could be a possible next hobby for me, a fun and certainly productive one.
For our first mission in our new Unity learning class, we got a general idea of how to code very basic games and, contrary to our first online class, we were actually explained what the code does. The host explained what each function we typed down very clearly, enough so that at some point into the lessons I already knew what had to be typed and what it did to the game. Although coding is still like some mysterious form of black magic to me, I at least was able to comprehend how each function worked and why the host did the things the way he did.
Some of my favorite types of coding were the player controller pieces; being able to give any design your own controls in a video game seemed like such an opportunity to create amazing experiences. Unfortunately, the player controllers involved basically 2d level video games, which didn’t allow for much movement, however, it was still fun being able to bind keys to actions within the code. Another interesting function I learned was how arrays and spawning worked, as well as the Instantiate method which I feel would be extremely useful for when (if) we create our games next year. Finally, we had to express our mastery of coding with a rotating cube that moved or changed colors, although mine was relatively simple (a cube that changes color and direction everytime its played), I still found it fun being able to mess around all i wanted with this simple geometric being, within the seemingly infinite cosmos (more like about 20gb) of the unity space. About 4 years ago, I first discovered DOOM 2016, a modernized experience of the classic 8bit DOOM franchise where, well everyone knows, you fight demons throughout Hell and Mars to save the world. This was where I discovered my love for single player FPS shooters, leading me to buying DOOM Eternal and continuing my obsession with the Fast-Paced First-Person shooter genre. However, something seemed missing with DOOM; it was action packed, had tons of content, and an amazing soundtrack, but after a while it got stale. That was when I had discovered ULTRAKILL, which, at first glance just seemed just like some random indie shooter that I would get bored of, only until I started looking more into it and realized what it really was: retro DOOM with 10 times the high octane.
ULTRAKILL is a video game where you play as a characterless, silent robot named V1 that pillages through the various layers of Hell based on Dante’s Inferno. The gameplay is extremely fast paced, for reference, in DOOM 2016, DOOMGUY travels supposedly at a speed of around 57mph, in ULTRAKILL, you can jump up to the skybox and run so fast you can traverse the longer levels of the game within seconds at full speed. This speed is crucial to the nature of the game, where you battle a variety of enemies, husks, demons, other robots and even Heaven’s angels. Each enemy type has their own niches and each enemy within them are unique to each other, ranging from the measly robot drones that fly around and kamikaze when destroyed, to Hideos Mass, a demon so utterly large it cant move and serves as artillery in the small confines of the levels, the variety in enemies is fulfilling. My favorite experiences in the game are the CyberGrind, where you can play an endless mode fighting all types of enemies in some form of simulation, it has great music and a constantly changing terrain which keeps the gameplay fresh every run, and also the boss fights which are some of the defining features of this game, my personal favorite bosses are V2, a supposedly “superior” robot to you that plays as the classic “You but stronger” trope, and Minos Prime, a ghost so powerful and angry even the Heavens feared him. Story-wise, ULTRAKILL is rather small, with the only snippets of lore coming from books left around the LIMBO and LUST layers of Hell that show the story of the damned, and enemy descriptions that you can see in a basically arcade type interface at the beginning of every level. ULTRAKILL’s story design however small, is absolutely my favorite type of storytelling; small snippets of lore, a brief and obscure story of how the events lead to where we are in-game, it lets you theorize on what happened directly before and what will happen late in the game without confusing you too much. Just as simplistic the story is, so is the visual design of the game; based on retro DOOM, it’s the classic pixelated, low poly, early 90s type design with a good touch of modernity with the effects and speed. This is something I particularly enjoy with indie games, that arent afraid of stepping away from the hyperrealistic art style that destroys my GPU, and favoring a unique yet familiar style that lets you do all the shenanigans without crashing your computer (until you spawn about 500-ish enemies, something I enjoy doing in the sandbox). On the topic of style, the music is unique compared to other games in its genre aswell. Although I’m not particularly a fan of edm-type music, ULTRAKILL is the exception and has an amazing score that compliments the gameplay. The fast paced drums and almost 8bit electrical type music is extremely fitting for a robot running through retro Hell, leaving carnage wherever it travels. All in all, ULTRAKILL is a great indie game that fans of extremely fast paced FPS games should try, it’s a beautiful rendition of what indie developers are capable of, with just one individual making the music, gameplay, art, and code, it's a feat of design. Its controls aren’t difficult, and it could run on probably slower than usual PCs. More people should support smaller indie creators like these, so more masterpieces could continue to be made. While learning the ropes for Unity, we had to become familiar with coding in C#. Taking a linkedin course for coding was very helpful in learning the basics of how it works, however it was during the lessons I realized how tedious coding could be at times; with it relying heavily on exactly how you type things out, a stray capital letter or colon instead of a semicolon could ruin the entire code. Not to mention, the lessons were for a different version of Unity in which not all was entirely transferable from the lesson, which made it increasingly difficult to code the things I needed. Fortunately we were later given a different Unity course that helped better understand the concepts of how coding works instead of what to copy and paste. The new coding course was extremely advantageous, with clear and easy instructions that let me know what each individual line or phrase did; a crucial step to letting me become more proficient in the area of coding. Another difference between lessons is the former often made me feel less inclined to code, since I was still left confused throughout the lessons, but the newer official lessons make coding seem fun - almost like a puzzle game - that I could make great things with. So far, due to delays and being ill the past few weeks I haven’t been able to progress very far into the lesson, but I’ve gotten to the point where I can move the car given in the exercise forward. One thing I greatly appreciate about the new lesson as well, is that the teacher adds notes within the code that lets us know what it does, also giving us alternative coding lines for greater clarification. Once I am able to progress further into the lesson I feel like I could truly come to enjoy coding as well as understanding it clearly, and I have high hopes I could do a good job with it.
For the first time I’ve created a real video game on my own, however it wasn’t as easy and simple as I had thought it would be.
Given a simple idea of making an exploration game, I had a lot of ambition when creating an idea, but once I started creating the map I realized there were some core issues. I didn’t know how to code enemies or weapons, so automatically was unable to do that. I also couldn’t create the type of movement I wanted, but the high speed and maneuverability was sufficient. These realizations weren’t all that bad though, I came up with an alternative idea of parkour instead of enemies being the main challenge of the game. It also made me be more aware of what I’m capable of at the moment, and what to improve on in the future, which brings me to what I improved on while working on the game. Textures and paths were complicated at first, it didn’t want to comply initially with what I wanted it to do. If I put a rock texture on a small path it would stretch it beyond recognition, that’s where I learned how to work the tiling feature which was a lifesaver when it came to texturing the various objects in the game. Pathing, instead of being a bunch of copy pasted planes were now cubes that could stretch to conform to whatever path I wanted (and the hitboxes didn’t glitch out either.) I also worked with the Terrain too, which was a very interesting and reliable one to use as it allowed me to create mountains or small hills that could make the environment less monotonous or boring. Along with creating objects in Unity with tools like ProBuilder, for the end goal I modeled a small collection of squares which I rotated around to make it look interesting, which I then imported into Unity. It was as easy as I expected, all I had to do was drag it in and it was there, and even had its own hierarchy for the individual shapes. Although not a copious amount of practical skills were learned creating this game that I hadn’t already known, it was my first taste of creating an actual game and provided me with a lot of wisdom to help me on my future projects. After being given a prompt of making an idea for a game taking place in a fantasy world, I was tasked with creating a paper to sketch my notes down. Although I made these notes not too long ago since I’ve started writing this, I’ve thought through many of the ideas and crossed them off. I’ll start with the worst (or, least best) ideas and progressively go up in what I prefer, rank 10-1. Ranking 10th would be making the game take place in medieval times. I could never come up with concepts that don’t have a pinch of sci-fi or at least modernity. The curse of playing/watching too much sci-fi material (looking at you, Halo). 9th rank carries over from the 10th, which is having a limited variety of weapons like bows and swords. Although each are cool, if I was limited to using a weapon with the stat-wise “muzzle velocity” of a snail or a weapon I’d only be able to rush people with, I’d instantly uninstall the game. 7th Idea would be having bosses/dungeons. Although they’re cool the first time you play through a game, say like Warframe, eventually you’ll have to grind the same character with the same fight with the same lines and overall makes what should’ve been a cool experience a boring, repetitive sequence of events. Bosses should only exist to fight once and either recur later on with a different quirk, or die once and for all and drop their special loot on the spot. 6th idea is horde enemies, not necessarily because it’s unpreferred, but because it’s too broad. Initially I thought Warframe-type enemies would be fun to fight, like 20 weak, low damage bad guys in a room that can shred you if you stand still but’ll fall over if you dare walk near them. However the only way to make that fun personally would be to make a copy of Warframe, which isn’t the plan. Horde enemies were supposed to be a bit more like Halo, where you fight big groups of bad guys but each individual one is almost on par with you (if you’re bad at the game), and you have to focus on target acquisition and prioritization. It’s more fun to fight enemies that could beat you down in a single punch than see the same copy and paste of a generic soldier 300 times that you could wipe down with the press of B. 5th idea is having it be open-world. Open world games used to be such a fascination to me, I marveled at Fallout 4’s map and my ability to wander the whole thing on foot, or, at the Plains of Eidolon with the towering Teralysts that could be heard across the 5-kilometer sized map. These were fascinating until open worlds simply got too popular and well, boring. Most large AAA open world titles now follow the same formula of “base liberation, base liberation, base liberation”, and designing a game that’s replayable and doesn’t fall into that hole is simply too complicated (especially for a student). 4th top idea would be having randomly generated exploration worlds like No Man’s Sky or Minecraft. Although it breeds creativity with (usually coexisting) base building and the possibility of some really funky formations, with the design style we’re tasked, and I personally want, it’d be nearly impossible to create one that works without turning the average computer into a thermo-nuclear bomb (and y’know, amount of coding skill it would take)
Now with my top 3 ideas, which are up here not only because I personally adore games with these styles but also because it’s within the realm of reality that I could create, with help of course, a game like this. Number 3 would be having the game take place in post-apocalyptic space, whether in some distant galaxy or close to home (like Mars or the Solar System), it could allow a lot of creative freedom with how to work on maps or add lore to the game. Post apocalyptic games are always interesting to me, regardless of the lack of lore some may have (like DayZ), and for it to take place in space could add an extra layer of mystery. Number 2 would be the integration of PvP. Although PvE is fun, it can get stale and predictable, also involves creating AI that doesn't think the wall on the opposite side of the room is you. PvP is almost always fun, with the endless interactions you can have between not only with your team but with the enemy, fun experiences can be created. Along with PvP would be customization of your character, so there isn’t really a “main character” besides you, and who you want to be. Lastly, number 1 would be what type of game. Movement shooters are one of my favorite genres of games. Although I’ve had limited experience with them, I notice the influence of them creeping into many popular arena shooters and PvP games, for example the grapple hook from TitanFall (or before that) now in Halo, Battlefield, and other movement shooters like DOOM or ULTRAKILL. Most movement shooters are PvE. In DOOM, it’s you vs demons, in ULTRAKILL, its you also vs demons, but I’ve always wanted to fight a real challenge that’s never predictable. I feel like an extremely fast paced pvp shooter with the magic of fantasy added could work perfectly together to make a unique game that stands out from the rest. In order to know what I’m doing when I use Unity, I had to take an online course on LinkedIn to become familiar with the tools and features I had at my disposal. This course helped carry me through the process in which game creators are able to craft their games in the most simple way, so as to not overwhelm me with too much information. Although basic, it provided me with a lot of interesting techniques I could use to my advantage. One feature I grew very fond of was Probuilder, which allowed me to create my own unique geometry, whether to create part of the map, or to make small props around the area. Probuilder was also very similar to 3ds Max’s modeling, which added another layer of familiarity, and, in some places, I actually prefer probuilder’s modeling to 3ds Max’s.
On the Topic of 3ds Max, the interface was extremely familiar and easy to adjust to. For a time I debated if they were created by the same people. The ability to alter the interface was also very appreciated, as I can put floating windows into smaller, organized tabs (like what I do with probuilder) in any sector of the screen, and split the displays of the actual game itself. It’s evident a lot of time was taken to improve the quality of life of the creator when developing this UI. Of course, this new software couldn’t come without problems. Most of the issues I struggled with weren’t mentioned in the course, however they also weren’t significant enough to halt my progress for long. Most issues I had were graphical, and they were all involving the textures which either wouldn’t work or wouldn’t appear at all. I learned that for the Tree9 Pack I downloaded, I had to manually apply the textures to each individual tree, which was a small inconvenience until I realized I could just copy and paste each tree. Another texture issue was it not looping or scaling correctly, evident in the planes I used as pathways in the first part of the game. Poking around in the settings, I changed the tiling value to .2 for it to loop seamlessly on all the planes, and, when the texture I had didn’t seem to work at all, I simply looked for one that did. A stone texture for one of the caves didn’t work, and thanks to the Tree9 pack it came with various natural textures, stone being one of them, that I applied to every in-cave path and worked seamlessly. The biggest issue was involving adding guns to the player character to fight off AI in the cave that would hurt you. I had no knowledge of how to code the guns and enemy behavior, so I simply left that alone. A simple solution could’ve been building the game within the microgame, however I had worked too long on my original project before finding that out, so I stuck on improving my current work. |
Author
My name is Mario, and am currently studying Digital Design and Game Art in DSA. This is my class blog Archives
January 2023
Categories
All
The views and opinions expressed in this blog are solely those of the author and do not represent those of Durham School of the Arts or Durham Public Schools.
|