Jump to content
  • Advertisement

jb-dev

Member
  • Content Count

    211
  • Joined

  • Last visited

Community Reputation

149 Neutral

1 Follower

About jb-dev

  • Rank
    Member

Personal Information

  • Role
    3D Artist
    Game Designer
    Programmer
  • Interests
    Art
    Audio
    Design
    Programming

Social

  • Twitter
    MiiMii1205
  • Github
    MiiMii1205
  • Steam
    MiiMii1205

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. 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!
  2. 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!
  3. jb-dev

    Vaporwave Roguelite

  4. 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!
  5. 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!
  6. 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.
  7. 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!
  8. 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.
  9. 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!
  10. 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!
  11. 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!
  12. 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!
  13. 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!
  14. 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.
  15. 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!
  • 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!