Jump to content
  • Advertisement
  • entries
    86
  • comments
    20
  • views
    12394

About this blog

An update blog for projects going on that have some degree of interest

Entries in this blog

Unity Weekly Updates #65 - Mind your Jumps

Well, well, well ... look who's here! It's you again! Welcome to your favourite Weekly Updates blog! This week was a very proactive one. I managed to add several new challenges. In all, there are 5 new and unique challenges. So, without further ado, let's get started! New Challenges First of all, as most novelties are platform challenges, I will introduce them one by one. I will just introduce them and briefly describe how they work. I've also recorded videos for most of the challenges. All of these challenges are of the generic type. This means that any of these can be chosen for any level. That's why they all have a heavy vaporwave/shopping mall theme. But keep in mind that I haven't had the time to incorporate them into the game yet. Thus, no loot for now... Challenge #1 The first challenge consists of several vertically moving platforms and three distinct elevations. The idea is to use the moving platforms to climb the central obstacle to reach the final elevations. The most observant of you have probably noticed that the middle elevation has a cracked wall. This is a useful shortcut to avoid wasting time on moving platforms. Here's a small video showing it off: Challenge #2 This second challenge consists mainly of two symmetrical forked paths with several mobile platforms. At the end of each branch, a switch can be found. The idea is to activate both of those. Once they're both on, a super-secret room opens up at the beginning to reveal the loot. If you make a mistake, use the nearest ladder and start again from there. After all, you can't rush these: you'll have to take your time ... Challenge #3 This challenge is not so much a "platform" as a "puzzle" ... It does not have a mobile platform, but ladders and stairs. This challenge consists of a series of toggle switches. Here, whenever a switch is toggled, its immediate neighbours get toggled too. The trick here is to toggle the right sequence of toggle switches to turn them all on at once... Some would say that this kind of puzzle is a "classic". While they're somehow right, the thing is that here we can't see all switches at once. Thus you have to memorize it. Once all toggle switches are on, the loot will appear at the back of the room. Challenge #4 For this next challenge, there's a balanced mix of puzzling and platforming. It's split into three sub-challenges: a toggle switch puzzle, a moving platform challenge and lastly a pressure plate puzzle. The first one is a 3x3 version of the switch puzzle seen in challenge #2. However, unlike the latter, it's much more open and less convoluted. The second one is a platforming course. Any mistakes will result in you restarting the whole course. Finally, the last one is a pressure plate puzzle. The idea is to use pushable blocks to activate pressure plates. Except it's not as easy as it seems... All of these must be completed in order. After clearing everything, the last part opens up, revealing the loot. Unfortunately, this challenge isn't complete yet. There are essential things not yet implemented, like pushable blocks... So no video for now... 😢 Challenge #5 Finally, here's the last challenge. A pure platforming challenge, it's quite vertical and very spacious.  The goal is quite simple: climb the tower. There are moving platforms to help you. But be warned: these platforms are small, narrow and quick. Proceed with caution! However, make one mistake and it's back to square one. So take your time and don't rush! Minor Updates Added Screen Space Reflexions Next Week For the next week, I plan to add more challenges while trying to integrate these first in the game. There are several ways to do it, but to stay in the theme of the vaporwave I think I'll replace the steps by an elevator (small elevator music included). I just need to model it and to add it to the maps' generation process. Otherwise, I still have pieces of equipment to add. After that, it's your usual suspects. So yeah, that's about it!

jb-dev

jb-dev

Unity Weekly Updates #64 - Jumping Around

Good day to you! Welcome to this new Weekly Updates blog entry! Last week was, overall, pretty packed. After a short strategy time, I managed to come up with a plan that I think will be more impactful than before. So without any further ados let's get this thing started, shall we? Platforming The main theme of this Weekly Updates post is probably platforming. Players could always jump but, so far, these were mostly used as a defensive technique. These were really helpful for range players but literally useless to everybody else... To fix this, I decided to sprinkle the levels with a bit of platforming. Basically, some tunnel rooms will now spawn stairs. These will, in turn, lead to platforming challenges that'll reward players with good-old-fashioned loots. Similarly, I'm also planning to have hidden shortcuts scattered around too. The idea is that some normal rooms will contain super secret stairs under breakable props that will allow the player to skip some rooms. The difference here is that instead of loots these will open up to an exit. Platforming Challenges Each platform challenge will be created by hand. To spice it all up, there'll be level-specific challenges as well as generic ones. When generating the level, those challenges will be randomly picked. Some challenges can also include a puzzle to solve. These challenges will be composed of several platforming elements. The idea is above all to offer a lot of diversity and to propose several unique challenges while simplifying their conception. Let's take a look: Moving Platforms First, let's look at moving platforms. These types of platforms move along a predetermined path. Most of the time, this type of platform moves linearly from one point to another. Players can, with good timing, jump on it to enjoy a free ride. At any time, players can land from them by jumping or simply dropping them. Some platforms will move rather in a cyclical movement (for example, making circles or following a predetermined circuit). Players must, therefore, time themselves correctly and use these platforms to their advantage. Rotating Platforms Secondly, there is another type of platform not very different from the previous one: the rotating platform. Basically, they are functionally identical to moving platforms. They too allow players to enjoy a free trip. However, unlike mobile platforms, they rotate rather than move. Some turn on themselves and others turn on different axes. They can also rotate at different speeds. Therefore, players must again use timing while dealing with them. Ladders Finally, here is the last one: the ladder. Ladders are, like in real life, practical tools for reaching things that are normally too high to access. In the game, players can climb ladders by simply approaching them. Once mounted, players can now move both vertically and horizontally on the ladder. Players will automatically dismount the ladder once they reach any of its extremities. To rapidly drop from a ladder, players can press the jump key. This pushes players off the ladder. Since the game takes a first-person perspective, ladders behave almost identically to those found in Source Engine games (Half-Life, Counter-Strike, etc.). Thus, players are free to look anywhere they want while still being able to freely use any ladder. That's about it for platform challenges. Here's a video showcasing a placeholder simple platform challenge:   Puzzles Secondly, I've managed to refine puzzles and add a new puzzle piece. There are still two types of puzzle pieces but now there a new sub-type of the pressure plate. Now there are two types of pressure plates: round ones and square ones. The idea is to have two distinctly different models for two different types of pressure plates. The round pressure plate acts like your typical button. This means that once it's pressed down it stays down. The square one needs constant pressure to stay active. Usually, players can use some kind of weight (like a pushable block) to keep it on while solving other puzzles. Minor Updates Added some pressure plate animations and transitions Remapped puzzle pieces UV maps to use different tints Changed most puzzle pieces shader to offset UVs to vary the model's colours a bit. Next Week To be honest, here, I'm hoping to really get it going with platforming challenges and puzzles. I really want to get these things started and see where this will go. Aside from that, it's your usual suspects... Otherwise, I'm still constantly thinking about what to do next... It's been so long without any conceivable revenue and perhaps it's time to do something about it.  What it is is still unsure. Perhaps it's to either create some kind of Kickstarter campaign or something alike... Perhaps it might even be taking a bit of work on the side to stay afloat. I really need to think about it because any false move could put the game in a bad position. I really believe in what I'm working on right now. It has a very unique approach to Vaporwave that I haven't seen a whole lot of. Usually, designers stick with either neon colours on a dark background or retro PSX aesthetics. However, I didn't see any love for Memphis Desing nor 90s design. This really makes me think that I'm on to something. But anyway, let's try to make it work in the first place!

jb-dev

jb-dev

 

Small Update

Hey there! I'm gonna make it quite short this week. Earlier this week an unpredictable thing happened which forced me to take a small hiatus. So last week was really about planning ahead on what to do next.  I'm not fully able to say when I'm gonna be ready to start again but fear not. I'm not planning to let this go just yet! So see you next week!

jb-dev

jb-dev

Unity Weekly Updates #63 - Puzzled

Well, look who's back! Hello. This is your favourite weekly update blog! Last week was interesting, to say the least. Last weekend, I decided to bring The Legend of Zelda: Link's Awakening on the Nintendo switch. I must say that the experience was very satisfying. Although the game itself is still a bit outdated in terms of game design, it remains quite memorable. Also, with an almost identical conception of rooms (especially dungeons rooms), I was able to experiment a bit with my own room designs too. So without any further ados, let's dive right into it! New Rooms Mechanics  While playing Link's Awakening, I realized that most enemies in Zelda games were not as complex as I originally thought. With this realization came another question: if it's not the enemies that make the game fun, then what is it? After a few hours of play, it became very clear... Zelda games are known for two things: their dungeons and their puzzles. In our case, the "dungeons" part is already taken care of. This leaves us with the star of this post: puzzles! Puzzle Pieces So last week I was cooking up a puzzle system. The idea was to have a solid puzzle system from which to build semi-complex puzzles. With it, we can also have compound puzzles. Each puzzle can have two possible states: on or off. Some compound puzzles wait until all their sub-puzzles are cleared before turning themselves on. It's also possible to invert the puzzle too. A compound puzzle can also have different logic gates. By default, a compound puzzle uses the AND gate. We can also have an OR gate and even an XOR gate. Paired with the inverter, we get the full logical gates range! Puzzles can also freeze. Frozen puzzles won't be able to change their on/off state anymore. Quite handy when a puzzle is finished! But anyway, let's take a look at some puzzle elements! Toggle Switches First up, here's the toggle switch. Basically, it is a switch that activates interacting with it with the "e" key. Each switch can also interact with other switches. With this, we can create complex puzzles that are quite interesting to solve. Pressure Plates And finally, here is the pressure plate. To activate it, just press the button down. This can be done by either pushing a heavy object onto it or just standing on it.  Some pressure plates need constant pressure to stay "on" while others will freeze up once activated. Just look at the colour of the plate to find out. And that's about it for the puzzle as of yet. I still have to integrate puzzles into rooms and also refactor the game flow so to include puzzles. I also want to add more type of puzzles and perhaps even change the map generation to add even more puzzles.   In other words, a bunch of work ahead! Minor Updates Changed ice floors: Now ice floors have walls. This is especially noticable when surrounded by either chasms or liquids.
Refactored the screen brightness modifiers so that they also include tints: This way I can more closely simulate the dark brown tint of sunglasses. Added a mechanism allowing players to break down any obstacles that would have been broken only by bombs.  However, players must be strong enough and have the right kind of weapon. Added a ColorModifierStack class that acts as a ModifierStack but for colours.  Next Week I have to say that playing at Zelda allowed me to realign my priorities and also showed me how to do the parts principle well. Before I thought that what should be improved was the bosses. However, Link's Awakening showed me that a game does not need a complex boss to be fun. Although bosses remain a priority, it's far less important than puzzles. Thus I'm planning on working on those puzzle bits first. Then perhaps it's really gonna be boss time. Aside from that, it's your usual suspect... I'm really feeling great about puzzles, though. It can potentially bring a whole lot of depth to an otherwise quite dry game... So yeah, that's about it!

jb-dev

jb-dev

Unity Weekly Updates #62 - Sunglasses At Night

Hey hello there! Welcome to this week's Weekly Updates! So last week was a lot busier than these last two weeks. I fixed several bugs, changed some GUI elements and also added a new piece of equipment. So without further ado let's get this thing start, shall we? GUI Updates First, I will show the new GUI. Basically, after much thought, I decided that the windows were not enough "Windows 95" to my taste. So I did some small research to correct everything. Colours Upgrades First, I corrected the colours of the graphic elements. For example, tabs were previously just white. Now the difference in lightness is much more subtle. Fieldsets Besides that, I also decided to add groups of elements (For those who know, think HTML <fieldset>). I noticed that many Windows 95 windows used this kind of separation. So I had to tinker with the same kind of element in Unity. See the result: I put fieldset one can everywhere through the various GUI of the game. With that, I really have the impression that it is very 90s. Read-only Grooved Fields Finally, I also added read-only graphical elements. This once again reinforces the Windows 95 theme. I also continued refactoring the colour management code of the GUI. In short, I think the GUI needed it! New Headwear secondly, following the brainstorming session last week, I managed to add a new piece of equipment: the party glasses. Party Glasses Focus: Future Funk Whoah! What a beautiful pair of funky glasses! With those, you can surely party all night long! Stats DEF -2 AGL +1 Description This is a pair of festive glasses. These use plastic shutters to filter some of the light out. It's really 80s looking too! With these glasses, the screen gets dimer by 25%. Also, with the right focus, a bonus of agility (+3) is acquired. Minor Updates Fixed a bug with the analog blur not showing up anymore Changed the appearance of the ice.  now it much more ice-like.
Fixed a bug that broke billboarding elements Fixed a bug where some mall windows wouldn't show up Fixed some wrongly coloured textures Added a new window groove texture. This replaces the typical button groove on some elements Added multiple new capacities related to the type of attacks Fixed a bug where the frosted frame that appears when the player gets the frozen status was no longer displayed. Refactor the frosted frame of the frozen status so that it uses instead a tri-colour map.  This effectively means that it now follows the level's colour pallette
Added several colour features that limit tint changes. For example, instead of getting a full black while darkening we get a brighter black, which is technically grey. This is especially useful with hard-light blending. Changed weapons viewport positions. Now they're less in the way
Next Week So what is planned next week is quite simple. I want to dive right into enemies. It's been neglected far enough and I think it's time to fix that.  Everything else comes second. It's that straight forward.  So that's about it!

jb-dev

jb-dev

Unity Weekly Updates #61 - Unity is acting up again

Hello there. Welcome to this week's Weekly Updates. So I was at a standstill for most of the week codewise... I recently discovered that a critical bug has been introduced in the latest version of Unity. No more values are transmitted during UnityEvents. This means that all scripts using the UnityEvent class no longer work. So I had to leave Unity closed until the bugfix goes into production. This means not a whole lot of stuff going on... So I used this time to brainstorm. I created a list of headwear and decided to add various types of attacks.  We can then add various bonuses for particular types of weapons. For example, sword do slash damage while the racket does blunt damage.  And that's about what I can say right now. This is really a bummer that Unity broke. I guess that's what I get for being a bleeding-edge fanatic... So that's about it. I'm still planning to get back to work as soon as Unity get their bugfix up. I'm planning to, if Unity stops being broken, focus on enemies next. Now that the UI is fully refactored that the next step on my checklist.

jb-dev

jb-dev

Unity Weekly Updates #60 - UI Refactored

Hey hello there! This week's Weekly Update is kinda small... One of my relative who is just starting college in CS wanted to make a somehow "official" discord server for his college. He needed a bit of help setting up an identity validation system through bots and decided to give him a hand. Thus I didn't have the time to fully work on the game. I did manage, however, to complete my UI refactoring. I've also managed to optimize some code a bit. The good news is that now that the bot is relatively stable next week will be a bit more substantial. I'm sorry if this update disappoints but it's within my nature to help others.  So to recap there's not a whole lot of new impactful changes. Most of them are under the hood. And as for next week, I'm planning on doing the same thing I've planned to previously do. So see you next week!

jb-dev

jb-dev

Unity Weekly Updates #59 - Rendering the raycasting...

And It's you again! Well, it's Saturday ... So it's time to publish a new blog post! This week has been full of small, subtle changes. Although no significant changes have been made, last week was a very busy one nevertheless! Loading phases First, let's start with arguably the most obvious change of them all. I decided to split the level generation into descriptive steps. This way, the player stays informed throughout the level generation process. Each time the game completes a step a GUI element gets updated. You can also specify a completion percentage. Some games (The Sims in particular) use this to increase the immersion in the game.  So I decided to follow suit and gave each step a very Vaporwave description. And here's how it looks: Minor Updates Big UI refactor Changed the UI colours. Now each element got its own colour scheme.
Refactored how most UI elements updates their colours: There are three types of update events: Atlas Updates, Window Updates and Container Updates. Elements that update themselves with atlas updates events waits until the current level index changes, after which colour updates happen. Elements that update themselves on window updates will instead wait until the window factory colours changes. Those elements can then fetch the standard window background colour as well as their standard header bar colour. Finally, elements that update themselves with a container update will wait until an abstract element (named "Container") changes its foreground and background colours.  Refactored how texts in windows change their colours by using Container Updates events Refactored how windows change their colours By using Window Updates event Refactored how buttons change their colours by using Atlas Updates events Refactored a whole bunch of UI modifying classes so that they instead extends actual UI classes. This means that there's a bunch of new custom editors everywhere. This includes localized text, localized buttons, atlas tinted buttons, tabs, an much much more. This means that there's a bunch of pointless Animators components to remove. Thus less component to update thus better performance. Refactored how tabs works The actual tab itself now extends the Unity's Toggle class TabGroups now also extends the ToggleGroup class in the same manner Much like Unity's base Toggle, the relationship between Tabs and TabGroups are now described in the Tab class instead of the TabGroup one. There's a new TabContent class that deals with transitioning between tab states and whatnot. Most of these new Tab classes also get updated with Container Updates events. Renamed most UI elements to use standardized names: Every UI elements start with Vapor and end with Component. Refactored how Notifications works Now, most notification inherits form each other, thus less duplicate code. Changed how the Notification Queue works Now some notifications are marked unique. If another unique notification is about to be emitted we instead refresh the existing one with a little wobble. This way we can greatly reduce the amount of notification in the queue. Refactored how Notification Emmiter works so that they work with the new system Tweaked notifications priorities a bit. Refactored how Tooltip works Refactored how hoverable components work Fixed a bug where the wrong CurrentCulture was being used A bunch of other miscellaneous refactors and optimizations Next Week I'm not entirely finished the UI refactoring. Thus, finishing it will be my priority for next week. After all this, I want to focus on the enemies and, above all, the bosses. And then comes your usual suspects. But most importantly, I really want to focus on optimizing the game. I plan to have some kind of demo presentable very soon. I'm really trying my best to profile the game and identify weak points to which optimizing is critical. It takes time to get through all this data, but I'm confident I can do it.

jb-dev

jb-dev

Unity Weekly Updates #58 - Building the level... please wait!

Well, look who's here! it's you again! And yes, this is your favourite Weekly Updates blog! This week has been quite busy in refactoring. I reworked a lot of code to make my title card much more responsive and fluid. It was a technical feat (at least for me) but the results are worth it! Aside from that there also a bit of bugfix among other things. But anyway, there's a lot to cover so let's get this thing started! Fluid Title Card First, I continued implementing my title card. The challenge here was to correctly identify the code that can be isolated and refactor it to make it run on a secondary thread. With a little code reading, I discovered two pieces of code that could be isolated: the generation part and the rendering part. Level Generation The level generation code being identified, I was able to isolate it and make it run on another thread. By reusing my threaded .mp3 file reading code it was rather easy. Next, I just changed the return value of my level generation function to an IEnumerator, thus effectively making it a coroutine. Afterwards, it was just a matter of adding a yield expression to wait for my thread to finish and that was it. Mesh Generation However, there was a problem. Unity is very strict in terms of multi-thread. This means no access to MeshFilters from secondary threads. To remedy this, I had to refactor my level rendering functions so that they also use coroutines. With a few well-placed yield statements well placed I was able to avoid freezing the title card significantly. Admittedly, this caused some other problems such as reflection probes that would render at the wrong time and whatnot but nothing impossible to fix. The Result With that big refactoring, the title card can continue to animate without any problems. Here's a short video showing this off: The Bank Room Second, I've also implemented the game's bank system. For those who forgot, players can encounter a bunch of special rooms during a run. Each special rooms got their own purpose. If players encounter some padlocked doors and have at least one key, they can open it to find out which type of special room it is. One of these special rooms is the bank. With this room, players can deposit or withdraw money into a savefile-persistent bank account. While depositing money is free of charge, withdrawing some, however, isn't. Each bank has its own transaction rate. Depending on the player's luck, the rate can be between 25% and 75% of the amount to withdraw. Each bank has two windows: a green one (deposit) and a red one (withdraw). Players just need to walk-up and interact with the window they want to use. A popup then appears. For the green window it this popup appears: The player only has to enter the amount to deposit. When the field changes the popup updates the total amount in the bank after the operation. And for the red windows, this one: Here, the player is asked for the amount to withdraw. The popup also specifies the banks' transaction rate. Then there is also the total amount remaining after the transaction. And that's about it for banks. Minor Updates Added a new Memphis texture to the title card blue strip General optimizations and code readability upgrade Many quality-of-life refactorings Added a bunch of helpful ToString functions. Fixed a bug where reflection probes weren't placed right Optimized and refactor a bunch of GUI elements Upgraded the reflection probe resolution. Next Week I'm planning to check if there's any other room that needs to be completed first. I'm also planning to work on my GUI. According to the profiler, most of the slowdowns appear to happen with the GUI so a good optimization is in order. Aside from that I also want to start implementing many other relics, even perhaps modelling some too. After all of this, it's brainstorming time! And finally, it's your usual suspects. So yeah, that's about it for this update! See you next week!

jb-dev

jb-dev

Unity Weekly Updates #57 - No Where Zone Act 1

Hey Hello! Wow, we're already Saturday! So it's time to post a new post in your favourite blog Weekly Updates! This week has been pretty full of GUIs with some bug fixes here and there too! So get ready for a lot of pictures and pretty videos! Let's get this thing going, shall we? Title Card So here is the star of this post: the title card! In games, title cards have several uses. First, they serve to properly introduce levels. Second, they are also used to entertain the player while the level is loading. In our case, they allow us to generate the level and do several other crucial things. To create this title card, I was greatly inspired by the ones seen in the Sonic The Hedgehog series. I won't lie: I'm a big fan of Sonic games despite how poorly made the latest games were. Most of its title cards are filled to the brim with some AESTHETIC designs. In particular, the title cards of Sonic The Hedgehog 2 on the Genesis are full of typical 90s designs. With their pointy geometric shapes and neon colours, they really scream "90s"! Over time, title cards have developed and refined themselves. Just take a look at Sonic Forces, the latest Sonic game. Its title cards are minimal yet pretty to look at. But, in particular, I was very inspired by the title card designs of Sonic Rush on the Nintendo DS. With their white background and their colourful shapes, they already have quite a bit of AESTHETICS from the get-go. So I tried to capture this style and just increase the level of Vaporwave. To do this, I tried to apply Memphis Design concepts and also use a Vaporwave colour palette. I also decided to use more "80s" geometric shapes, which means using a lot of unusual angles and shapes. With that, it gains a lot in dynamism, energy and spontaneity. I also picked up some elements of Sonic Rush, such as unique level seals. I've also added some original elements, such as some shapes where the level name scrolls horizontally on it. Each element of Memphis Design is also animated. This way, it tells the player that the game is still responsive. And finally, I also added title card transitions. They are an integral part of title cards. Having good transitions is critical to give off the right mood. If we mess that up then the consequences can be very serious... Here is a small video showing it off: Minor Updates Fixed a bug where the item picking component would select the furthest pickable instead of the closest. Optimized the item picking component to use triggers instead of ray casts. Next Week Next week will be a busy one. The splash screen isn't fully integrated into the level generation yet... Right now, the problem is that the level generation is on the main thread and this makes the game stutter... One of my goals will be to move the level generation to another thread. With this, the game will remain fluid and responsive. However, this won't be easy. First, we need to identify the isolatable processes. Then we have to move them to other threads without too much trouble. Although I already have code that works on isolated threads, I don't think it will be the same thing. The Unity Jobs system might be a good starting point... In short, a week of solid conception and refactoring!

jb-dev

jb-dev

Unity Weekly Updates #56 - What an Impact!

Hey! It's you! Well, make yourself at home, and enjoy this week's Weekly Updates! Last week was, though a bit on the light side, somehow busy. On the menu, a bunch of new sounds, two new relics, three new activated items and several bug fixes. So let's not hang around any longer and let's go! New Sounds First, there are many new sounds. Most of these sounds are related to weapons and attacks. Previously there was no sound when a melee attack is launched. There wasn't also any sound to show if the attack was successful or not. In short, the game was in serious need of new sounds. So I decided to add several sounds. When a melee weapon launches an attack, a sound can now be heard. When an attack lands, two types of sounds can be heard depending on its outcome. If blocked, a resonant sound is played. If not blocked, an impact sound is played instead. The sounds playback volume also varies depending on the damage level of the attack. So, the more critical an attack is, the louder the sound is played. I also decided to add a sound for a successful parade. It really helps to make everything very juicy! There are a bunch of different sounds ... Too much for this little post ... So, I made a video. Take a listen: New Relics Second, there are two new relics. With these new relics, there are now 26 functional relics in the game. But anyway, here they are: Ecco Jam Ah yes, a pot of pure echo! Really tasty on a piece of toast! Stats DEF - 15% Description A jar of blue jelly. Is sold as "100% pure echo jelly".   With this relic, players get a similar ability of the Gopnik outfit. Basically, it allows them to obtain some kind of berserk mode. When players took enough damage they enter a berserk mode, which gives them big stats bonuses. After a few seconds, the effect wears off. Maneki-Neko What a cute figurine! This cat looks very happy to be here! Stats LCK +10% Description A ceramic cat a holding a big koban coin.    According to Japanese culture, Maneki-Nekos are supposed to bring luck to their owner. With this relic, players receive a small bonus of luck. Also, they'll be more likely to find money in loot. New Activated Items Third, there are three new activable items. With these three new items, there are now 19 activated items in all. Here they are: Pierre Laroche This is a roc- sorry, didn't mean to offend it. This is Pierre Laroche. It's a proud rock, to say the least... Stats ATK +5% AGL -25% Description A small pebble. You can see white lines all around it. Realy pretty to look at!   With this activated item, players can now throw pebbles. These can either distract enemies but can also hurt them. Use it wisely! Toy Brick Be careful not to walk on that ... It's rather painful! Stats ATK +5% AGL -15% LCK -5% Description A small plastic brick. It's really well built.    With this activatable object, players now can lay down brick mines. Once thrown and still, the toy brick activates and becomes deadly. When someone passes nearby, it explodes. Use them well, otherwise, you're going to have a bad time. Watering Can Find your inner gardener with this beautiful 100% green watering can. Stats ATK -25% DEF -50% AGL -5% HP +10% Description A small green plastic watering can. Contains a little bit of water.    With this activated item, players can water many things. When watered, some plants might even drop useful loots. Watering fruit plants also regrow their fruits instantly. Enemies can also be watered and will get wet. Some enemies won't tolerate water at all and will get hurt. So be nice to our plant friends! You never know, they could even save yourself one day! Minor Updates Changed the Shaders to be able to offset a model's UV to change their colours. Changed how floor types work and marked ice floor as walkable. Changed the appearance of ice 
Fixed a bug where some in-game item would face the wrong way when placed on a pedestal. Fixed a bug where some important sounds wouldn't play at all Expanded the projectile return hitbox of the badminton racket. Changed how the defence VFX appears. This way, a fully blocked attack will also show the defence VFX. Changed the angle at which the shuttlecock was launched. Next Week For next week I plan to do some brainstorming to polish the levels a bit. Maybe a little overhaul of the map generation would be in order... Otherwise, I also plan to work on the 3D model of most relics. A bit of relic brainstorming would be great over! After that, it's your usual suspects... Another thing I'm thinking about is to eventually release a small playable demo to start collecting feedback and discover bugs. I could also set up a bug logging system so players can submit bug tickets. Ideally, I could even do it from the game itself but it would take a bit of brainstorming ... In short, a lot of brainstorming to do!

jb-dev

jb-dev

Unity Weekly Updates #55 - Let's play a game!

Welcome back! This is yet another new installment of your favourite Weekly Update blog! Last Saturday, I came back from my week of vacation and really got to recharge my batteries. However, I have a bit of difficulty gaining back my velocity, so this week was a bit light. Nevertheless, I was able to add two new items. Being on vacation helped me a lot to find inspiration, and in a way, these two items are the result... So without any further ado, here they are... New Weapon First, let's talk about weapons. During my vacations, I remembered the long summers of my childhood ... We played badminton on the gravel road in front of our RV... One of the main themes of Vaporwave being nostalgia, I always try to put a lot of it in most items. This way, I can evoke the main themes of Vaporwave: old technology, nostalgia and 80s-90s aesthetics. But anyway, this is the new weapon: the badminton racket. Badminton Racket Well, what do we have here? A badminton racket! Everyone loves badminton, especially on hot summer days. Stats LCK+1; ATK -2; DEF -1; AGL +2; Description A small badminton racket. It's light but not very dangerous. It mainly acts as a defensive weapon. With it, players can reflect projectile by swinging the racket at them. It's also quieter and is overall quicker than conventional weapons. New Relic Second, I also added a new relic. We'll stay in the badminton theme as it's a classic shuttlecock. Shuttlecock This little guy is essential to play badminton. Stats ATK -25% AGL +10% Description It is a standard feathered shuttlecock. With it, players can fly through the air, become less noisy and gain the ability to do badminton services. To execute one, simply drop a defence while holding a melee shield taking care not to parry. When a successful service is performed, a shuttlecock is launched forward, hitting any enemies in its path. Minor Updates Fixed a bug where a player in defence mode could negate status damage Next week As for next week, I feel that it will be another rather light week. I'm still stuck in vacation mode and have yet to reach my usual velocity. Otherwise, I'm gushing with energy! I think I can really start working on several big features in my backlog. A little brainstorming could be on the agenda too: I had a bunch of new ideas that came to me during my vacations. And after all that, it's the usual suspects. And with most of the activatable items and equipment fully modelled, I think the time has come to go back a bit in the code. In short, I'm slowly and surely rebooting the machine! So that's about it!

jb-dev

jb-dev

Unity Weekly Updates #54 - Use this!

Hey hello! This is your favourite Weekly Updates blog coming in early! Last week was quite light in workload. It's essentially another list of new activated items. Let's get this list started, shall we? The Portable tape player Focus: None A nice portable tape player. It even comes with a set of headphone Stats  None Description A portable tape player modelled after the mythical original Walkman. This item simply lets the player skip the currently played song. It's straight forward. The SADBOI Focus: Hardvapor What sad times we're living in... Stats AGL -10% Description A somehow abstract representation of depression. By using this item the player can, upon killing an enemy within a time limit, spread the wonderful gift of depression onto any other enemies nearby.  A depressed enemy will avoid combat and get away from any perceivable threats. The Hourglass Focus: Future Funk A rather archaic hourglass. You don't know why but you inherently hate it. Stats AGL -13% Description A quite simple hourglass directly taken form Windows 9x. With it, the player can temporarily slow down time.  The Secret Tape Focus: Vaporwave Whoa! An unreleased tape from your favourite artist! This must be worth millions! Stats  LCK -30% Description An audiotape. With it, the player can force the level to spawn a secret room somewhere. Quite handy if you're low on stuff... Neons Focus: Vaporwave Oh wow! Look at these bright neons! Be careful not to blind yourself with it! Stats AGL -16% Description A neon light. It spells "Wow" in a quite 80s way. With it, the player can blind any enemies looking straight at them. A blinded enemy won't be able to see very well. But be careful, they can still hear you! Spooky! Focus: Hardvapor What a morbid item! Really, who likes to hold onto these type of stuff? Stats HP -14% Description A miniature coffin. With it, the player gains the ability to drain health from dead enemies. Just kill them within the time limit and boom! More heath. Austerity Focus: Hardvapor Times are, like eggs, really hard. Sometimes you got to cut some unnecessary things out! Stats None Description A plain-looking pair of scissors. With it the player can cut an enemy in half, thus creating two smaller and weaker enemies.  Megaphone Focus: Hardvapor HEY! CAN YOU HEAR ME CLEARLY? Stats  HP -10% Description A standard megaphone. Using it makes a loud noise that can alert any nearby enemies of your position. It can even frenzy enemies sometimes. Antifreeze Focus: Vaporwave A container of antifreeze liquid. Whatever you do don't drink it... by yourself! Stats DEF -18% Description A container of antifreeze. Usually made for motorized vehicles, this can be quite handy IRL. With it, the player can make a temporary ally of a targeted enemy.  Next Week Well, next week is my vacation, so don't expect a whole lot.  I'm planning to make a bit of brainstorming here and there but nothing hard or anything... I don't plan ahead of time, so I'm not sure about the week after that. Right now my brain is in recess mode so yeah! So I'll see you in two weeks! ciao!

jb-dev

jb-dev

Unity Weekly Updates #53 - New! Exciting products!

Oh, hello there! And welcome to this weeks' Weekly Update! Last week was a bit intensive in 3D modelling, I must say... This post is actually a list of new items, so no Minor Updates this time... So let's this started! New Hand Wear Items First of all, I'm proud to say that I've finished most of the equipment on my brainstorming list! In total, I've got about 41 different pieces of equipment. I've managed to complete the whole hand wear part in a single sprint, so here they are: The Golden Ring Focus: Vaporwave A simple gold ring... Quite elegant if you ask me! Stats  LCK +1 ATK -1 Description A simple gold ring that comes in a beautiful little box. With the correct focus, the player can frenzy enemies while attacking. The Iron Gauntlets Focus: Hardvapor Some aesthetic looking gauntlets made of pure iron. Stats  DEF +3 ATK +1 AGL -2 Description A pair of funky iron gauntlets. Very sturdy. It's part of an ensemble. With the correct focus, it gives an additional defence bonus (+2) The Killer Glove Focus: Future Funk A rather plain looking single leather glove. The left glove is somehow missing...  With it, you feel that you can kill anyone! Stats  AGL +1 DEF  -1 Description A single leather glove. It may seem pretty normal, but looks can be deceiving... With the right focus, projectile-based weapons will have a faster reload time. Robot Arms Focus: Vaporwave A beautiful shiny pair of robotic prostheses. Much better than real arms if you ask me ... Stats  AGL +1 ATK +1 HP -10 Description A pair of robotic arms, with tongs for hands. Players will be able to launch powerful charged attacks with these. With the right focus, their attacks will also be faster. The Foam Finger Focus: Vaporwave A giant foam finger. With it, it's much easier to keep the moral! Go team Go! Stats  LCK +1 AGL -1 Description A giant foam finger. Usually, there's a "# 1" print on it, but oddly not this one... Nevertheless, being "# 3" can still be a feat!! With the correct focus, an additional luck bonus is given (+3). The Ammo Ring Focus: Future Funk A nice small golden ring with a mini-bullet on it. It gives up quite the impression! Stats  LCK -1 ATK -1 Description A small gold ring decorated with a miniature bullet. Comes in a pretty little box. With the correct focus, each bullet picked up will be doubled. The Clover Ring Focus: Vaporwave A small golden ring decorated with a four-leaf clover shaped emerald. Really pretty! Stats  LCK +5 Description It's a small golden ring decorated with a four-leaf clover shaped emerald. Essentially a luck booster, much like the rabbit's foot. With the correct focus, players will also have a better chance of finding money in loot. The Boxing Gloves Focus: Hardvapor A pair of boxing gloves. These can pack quite a punch! Stats  ATK +5 DEF +1 Description A standard pair of boxing gloves. When worn, most ranged attacks will deal much less damage. Conversely, with the correct focus, most melee attacks will be much more effective. New Chest Wear Item Second, I also finished the chest wear items. There was only one left, so here it is. The Pilot Outfit Focus: Future Funk A formal pilot's outfit. It even has two different patches. It looks pretty official too! Stats  AGL +1 LCK +1 Description A standard one-piece pilot outfit. With the correct focus, players can hover in the air after a jump. New Activatable Items And thirdly, I've also added three new activated items. Here they are! The Mini Mall Focus: None A miniature Big Mall. A perfect replica. It's so realistic that it feels like you can actually shop there. Stats  AGL - 25% LCK -10% Description A pocket-sized Big Mall. With this, players can instantly visit a 6-item Big Mall by paying an entry fee. They're then transported to a mall in a pocket dimension. After completing their purchases, players only have to go through the mall's door to return to where they left off. The malls' item selection changes for each level and does not use any item pools. However, players using this item will have to pay more in all malls and will also suffer a chance penalty, so choose wisely! The Super Sole Focus: Hardvapor A removable sole. Surprisingly robust and curiously comfortable. With it, you feel quite powerful! Stats  AGL - 25% LCK -10% Description A removable sole. With this activated item, players can kick their enemies which projects them far away. Very handy to push back hoards of enemies or even to use the environment to defeat them. With this sole, players can also tackle their enemies.  There is even a chance to create a shock wave when landing. The Glitch Focus: None It's a .̴̮̜͌̓ ̶͉̠̳̾|̵͖͂͂ ̸͖̹̝̎̓°̶̖͐̌͝ͅ ̷̛͚̏͆é̶̞̜̅ ̸̹̯͐. It̵͕͉̍'̵̞̬̣̇̂s̸̭̆͌̋ real̸̢̐͠ĺ̴̫̀̌.̷͍̬̆̊́y̸̛̜ |̵̞̯͆¼̷̥͇̻̽v̶̧͖̈́̒מ̴̧̈́͛͗ ᵃ̵̨̨̗̊ⁿ̸̺͋̽͘ᵈ̷̉̈́ͅ   ᴵ̶̖̝̃̓̐'̴̢͑̕ᴹ̴̻͇̆̈́͠ ̴̢̀̊͝ᴺ̴͙̊̚͜ᴼ̷̫͎̏̔̇ᵀ̵̰̕ ̵̮͙̩̋ᴼ̶̫͋͜ᴷ̸̔ͅ. Stats  ?̶̱̬̻̪̄͗?̴̙̊̅́͆̿?̵̟̟͍̞̎̃̚͝ Description An aberration of unknown origin. An error of the universe. The most reckless players will probably not hesitate to pick up this item. The stats of these players will be changed completely randomly, regardless of their chance levels. With this, players can re-roll every item within their reach. It can also reflect any status back to its sender. It's really useful, but are you game enough and try your luck? Next Week I'm planning to go on vacation for about a week next Friday, so things are going to be a bit slower over the next week. I mainly plan to continue some activated items and maybe some relics too. So keep in mind that the next post will come a little earlier next week! I am going to take this vacation time to refill my batteries and perhaps also do some brainstorming. I don't plan to be near a computer (outside my phone), so yeah... After that, I plan to revise/add some bosses, but only after my vacations: starting something so big just before leaving can be surprisingly dangerous in the long run ... So yeah! That's about it.

jb-dev

jb-dev

Unity Weekly Updates #52 - Setting the odds

Yo! what's up? This is your favourite Weekly Updates blog! This week was really intense. It was one of these weeks that actually gave me a headache, which is quite the feat to be really honest. I was also able to add new pieces of equipment too so without any further ados let's get right to it The Seeds First up, I've been cooking this one for quite a while. With the game being a roguelike, most of its levels are procedurally generated. One perk of this is to always have different levels, which in turns can greatly augment the lifetime of any game.  Procedural generation is kinda like a guided RNG. We simply use random numbers to decide everything in the game. However, because we're using a computer which is deterministic our RNG will inherently be deterministic too. Thus, in computer programs (including video games) we instead use a PRNG or a pseudorandom number generator.  PRNG uses a variety of parameters to generate seamlessly random numbers. Usually, this takes the form of a seed. A seed is usually a unique int which is passed to the PRNG to generate a different set of numbers altogether. This effectively means that a PRNG seeded with a specific seed will always give out the same numbers. This is particularly useful when debugging or testing code. In video games like a roguelike, seeds can also be useful as a way to share unique games that can be quite fun to play. Usually, because people don't like to write down numbers seeds are usually given as a random string of characters. This way people can easily share their favourite seed around without any hassle. As you can see this can be quite useful. However, it comes with a caveat. PRNGs are deterministic generators, and as such by using a given seed it will always give out the same numbers every time. In case of procedural generation, this can be quite the hassle to deal with. Effectively, every action involving RNG that is taken will affect the next one. This can mean that opening a chest can radically change the layout of the next level.  This kinda defeats the purpose of a shareable seed. While this might be out of our control we can try to mitigate its effect by being smart. PRNG Isolations One way to help with this issue is to isolate most PRNG calls as much as possible. In order to achieve this, we simply need to take into account the fundamental nature of a PRNG. We know that with a given seed every number will be the same as long as they are requested at the same order every time. So now that we know this we simply need to make sure that the most probable PRNG calls are done first. But how can we do this? After all, procedural generation is, well, procedural. Even if we prioritize the most probable calls the player still need to take action in order to continue the generation.  This problem can also be fixed with some tools. First up we don't really need to pre-generate every level and holding it in memory until it's needed. Instead, we must always remember the nature of PRNG and their relation with their seeds.  With this in mind, the answer is quite simple: we'll simply use the main seed to generate more seeds! We can generate as many seeds as we want too! So let's generate a seed for every level from the get-go. This way we can use those seeds when we're ready to generate a level. Thus, every level generation is isolated. Now a player's action won't have any radical incident on the next level. Problem solved. But I hear you say: It's nice to have seeds and all, but how can you effectively save and load seeds? Well, in my case, Unity got me covered. Unity's Random class have a special State property which is easily swappable. In essence, it's like taking a snapshot of the RNG. This is quite useful, because not only is it safer than handling seeds but we can even return to a previous state i.e. return to an earlier random value and continue from there. In other game engines, a similar functionality should be available. So keep searching, it's there somewhere! So to recap now we properly isolated each of our procedurally generated levels by generating sub-seeds for each level. But this doesn't stop there... Go Beyond! Up until now, everything I've said was technically already there. Each of my levels already had uniquely generated seed with isolated states. This means that everything was pretty much always the same no matter the player's previous actions. However, this didn't apply to loot. So, to deal with this I've decided to extend my sub-seed generation to the individual room of each level. By doing this I was isolating each room form each other and subsequently each loot by each other. Now I can properly say that the game is as much replicable as it could be no matter the player's actions. Item Pools Next up, I've also implemented a new Item Pool system. Previously when players encounter an item in-game they would, depending on their luck stat either pieces of equipment, relics or a certain amount of consumable based on their needs.  Basically, there was no specific type of relics to spawn in specific contexts. In the Binding of Isaac, the game uses different item pools to spawn for different contexts. For example, there's a boss item pool used for rewards after beating a boss. This was a clever way for the game to balance the run.  This also meant that players would rarely find the same item twice as once an item spawns it gets removed from the pool. A pretty good solution if you ask me. So after really thinking with the PRNG, I've also decided to add different item pools. In my case, each context will give different types of relics. This means that in order to get the full experience the player needs to find hidden rooms and get unique relics that can only be found there. These item pools contain both relic and activatable items. Each pool is then subdivided into three sub-pools, one for each level of rarity.  When a sub-pool is emptied we then pick items from the previous sub-pool. Once all sub-pools are emptied we then pick from a default pool and if it too is empty then we spawn a default fallback relic, much like how it's done in the Binding of Isaac.  With this in place, it's only a matter of balancing them out to get better more rewardable gameplay.  A Default Relic With this, I still needed to create a cheap underpowered relic which effect would easily stack up.  I've decided that a simple HP up would be necessary, so here it is: the Golden Heart: Golden Heart Stats HP : + 1% Description This is a solid gold heart. It's made of solid gold. With it, the player gets a very small HP bonus along with a slim better chance of spawning hearts from loot. As I said, this will be our default relic. When the player mainly sees Golden Hearts as loot then it means that the given item pool was emptied. You can also see it normally too as it is part of a normal item pool, so don't worry about it! New Chest Wear Items Finally, I'm happy to say that I've also been able to add 6 new chest wear items: The Tuxedo Focus: Vaporwave A baby blue tuxedo. This is really classy. Stats  ATK +1 DEF -2 Description This is a blue tuxedo. With it, the player gains a discount on mall items. With the correct focus, the player also gains a +4 defence bonus. The Jumpsuit Focus: Vaporwave A nice tight jumpsuit. Makes you feel invincible. Stats  AGL +3 DEF -2 Description A yellow jumpsuit. With it, the player hits harder with melee weapons and can double jump. With the correct focus, the player will even gain a +2 luck bonus The Toga Focus: Vaporwave A simple Toga. This is really comfy. Stats  AGL +2 HP +5 Description A simple toga. With it, players can resist status effects. With the correct focus, they will also earn an additional discount at malls. The Iron Armor Focus: Hardvapor A really heavy shiny iron armour. I like its style. Stats DEF +5 ATK +2 AGL -5 Description Aesthetic body armour made of solid iron. It's part of an ensemble. While wearing it the player will make louder sounds. With the correct focus, players can reflect statuses back. The Football Gear Focus: Hardvapor A set of American football gear. Comes with a jersey and a chest plate. Stats DEF +2 ATK +1 Description A typical display of American football gear. With the correct focus, the player can hurt enemies by charging at them. The Elegant Robe Focus: Vaporwave A really pretty robe. It's shiny and looks quite luxurious. Stats DEF -2 ATK -1 LCK +5 Description An elegant silk dress. With the correct focus, players can make enemies frenzied while attacking them. Minor Updates Fixed a bug where the attack speed wouldn't get changed at all. Next week So I'm mainly going to continue with the pieces of equipment. I'm almost done with chest wear and will be starting gloves, rings and other hand wear items soon. After this is done I'm going to get right into bosses. Maybe edit the one already there or adding another one I'm not sure. After all of this, it's your usual suspect.  So yeah!

jb-dev

jb-dev

Unity Weekly Updates #51 - Of Quality

Hey! Guess what time is it? That's right! Time for another Weekly Update! This week was a bit heavy, so let's get right to it! Item Qualities First, let's talk about the quality level. In the game, you will find equipment to equip. You can find them after finishing a room, in malls or in other types of special rooms. If all these pieces of equipment were identical it would get boring very quickly. So, to add a little spice, I decided to add an item quality system. Basically, each piece of equipment can have a different level of quality which affects, among other things, its stats and price. These are actually multiplied by a multiplier that is randomly picked from a specific range, which is chosen according to their level of quality, thus making each item feel unique. Currently, there are 5 levels of quality: Cheap: The lowest quality. They usually have between 0.5x and 1x their original stats.  Common: The normal quality, which is between 1x and 2x the original stats. Good: Slightly better than Common. Their multipliers are between 2x and 3x; Rare: The highest quality possible for common items. Their multipliers lay between 3x and 4x. Special: This is a special case. In other RPGs, this would be where you'll find unique "named items". Usually comes with special stats. To choose a quality level, we'll simply make a weighted dice roll with a bell curve. Thus, the luckier the player is the closer the average of this curve approaches the "Rare" level. Once a quality level is chosen we then decide the multiplier of the element with the player's luck stat. This means that the luckier the player is the higher the multiplier will get. Some playable characters have specific equipment, each with its own level of quality. Usually, their equipment respects the character's theme. Of course, you can replace equipment during the run too.  This is especially true if you can grab a Special piece of equipment. Recognizing The Quality of an Item In order to find the quality level of a given piece of equipment, we just need to look at its tooltip.  In the upper right corner, there is an ideogram that represents the item's quality level. Here's the list of possible ideograms: 廉 (Ren) which loosely translate to "cheap", "inexpensive" or "bargain". This represents the Cheap level and is usually displayed in a reddish tint. 並 (Nami) which translate to "common", "average" or "medium". This is the Common level and is usually displayed in black (or white if the background is a bit dark). 良 (Ryō) which translate to "Good". This is the Good level and is displayed in a greenish tint. 稀 (Mare) which translate to "rare", "uncommon" or "unusual". This is the Rare level and is usually displayed in a blueish tint. 特 (Toku) which translate to "special", "exceptional" or "particular". This is the Special level and is usually displayed in a yellowish tint. This tooltip appears whenever a collectible item is near. Players can also view any equipment at any time from the pause menu to see their level of quality too. Just hover over an equipment slot with the mouse and the same tooltip will appear. You can also check the equipment of a playable character from the character selection screen: there are equipment slots that can be flown over. Overall that's about it for item qualities. While playing keep an eye open for these, you'll never know... New Items Next, there are new pieces of equipment, 7 to be exact. New Chest Wear Items First, there are a few new chest equipment. This is usually where the big stats are. There are 5 new chest wear items. The Hoodie A nice cozy hoodie. Focus: Vaporwave Stats DEF -1 VITA -1 Description A nice hoodie. Very flashy in colours and very Aesthetic too. It doesn't provide with any big bonuses, but it makes up for it with some fancy passive capacities. Mainly Inspired by this big boy right here: Whit the correct focus, players are able to make themselves invisible. Just stand still for a couple of seconds and boom! undetectable.  The Bullet-proof Jacket A sturdy bullet-proof jacket. Focus: Hardvapor Stats DEF +2 AGL -3 Description A well built bullet-proof jacket. With it, the player gets a bit of defence. Projectile damages are also reduced, while melee damages are increased.    Whit the correct focus, players get to have a slight Agility buff (+1). The Gopnik Outfit A sports suit with some vertical stripes. Perfect for your Gopnik needs. Focus: Vaporwave Stats LCK -1 DEF -1 AGL +3 Description A sport suit. It's typically worn by Gopniks in post-soviet countries. With the right focus, players can automatically go berserk. Basically, an invisible meter fills up each time the player takes damage. Once it's full, the player goes crazy and receives a huge attack bonus for a while.  The Fitness Outfit A light fitness outfit. Focus: Future Funk Stats DEF -2 AGL +1 VITA +10 Description A lightweight fitness outfit, complete with big fluffy leg warmers, light tank top and a pair of shorts. It screams the 80s just by itself. With this, the player gets a huge amount of health. Whit the correct focus, an additional Agility bonus (+2) is gained. The Wet Suit A wet suit. Comes with two air tanks and a breathing mask. Focus: Hardvapor Stats LCK -2 ATK +1 AGL -3 Description A typical wet suit. It comes with some deep-diving gear too. Wearing it will make the player stays wet longer.  With the right focus, players can regenerate their health while wet. New Shoes Second, there are two new shoes: Light-Up Shoes Shoes that lights up when you walk. Focus: Future Funk Stats LCK -1 DEF +1 AGL +1 Description A pair of shoes with a sole that lights up. Really basic stats. With the right focus, each step the player takes can stun nearby enemies. Water Slippers Water slippers. Useful to protect your feet from sharp underwater rocks. Focus: Hardvapor Stats DEF -1 Description These are called "water slippers". IRL, you can use it whenever you go swimming at pebble beaches or any other type of rugged underwater terrain. In the game, wearing these will make the player stays wet longer.  With the right focus, a small defence bonus is added (+3). Minor Updates Changed the appearance of item tooltip Previously the equipment type was appended to the equipment's name. Now the type of equipment appears on its own line, below the name of the equipment. Fixed a bug where enemies would ignore bumper's trigger zone, thus killing themselves in the process. Fixed a bug causing focus specific passive capacities and stats bonuses to not activate when the required focus would be meant. Fixed a bug where the attack speed was ignored for players. Fixed some bugs with the Paralysed status not paralyzing enemies. Made paralyzed enemies with animator pause their animation. Small reactors, particularly in the GUI. Tweaked some item scales. Fixed a bug where some equipment items would face the wrong way when spawned. Fixed some bugs with navmesh building. Next week So right now I'm adding a bunch of pieces of equipment, for which the code is somehow already coded. It's just a matter of modelling these out. After which it's boss time. I want to really polish these and maybe add another one just for variety. Then I might add a few new enemies. I might even add an NPC or two if I have the time. After everything, it's the usual suspect (Rooms, capacities, props, etc.).  So yeah, that's about it. I think it's enough for a week!

jb-dev

jb-dev

Unity Weekly Updates #50 - Putting on the Bling-Bling

Hello! This is yet again your favourite Weekly Updates blog coming to you live! This week was intense and full of new stuff so without further ados let's dive right into it! New Pieces of Equipment First, let's deal with the largest bit. Basically, there are a bunch of new pieces of equipment, 15 to be exact. In total, there are 10 new neckwears pieces and 5 new footwear pieces. One new thing about these pieces of equipment is that most of those newly added items got focus alignments. This means that if the player has the right type of focus then the piece of equipment will give additional bonuses. The New Neckwear Pieces First up, let's get right into the neckwear items. In short, neckwear items are items that usually give passive capacities. Some of them can give a bit of stats bonuses but essentially they give capacities.  There are 10 of them so let's get right to it! The Blingers Focus: none A gold $" sign attached to a solid gold chain. Stats LCK -2 VITA -5 Description It's all solid gold. Usually worn by billionaires IRL but this is a video game. While wearing this it'll be more likely to find money in loots. The Bullet Focus: Future Funk A 9mm bullet casing hanging on a string. Stats ATK +1 LCK +1 VITA -2 Description A bullet on a string, what else is there to say? If the player's focus is of Future Funk then the player will be more likely to find bullets in loot if the player is holding a gun. The Tie Focus: Vaporwave A quite simple tie. Stats ATK +1 LCK +1 VITA -2 Description A nice plain-looking large tie. Easily the best choice for men who wanna look clean. With the appropriate focus, an additional discount is added to malls. The Shark Tooth Focus: Hardvapor A great white shark tooth hanging on a string. Stats ATK +2 DEF +2 LCK -2 Description This is quite the attire, especially for surfers. With proper focus, the player can resist a whole lot more to melee attacks. The Arrowhead Focus: Future Funk An arrowhead hanging on a string. Stats ATK -1 DEF -1 Description It's just an ordinary arrowhead placed on a string. With the proper focus players with a bow has a chance to shoot three arrows at once. The Sadboy Medallion  Focus: Vaporwave A medallion with a sad emoji on it. Stats ATK -2 DEF -2 LCK +1 VITA +5 Description A simple medallion with a sad smiley on it, With the proper focus, the player can scare-off enemies when attacking. The Rabbit's Foot Focus: Future Funk A rabbit foot hanging on a string. Stats LCK +5 VITA -2 Description A real rabbit foot. A bit violent for a lucky charm if you ask me... With the proper focus, the player gains the ability to double jump. The Fire Medallion Focus: Hardvapor A medallion with a flame on it. Stats DEF +1 ATK +5 Description A quite simple medallion with an engraved on it. While wearing this the player becomes water sensitive and will get damaged while wet. With the proper focus, it will give out fire resistance. The Pearl Necklace Focus: Vaporwave A big necklace made up of a bunch of big pearls. Stats DEF -2 ATK -2 LCK +1 Description A big and gorgeous pearl necklace made of real pearls. With the proper focus, players can make enemies frenzied while attacking. The Bow Tie Focus: Future Funk A quite simple small bow tie. Stats LCK +2 DEF -2 Description A small plain-looking bow tie. With the proper focus, it can make players hover in the air. So that's it for neckwear items. As with any other pieces of equipment the player can only wear one at a time. If they wanna have another they have to swap. The New Footwears Secondly, let's talk about footwear. There already was footwear in the game before, but now it's not alone anymore! There are 5 new types of footwear items, each with their own focus, capacities and stats. The Flip Flops Focus: Vaporwave Some generic flip flops. Stats AGL +2 LCK -1 Description A pair of flip flops. That type of footwear is usually quite noisy, but with the proper focus, you can make them a bit less noisy. The Slippers Focus: Vaporwave Some nice and comfy slippers. Stats LCK -1 Description A pair of slippers. With these on your steps will be completely silent. With the proper focus, you'll even get a +3 bonus in agility. The Iron Boots Focus: Hardvapor Some aesthetic iron boots. Stats AGL -2 DEF +2 Description A pair of funky iron boots. These are really heavy, and in turns will make you jump a whole lot less high while making a whole lot of noise. With the proper focus, you'll get the capacity to stomp out your enemies on their head while gaining another +2 bonus in defence. The Rolling Shoes Focus: Future Funk A pair of shoes with detachable wheels embedded in the heel.  Stats AGL +5 Description Technically also called Heelys, these are kinda like a hybrid shoe between roller skates and skate shoes. While these can give a bit of speed they are also a bit slippery. With the proper focus, their slipperiness gets greatly reduced and will even give an additional +1 bonus to agility. The Socks Focus: Vaporwave A pair of socks. Stats AGL +3 LCK -2 Description These are rather plain-looking socks. While they do reduce noises, they're less effective than slippers. It makes up for it with added speed, and with the proper focus it even gives out greater speed! And that's about it for footwear for now. New Foods Next, there are two new types of food. Milk carton Remember kids, drink your milk! Stats LCK -12% ATK +75% DEF +65% VITA +5% Description A standard 2% carton of milk. Drinking milk is always a good idea, even if you're already grown up! Blue Deluxe This is some weird-looking blue waffles right here... Stats LCK +85% ATK +15% DEF -50% AGL +5% VITA -10% Description While certainly looking weirder than the original Double Delux, the Blue Delux makes it up by being slightly more than its golden counterpart. Minor Updates Made the bumper a bit less dry: Now it explodes in pieces when killed! Completely refactored the loot spawning algorithm. We used to select which type of loot to spawn by using a series of if. Basically, we simply check how much the player needs a specific type of consumable and select the one it needs... ... That is if he's lucky. Otherwise, we do the opposite, which is to check which type of consumable the player need the least and select that one. This wasn't compatible with the previous system. If the player was unlucky and didn't need anything then the system would always stop at the first if, meaning that an unlucky player wouldn't get to see the colour of money at all and instead would get a bunch of hearts. This created an unwanted negative feedback loop. Now I'm using a probability system as described here. Each type of collectable gets a unique spawn probability based on how much a player needs it. We then get a random value and see on which side it landed. This means that even if the player was unlucky they would still be able to loot money. With the new probability system, I was even able to affect the spawning rate of each type of collectable individually, which was really useful to implement some of the newest pieces of equipment. Next week I'm really decided to add a bunch of pieces of equipment in the game. I'm also decided to really start implementing the focus system fully.  After all of this is done (or done enough) I'll probably be going to touch-up bosses. I also want to add one or two new types of enemies. After all this, it's your usual suspects.  So yeah...

jb-dev

jb-dev

Unity Weekly Updates #49 - Bumping Around

Hi there! Welcome to this week's Weekly Updates blog! Last week was quite interesting, to say the least. Early on it was E3 and not a whole lot of work was going on. Nevertheless, I've still managed to cook up something new and kind of exciting if I say so myself. So without further ados let's get right to it! Audio Updates First up, let's finish up the smallest new thing first. I was able to remix some of my sound effects. Previously it was kinda chaotic, like in the far west or something. Now I've gone through most of my audio and fixed it all. For example, some crucial sound used to be culled while lesser important one kept playing. It was really weird, but nothing a good balancing can't fix.  Another big improvement was that now there's a compressor on the SFX channel. This effectively meant that now if it gets too loud then the overall volume will get reduced accordingly. It really works wonders when one sound is played multiple times at the same time. Using a compressor can also better simulate a loud sound without any clipping occurring. It quite a powerful tool, but when used badly it can actually muffle every sound. This means that a lot of tweaking is in order and while I don't claim that it's perfect it's getting there surely. Speaking of volume, I've also tweaked my volume sliders too! According to this blog, the AudioMixer volume is actually has a logarithmic scale. This means that if we tried to plug it onto a slider we'll get a really sensitive slider with the extremes being almost useless.  To fix this I've decided to follow its advice and instead code my sliders so that the send value will be translated to a logarithmic scale. With this fix, those sliders will properly scale and be a bit less sensitive. That's about it for audio updates. The Bumper Next, it's all about the star of the show. I've decided that the game wasn't really as challenging as it could be. I've then added a new type of entities that I call "environmental enemies". These enemies won't count as real enemies. This means that the player doesn't need to clear them all to get to the next room. This doesn't mean, however, that they aren't dangerous at all. They can, in fact, be very lethal to the most careless players. But which enemy will be the first to enter this private club? Enters the Bumper. Bumpers are abstract motorized mechanical contraptions. As their name suggests they really like to bump things around. Basically, they behave just like a Legend Of Zelda Blade Trap. This means that if an entity gets in their way they activate and chase the trapped entity by closing in quickly on them, destroying any breakable props along the way. Unlike the Blade Trap, Bumpers can't really discern players for enemies and will attack both. They also don't have a resting position and will instead move between two points. After moving they will idle around until another entity crosses their path, thus making damages on contact. Another thing to note is that Bumpers are actually destroyable. Once a bumper stops the button on top of their head will become lit. If the player jumps on it while the button is fully lit then this will trigger the bumper's auto-destruction sequence. But, there's a catch: the button is deactivated while the bumper is moving. This requires timing and precision, as missing the target can mean getting a full-blown hit. Some rooms will have Bumpers while some won't. When bumpers are spawned they will always be laid out in a given pattern. Good players will recognize these patterns and use them to their advantage. Bumpers have motors which can give their position away. When they move the motor will change its pitch, so if you hear a high pitch motor noise then it means to get out of here fast. They also rest on a rail, which can easily be seen and avoided by players. As long as the player looks for these signs they'll be safe.  There are (or will be) a variety of types of Bumpers. As of right now, there are only 4. so let's get through them one by one... Spiked Bumpers This is your typical Bumper. It got normal damages and will hurt quite a bit. A thing to note is that Spiked Bumpers will hurt whenever they move or not, so try to keep them away from them! Electric Bumpers This one is special. Instead of spikes, it got some kind of electric probes all around its body.  You can actually see the sparks coming out of this guy, so be careful.  Electric Bumpers will induce electric damages, which in turns will cause paralysis. A paralyzed entity will not be able to move at all for a given amount of time, which means that this can leave entities vulnerable to enemy attacks. Be extremely careful while these Bumpers are around, as one bad move can really mess-up your run! Poison Bumpers This Bumper uses some kind of toxic gas to bump entities with. While the gas itself doesn't do any damage it will still make any entities poison-struck. When poisoned, entities will take damage for a given amount of time, after which it will dissipate. It will never kill but can leave entities weak and extremely vulnerable. Keep an eye on these, especially while there are a bunch of enemies around... Flaming Bumpers Finally, there's the Flaming Bumpers. These guys will emit red hot flames. Needless to say that this is bad news for anyone involved. Unlike the Poison Bumper, the Flaming Bumper does deals damage. It will also make entities catch up in flames.  A burning entity will take damages over a set period of time, after which the fire will extinguish itself. Unlike poison, this WILL kill. This is not to be taken lightly. Fortunately, entities can extinguish themselves with water. They can even protect themselves by being wet. That's about it for bumpers. Right now there's still a bit of polishing to do but the main gist is there. I still need to polish up the auto-destruction part and maybe add some new types as well. I might also balance their damage output, speed or even trigger zone in the future. Here's a quick video showing off Bumpers in action: Minor Updates Fixed a bug with island room layout not being properly built; Fixed some bugs where some paralyzed entities would still move; Made the statue boss more visible; Added some noises to some floor, mainly the lava floor for now. This works by selecting a random vert and playing given sound at it; For example, some lava bubbles can sometimes be heard from lava pools. Next Week So next week I'm really going to continue with the bumpers. Now that E3 is done I'll be really able to finish them up. Then I'm going to implement a better system to spawn enemies. Right now they kinda all spawn at the middle of the room, which isn't really good at all. After that, It's back with enemies. I'm probably also am going to add a few neutral NPCs too, but that's too early to say. Then, I'm going to really implement some new pieces of equipment, capacities and perhaps even some activatable items. And finally, it's probably either going to be bosses or special rooms. But at that point, it's really not set in stone. And that about it really!

jb-dev

jb-dev

Unity Weekly Updates #48 - Popping In Unannounced

Hey, what's up? This is your favourite Weekly Updates blog coming to you live! Straight up, this week was really slow... Some big changes are coming soon in my life, so things got a bit slower... I was still able to cook something up and while I'm trying to keep the pace going I might not be able to keep up. Only time will tell... But anyway, let's get right to it! The Boss First, let's talk about bosses. I was finally able to check up and fix the boss behaviour tree. Turns out that my bug was due to old code that didn't get refactored properly. So kids, remember to refactor!  With that, I was able to fully fix my boss and while it still needs to get upgraded it's now in a working state.  Take a look : The fix I've made to the boss also applied to other enemies, and while they aren't perfect it's a big step up from before. Enemy Spawner Secondly, I've also added a bit of fancy effect with enemies spawning. I've previously talked about redesigning the progression of the game. It used to work like this: once a room is cleared the next one will open and enable all enemies at once. This meant that technically speaking if the enemies somehow spotted you form next room (either they spotted you or heard you) then they would simply get to you while you just stay where you at. Not really fun if you ask me. Especially if you're abusing the room layout to your advantage. Now things are a bit different. While the next room still opens up after clearing the current room enemies won't spawn until you walk in. This meant that you actually need to move to the next room instead of the room moving to you. Not only that, but there's now a nice spawning particle with it too.  And it doesn't stop there either! Once an enemy dies and drops loot then that loot is also spawned with a pretty particle effect too! Take a look : I'm not sure about the design but the system is there and is fully working. Statuses Resistance Finally, I've added a status resistance system. Previously, entities could only have a general status resistance. This meant that they could only resist to status changes in general without having any kind of affinity with one. Now entities can have specific absolute status resistances. This effectively means that an entity can be unaffected by certain statuses. For example, a HotBurger can't catch fire anymore. This isn't restricted to enemies either. I could technically give status resistance to players too! Minor Updates Fixed a bug where events of blended animations would be launched multiple time at once. In case of steps then it would play the same sound multiple time thus making it seems louder than it actually was. Fixed a bug where the player collider was excluded from most raycast. Fixed a bug where AIs would look at the wrong position when looking at a target Extended the Wetness system. Essentially, when an entity is submerged in water it becomes wet. Wet entities are resistant to burns and burning entities can even extinguish themselves with water. It used to work only on contact, so you couldn't wet yourself preemptively. Now once an entity gets wet they'll stay wet for a bit of time, after which it gets dried up. Also, some entities can also get harmed while wet. For example, a HotBurger will get hurt if it gets submerged in water. Fixed a bug where AI would have too sensitive ears. Next week I'm continuing with the whole AI refactor and game flow redesign. Right now I'm also working on some kind of environmental enemy that can really punish players if they're not careful enough. Aside from that, I've also brainstormed about some pieces of equipment. This means that I'm really ready to start modelling and coding some new pieces of equipment too! After all of this, it's your usual suspect as usual... However, E3 is starting soon, so I'm also going to watch a couple of press conferences. This means that next week is going to be also slow (at least for the first couple of days). So what all that, I'm gonna wish you all a happy E3! See you next week... Same time same day!

jb-dev

jb-dev

Unity Weekly Updates #47 - Now I can see clearer

Well well well, hello there! And welcome to this new Weekly Update post! I'm going to be really frank with you this week was primarily a debugging one. The main gist was to really remove bugs in AI. That's about it.  I still have a bit of stuff to talk about so let's get right to it! Game Balancing First up I tried to start really balancing the game. This effectively means changing the stats, controller parameters among many other things. I've also tried to really change how each type of enemy feels with it. And it's not that simple too. You really need to make the stats changes really perceivable and not just rational. This is something I've learned by reading this book. It's not really important that you have a luck stat of 5: if you rarely get any luck at all it could have well been of 0. This is really why playing the game can be really useful! Challenges Next up  I've also tried to add a bit of challenge to the game. Previously the number of enemies in a room was capped to 3. While this might be a good idea for the easier difficulty it wouldn't hurt to crank it up a tad bit. I've decided to raise it up to 7... This really was night and day! With 7 enemies things quickly got more interesting. You really need to juggle with attacking and trying not to die as fast as you can.  With 5 (as of now) types of enemies to fight this isn't as clear as it seems... Each enemy type needs to be approached with different tactics so it can quickly become quite challenging if you're not careful... AIs Finally, there's a bunch of new stuff with enemies themselves. Reworked Animations First, the default enemy got a big animation rework. I tried to really add a bit of life to its movements. This was quite the challenge, as I'm not really qualified in animation at all.  Nevertheless I'm still trying things out, and certainly, the results aren't half bad. AI fixes Next, I've been able to continue to fix bugs in my behaviour trees. As I said last week this particular part is quite hard to debug. It really requires a bit of brainstorming and to really take a piece of paper and plan ahead.  With all this, I was able to further define my behaviour trees and therefore make the AI a bit less dumb and a bit less chaotic.  I was even able to make them properly communicate with each other at the proper time so much so that the enemies can gang up and pursuit the player together, all while attacking and behaving their own personalized way. Take a look at this nice video of an encounter: It's not perfect by any means but I'm slowly getting there! Minor Updates Refactored my entity spawning mechanic so that its taken care of by an external class. This is perhaps a teaser to what I'm planning next... Next Week So next week is all going to be about that boss I keep talking about. I've already started to clean it up and even though I'm having a bit of difficulty I'm sure it's nothing impossible to fix. Other than that I'm also trying to really shake up the game flow of a level. I'm actually noticing more and more than rather the player goes to the next room it seems that the next room gets to him first. While the more laziest of players might say that this is perfect I'm quite sure it is really boring. So a game flow redesign is in question... After all of this is done it's your typical suspects again.  I got to say: cooking up behaviour trees isn't as simple as one might think...

jb-dev

jb-dev

Unity Weekly Updates #46 - Stop Moving Please!

Hey, hello there! This is yet another new entry in this truly wonderful weekly update blog! This week was quite big. There is a couple of new stuff so let's get right to it! Pooling First, I want to talk about a subtle upgrade. In the game, I'm using static factories to generate different game objects such as projectiles, props and entities among other things.  While this is quite handy (especially since you don't need to drag'n' drop any components at all), it wasn't really optimized. Some object (especially projectiles) could frequently be instantiated and destroyed. For some objects this is fine but for others, it can really affect the FPS. To fix this we need to use pools. These are essentially scalable stacks of the pre-instantiated game objects that are ready to use. Instead of destroying them we simply disable them and store them back into the pool, thus recycle the game object and avoiding a lot of overhead.  While on the surface this might seems odd it's actually really useful with short-lived and numerous objects. Pretty simple to integrate into my factories too! It works like a charm! I've partially based my Pool system off this one if you're interested. Spark Effect Next, there's a new particle effect in the game. This one is quite AESTHETIC, so be warned. Basically, it's a Memphis design effect that is supposed to represent some kind of collision. The particles are also coloured accordingly to the colour palette too! Right now these are used on any physical hit. However, I'm still trying to think about a better use case for them... Here's a video showing them off: New Enemy Finally, I'm proud to say that there's now another new enemy in the game: the archer. This enemy uses a bow to attack. It will try to keep its distance and instead try to attack at range. It will also try to trick the enemy to avoid being targeted by them too. They also got a different behaviour that other, in which they will try to circle around their target and keep moving no matter what. When they're near their target and has a clear sight of them, they will draw an arrow, pull their bow and launch it. It's a good idea to strike when they're pulling their bow as it's when they're the most vulnerable. Like their sabre-wielding piers, they will also patrol around their room and be on the lookout for any enemies. They will also flee when weak and can be one-shot too! Here's an encounter with an archer: Minor Updates Big refactor of the GUI. Replace duplicated code with inheritance. Optimized some GUI events. Fixed some oversight in some GUIs. Added a cached state controller that can cache useful data that rarely changes. Added individual limbs target to player characters Right now there isn't any damage multiplier on the player's limbs nor are the enemies try to target some.  This might be an idea for later though. Made the active arrow much more flexible Replace the unintuitive layer mask int to a LayerMask instance. It makes it so much better to edit these Made the arrow play the appropriate collision sound when colliding with objects. Big code conventions refactor. Added proper animation masks to my animated models Made most behaviour tree controllers much more flexible Basically the same thing as the active arrow, which is replacing layer mask int to LayerMask instances. Fixed bugs with the hamburgers Fixed some oversights in physic collisions between layers. Next Week I'm still not done with the archer enemy. It still needs a bit of balancing and bug fixing. I also need to perhaps complexify my behaviour tree a tad bit.  I'm slowly getting there at each iteration. It's quite interesting and all but working with behaviour tree requires a lot of conception and debugging too! After I'm done with the archer, I'll probably add a gunner too. Afterwards, I'm gonna focus on the bosses. Of all entities these are probably the dumbest and also the buggiest, so that's up next. And then there's the usual suspect (relics, capacities, items, rooms, etc.). I sure hope that with the right type of enemies the game can get better exposure...  Only time will tell...

jb-dev

jb-dev

Unity Weekly Updates #45 - HAMBURGER

Hey hey! Hello there! It's that time of the week again! Your favourite Weekly Update blog just got another new fresh entry and this one is a bit interesting, to say the least...  This time it's all about AIs, behaviour trees and physics among other things... So get ready to get amazed by the newest challenges the game will present you!   Better AIs First off, I had to re-work the enemies a bit. While the enemies did properly attack the player that was about it... If no player were on sight then they would just stand there, doing absolutely nothing. While I never intended those enemies to be the final ones I still needed to have a solid AI foundation from which to build upon. I decided to revamp their behaviour trees a tad bit to give them a better brain. Patrols The first thing I added was a patrol mechanic. Basically, this gave the enemies something to do while searching for a target. Each room patterns have their own patrol pattern too. This means that, for example, an enemy in a chasm room will patrol the bridges, looking for any enemies or something to investigate. The idea is that AI would loop around a given list of 3D points. Once the AI gets to its destination patrol point it can do a variety of actions. Typically this is just to look around a bit. Then it goes to the next point and so on... The second an enemy is spotted the behaviour tree stops the patrol and start to give chase to the enemy. Once the enemy is gone they can resume their patrolling where they left it. Of course, only really intelligent enemies will patrol, as we'll see later on... Getting scared Next, there's also an improved fleeing behaviour. Previously the behaviour was bugged and never actually occurred, but the idea is that when an AI gets really weak it will try to flee any enemies to protect itself. Now, the behaviour is once again fully working and was also improved. The Herd One of the newest thing in fleeing behaviour is the herd concept. Basically, all enemies in a room constitute the room's herd. Once an enemy is trying to flee but doesn't see any particular dangerous entities it will try to get the closest it can form the center of the herd. This way it can actually protect itself by delegating its defence to the other member of its herd. Once in the herd, they will then try to scramble around to really try to blend into it. If they encounter any danger the AI will then forget the herd and try to get as far away as they can form the danger in a typical fleeing behaviour. While smarter AI will prefer to patrol around, weaker and dumber enemies will usually try to maintain a cohesive herd and stick together. This is particularly important as we'll see later. Looking Around  Thirdly, there's now been another improvement in the "looking around" task. For those who didn't know if an AI loses track of its target, it will try to search around the last known position to spot them again. Previously this was a unique animation that played only once. If the enemy didn't spot anything then it will simply move on. Now, enemies will look around more thoroughly and multiple time. They will try to turn around in an attempt to relocate their target. If it fails, they then will return to their patrolling duty. This is only the beginning, though. I might try to add a bit more interesting behaviour later down the line but this is clearly an improvement. Oh, and here's a video showing off how AI works now: Hamburger Next up, I want to introduce you to your newest nightmare; the hamburger. This enemy is quite easy to understand. It's a hamburger, and hamburgers aren't the brightest. They will essentially hop around aimlessly until they spot an enemy.  It will then try to lunge themselves onto any enemies. Because of their small stature, they aren't the strongest neither... To have better odds of survival they'll try to stick together and count on each other's back. While they aren't the strongest nor the smartest, the sheer number of them and their annoying habit to pop-in behind your back can be quite staggering.  Each of the hamburger's components is linked through physical joints, making them react much like how you would think a sentient burger would move around... Also. much like humanoid enemies hitting specific parts of a hamburger will deal different amount of damage. For example, hitting the patty will count as a headshot, which will multiply the damage by 5. There are many different types of hamburger, but as of now, there are three different types of burgers... Each burger got its own appearance and physical attribute to make them easily distinguishable from each other. Cheeseburger This is the typical hamburger. Nothing special at all. They have a typical lunge and got literally no brains at all. They deal normal damage and doesn't have any particular behaviour at all. So it's your run-of-the-mill burger. Nastyburger This is one of the special variety of hamburgers. This one is quite nasty. This is, of course, a reference to one of my favourite show while I was growing up... The idea is that this is an expired hamburger, and is therefore really toxic. There are even flies flying around if you listen closely. Every attack dealt by it can result in poisoning, so the player must use caution while dealing with this type of burger. Hotburger This is another special variety of hamburger. This is quite a spicy one. This is a hamburger topped with strong peppers, baked with hot sauce and server with an even hotter sauce. Any contact with this flaming hot burger will put anyone on fire, so be careful while dealing with this one. You might need a lot of ice cream too! So here's a quick video on the burgers: Minor Updates Fixed bugs with behaviour trees Refactored most behaviour trees for reusability Fixed bugs with status not behaving well with hamburgers Optimized some MonoBehaviour to remove some of the null checks in properties Updated the .NET version form 3 to 4. Refactor most class to fix some wrongly used word cases. Fixed some potential problems with the map generation failing to generate the level. Next Week I'm planning to continue my AI and enemy quest next week. In fact, I might say that this is going to stay the same for quite a while. Meanwhile, I also need to fix some of the code for my level generation. I may even add other room props too! I'm also planning on really implementing the focus system and perhaps add a bit of piece of equipment to go with it. Aside from that, it's your usual suspects, which are special rooms, relics, capacities, activated items among many others. Still no plan for a demo, but my ultimate goal is something by September... At least a demo or something.

jb-dev

jb-dev

Unity Weekly Updates #44 - SLOWDOWN

Hey! It's you again! I'm so glad to see you in this new installment of your favourite Weekly Update blog! So I'm gonna cut this short: there's a bit of new stuff in, but it's mainly just polishing stuff and making the game look a whole lot better.  So without any further ados, let's get right to it then! Mall Upgrade First, I just want to quickly say something about malls. I've decided to change their appearance a bit by adding some textures to the lower half of the mall. With this, I'm really trying to ram in the Mall aesthetic. I think it does a nice job if you ask me. Audio Mixing Next up, something a bit more difficult to display, but I'll do my best!  Previously most sounds were either too loud or too quiet. The audio really needed to be remixed. Now I'm happy to say that I've started working on it. First, I decided to scrap the logarithmic volume roll-off curve built-in with Unity. Turns out that the engine deals with minimum and maximum hearing distances by simply hard-clamping the curve, meaning that the sound would just abruptly cut without any smoothing whatsoever. I've also decided to add some amount of audio spread. This essentially means that the closer the player is from an audio source the more centred it seems. This means that we're avoiding a hard point of audio origin or left-speaker-to-right-speaker effect. (as mentioned here) Finally, I've also edited the actual sounds in Audacity to normalized them and reduce their volume a bit. I've also changed the actual in-game volume of each audio source. Overall, this means a better sounding game with a bit more balance. Keep in mind, though, that this process is iterative: it will probably get better later on. Slowdowns Next, it's the big cheese 🧀. Basically, I've decided to cook up a time scale manager with which I can slow down time and even freeze up the game for a couple of frames. While It was really easy to code it was also a blessing. By making it a singleton it really made it easy to just slow down time for a given amount of time. With it, I can really give weight to some of the player's actions. For example, I freeze the screen a bit when the player kills an enemy, giving it a really heavy feel. Another example is when the player vanquishes a boss. The idea is that time slows down to highlight the accomplishment of destroying it. This mechanic is still being refined, though... If the slow down occurred at the wrong time then it can take away any heaviness I'm trying to evoke. Secondly, I've also buffed the aiming ability of projectile-based weaponry. Now the player can trigger a kind of bullet time while aiming. Its length is defined by the player's agility, so if you want to look cool just get that stat up! Here's a video showing bullet time in action: Minor Updates I've added a new sound that plays whenever a consumable item get ejected I've polished the loot mechanic so that enemy loot spawns only when the corpse has disappeared. Edited the per-room loot mechanic so that the items now get ejected rather than just spawn. Previously this was problematic as most consumable items would fall through the floor making them uncollectable. Fixed a bug where some reusable items wouldn't play their pickup sound. Fixed a bug where players with the "boxed" capacity would get boxed if they would get damaged by a hurting status (such as poisoned or burned) Fixed a bug where some bosses' ragdolls would get stretched out when defeated. Fixed a bug where the boss would drop normal loot on top of the actual end-level loot. Fixed a bug where the mouse would still move at the same speed regardless of the time scale. Made items on pedestals not solid to the player Fixed an oversight where sand would make the same noise as grass when step on it. Fixed a bug were enemies weapons would disappear if the enemy's origin room would be culled. Fixed a bug in some levels where chasm floors (invisible but present for AIs) would be at the same altitude as normal floors, making AI not able to take bridges, feeling as they would actually fall through a chasm. Added reverb effect on some of the newest rooms Added panning to steps sounds. Fixed some reflection probes not being rendered in some rooms Fixed an issue where grass would hover over the ground. Next Week So, after a bit of constructive criticism, someone pointed out to me that the game looks quite dull. No challenges whatsoever. They also said that even though most of my assets were pretty neat my normal rooms were quite barren and looked un-interesting (especially compared to my special rooms).  This, of course, meant that I need to re-evaluate my priorities once again. This time I'm basically trying to spice things up by adding a bit more varied enemies. This, however, can take time to come up with (not to mention that there's also behaviour trees to set up, which in of itself can be quite daunting).  However, that would not deter me at all. I'm currently working on a new hopping enemy that, even though might not give any challenge might give the game a bit of originality... So, in other words, it's enemy time! Afterwards, it's relic time and then after this is your usual suspect. This effectively means that I will put special rooms on the back burner for a bit. That's about it! Now, if you'll excuse me, I'm going to read a bit of stuff on behaviour trees...

jb-dev

jb-dev

Unity Weekly Updates #43 - Restocked

Looks like it's that time of the week again! This is your favourite weekly update blog coming to you right now! Well, I'm gonna be honest here... This week was a bit slower than usual. I tried to take the week to recharge my batteries. I did have time to add (or should I say refine) some things here and there. Let's get right to it then! Malls First, let's talk about malls. There are two new things I want to talk about... Window Items I've previously talked about how the player could break the mall's windows to get items for free. Well, now these items spawn, and like I said before the selection is dependent on the player's luck. The luckier the player is the lesser values are the items and vice versa. These can only be gained by breaking their respective window. The consequence of this is still unclear. I wanted either to spawn aggro policemen or locking the malls for the rest of the run. After discussing it with a friend he suggested that I mix both and add a mini-boss in there too. While I like the idea of mixing both consequences adding a mini-boss won't be really practical due to the limited space of the malls. Anyways the idea is still simmering on the back-burner as of yet... Decorative Props Next, I want to show you the new deco. I'm currently working on it actively, but nevertheless here's what's new. Normal malls now got some empty shelves. I want to display some common decorative props here to give the classical "mall" feel. I've also added some T-shirt racks too. Clothes Mall really got the clothes treatment. Most walls got the same rack seen in normal malls. There are also a pair of round racks and rail racks too. I'm also planning to add a shoe display among many other things. As for the Blood Mall, I didn't have the time to add props but the idea is to display weapons in a manner akin to a typical gunshop. Nothing to show off, sadly... Restroom Redesign Next up I had the time to redesign the restroom. Basically, the floor is now tiled and has proper reflection too. I also used to have a real-time reflective mirror, but due to technical bugs, I needed to remove it, sadly... Perhaps if I have the time I could add it back but I fail to see the need to (especially since the framerate drops by 50% each time the mirror is seen). Minor Updates Added a coffee machine to the travelling agency
Added most travelling agency props to the pawnshop Added a window cracking effect on mall windows
Fixed some bugs here and there Next Week Now that the "break" is done I can really get back to work fully and really get things done. Right now I really want to improve the juiciness of my game. While most actions aren't really dry I really want to amp up the juices. This means SFX, VFX, bug fix and many many more. I really need to take the time to think about how can I make the game much more appealing and this might take time. Aside from that, there's always the need to add new stuff in, but this a lot less prioritized as of now. Then it's your usual suspect again... So that's about it for this week really! 
 

jb-dev

jb-dev

Unity Weekly Updates #42 - Travelling Around The World

Well, hello there! This is your favourite (though slightly late) weekly update blog! Last week was quite a busy one. I previously talked about adding new things to the game and I'm quite happy to say that I've managed to add TWO new rooms. So without any further ados, let's get right to it! Travelling Agency The first new room is the travelling agency room. This is supposed to represent a common travelling agency where one would plan its vacation. The idea here is quite simple: the player can regenerate the current level by "travelling" to another country by paying a substantial amount of money.  To do this the player needs to get to the front desk and simply interact with the (yet-to-be placed) travelling agent. The interior is full of clocks supposed to represent the time in different big cities.  There's also a lounge area with a bunch of brochure and coffee mugs.  And there's even a world map hanged on the back wall. I'm also reusing the ceiling window effect that I like so much. Light can be such a powerful decorative tool sometimes... Travelling Merchant Next, there's the travelling merchant. Basically, this is a trading merchant. He's coming from a faraway land and is full of riches, and set up shop with its trusty carpet. So what it does is quite simple. When the level is generating a random piece of equipment is chosen to form the player's current inventory. Then we simply choose another item to trade for.  If the player is lucky, then they might have quite a good deal too! However, if the player discarded the chosen piece of equipment, then the deal is off. If the player didn't discover the room yet a simple treasure or other types of loot would spawn instead. Otherwise, the item will simply be removed, and as soon as the merchant is out of view he will simply vanish, leaving no trace behind. This also happens when the deal is done too! There's no actual merchant here yet, but the trading system is fully working. Minor Updates Refactored my shader to use fewer interpolators, which fixed some of my shaders I've also continued my model refactor. (I was quite productive in that aspect...)  I've redesigned the Spa room to make it static like most other rooms. I've also changed most of the room's props too!
   The Temple was also redesigned and made static. This one is quite different from before. It's a bit more packed, but this makes it much more believable too!
I've also touched-up the rest areas. Now they're more low-poly.

  Next Week So, I'm also planning to add new stuff next week again. Technically the code is already there for most of them. I just need to model the rooms and its ready for testing. I'm also planning to continue my redesigns. I'm getting there slowly... Then it's relic time! I really want to test all relics for regressive bugs, but I also want to finally implement a whole lot of them too. After that, I also need to work on texts and localisations in general. There's a lot of "Localized text not found" everywhere and this is starting to annoy me... And finally, it's the rest of the usual suspect...  So that's about it!

jb-dev

jb-dev

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!