Jump to content
  • Advertisement

Daniel Lochner

Member
  • Content Count

    7
  • Joined

  • Last visited

Community Reputation

1 Neutral

1 Follower

About Daniel Lochner

  • Rank
    Newbie

Personal Information

Social

  • Twitter
    daniellochner
  • Github
    daniellochner

Recent Profile Visitors

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

  1. ▲ Watch the devlog on YouTube ▲ Hi everyone, and welcome back to my devlog! If you’re new here, I post weekly videos logging the progress of the new 3rd-person, looter shooter, mobile game I am developing, so consider subscribing to follow along! Last week, Ali commented on one of my devlogs saying that he wanted there to be an option to switch to landscape mode, and I felt that now was the right time to implement this! In order to add the option to switch orientation, I needed to first add a pause menu, and that is what I started creating on Monday. I eventually came up with this, however I did end up changing the layout slightly and I replaced the inventory panel with a map to show all the nest locations around the world. The next item on my TODO list was to finish up the game’s itch.io page! I had finally chosen a winner for my competition to create a banner for the game, and so here is how the page I created using this turned out! On Tuesday, I moved onto creating the layout customization system, that would allow players to customize their UI. A good example is how PUBG Mobile implements this. By including this system, they ensure that players feel comfortable when playing their game and that the controls best fit their preferred play-style! For this, I needed each element to be controlled by their own controller script which would update each element’s values once a new layout is loaded. After a while, I got all of this working well, and had added the ability to change the scale, opacity, and lock the different axes for better control when positioning each element. On Wednesday, I fixed it so that it wouldn’t jump to the mouse pointer when positioning each element, and then started work on the customization menu! This side-menu (which I created using my asset “Simple Side-Menu”) should show when the player is customizing their layout and should allow players to save, reset or revert the layout they are currently customizing, as well as enable or disable elements! To end the day off, I added a panel which shows the player’s current statistics, including health, experience, gold and crystals. Currently, I plan to follow a “freemium” business model for this game, and so crystals will act as the “Gems” in most modern mobile games! On Thursday, I switched things up, and worked on the back-end of the game, moving entirely over to using Scriptable Objects for saving data instead of Prefabs. This change was sparked by my need to save the custom layouts, and a Brackeys video definitely put me on the right track! After the entire day had passed, I finally got all of this to work, and I could now save and load layouts as well as revert to the default layout! On Friday, I began adding the functionality to enable and disable elements, and in the end, I settled on this layout for customization menu! I then re-designed the pause menu, because I felt that showing the player’s inventory wasn’t necessary. Instead, I decided to show a world map, which will highlight which nest the player is currently at. I also added a scroll-snap for listing the daily and weekly challenges that players can complete to obtain rewards! And that’s what I managed to achieve this week! If you have any suggestions, I’d love to hear them, so make sure to leave a comment below! Also, remember to subscribe and hit that notification bell to keep up to date on the progress of this game! And with that, thanks so much for reading, and I’ll see you in the next one!
  2. ▲ Watch the devlog on YouTube ▲ Hi everyone, and welcome back to my devlog! If you’re new here, I post weekly devlogs logging the progress of the new 3rd-person looter-shooter mobile game I am developing, so consider subscribing to my YouTube channel to follow along! On Monday, I carried on from where I left off with the shooting mechanics. To recap, the idea is to use two joysticks. One will be for aiming, and the other for shooting and controlling recoil. Aiming was simple to implement, as all I had to do was rotate the spine of the player by the fraction of the joystick moved. Next up however was adding recoil, which was a little trickier. The initial plan was to rotate the player’s spine upwards whenever the player shot, and then use the right joystick to pull down and “control” the recoil. Once I figured this out, and my player stopped wanting to be elastic girl… I moved onto adding vibrations whenever the player shot. On Tuesday, after play-testing a bit, I felt that having to manually control your recoil was a little too complicated for a mobile game. So instead, I decided on a system that used automatic recoil control, which meant I could then use the shooting joystick for micro adjustments when aiming. Next I moved onto adding the different trigger types for weapons. By this, I mean that different weapons should fire at different times when using the joystick. Automatic rifles for example, fire when holding the joystick down, while single fire rifles fire when the joystick is released. Throwables on the other hand are entirely different, as when you press the joystick, it should prepare the throwable, and then when you release it, it should be thrown. I added three events to my custom joystick. OnPress, OnHold and OnRelease, which allowed me to individually set this based on the selected weapon. Finally, to end the day off, I began creating the system for adding crosshairs. On Wednesday, I finished the crosshair system off, and here are some of the crosshairs I was quick and easily able to put together with this system! I then moved onto adding a spreading mechanic to the crosshairs. Once I was happy with that, I got to work on the trajectory system for throwables. Like in PUBG, when you throw a grenade, it shows the path the grenade will travel along when thrown. I used the following formula to achieve this effect: This allowed me to generate a line renderer that connected a pre-defined number of line segments together to form a trajectory that would show the path the throwable would travel along when thrown. On Thursday, I carried on with this trajectory system to dynamically update and match the player’s rotation. I also had to account for an offset so that the trajectory always ended up on the ground and not in the air. I achieved this by calculating the distance the parabola was away from the player at the height of the ground, and then recalculated this each time when rendering the trajectory. I spent the rest of the day getting this trajectory to show when preparing and then actually throwing a throwable, and this ended up looking great! On Friday, I spent the entire day tidying up and optimising all of my code, and once I was happy with that, I implemented the automatic recoil control system, which just gave it that effect I was looking for! All in all, it was a productive week, and I was happy with the progress made. Thanks so much for reading, and I’ll see you in the next one… take care!
  3. ▲ Watch the devlog on YouTube ▲ Hey everyone, and welcome to this week's devlog! If you're new here, I post weekly devlogs logging the progress of the new game I'm developing, so consider following me to be updated on the progress of my game! On Monday, I kicked things off by finishing up rolling and dashing before moving on to new things. Dashing now segments the circle instead of being a tangent. Distances rolled or dashed now increase when walking or running Players cannot roll while aiming or crouching, and can only roll in the direction of movement or when stationary. and finally, swiping down while running causes the player to roll or dash in that direction. I then went on to fix some bugs with my Unity3D assets simple scroll-snap and simple side-menu, and after I submitted the updated versions of my assets, I got back to working on my game. (https://bit.ly/simple-scroll-snap) The first thing I decided I would tackle this week was thinking of how the player would aim and shoot. I decided on using two joysticks. One would be for aiming, and the other for shooting and controlling recoil. I considered making my own joystick component, but then I realized I was trying to reinvent the wheel... so I just downloaded this free joystick asset on the asset store and tweaked the source code slightly, as it didn't quite fit my needs off the bat. Next, I started work on the looter aspect of the game. The idea for the players inventory was to implement my own wedge selector system where the player presses down, holds, and then releases to select their wedge. This must be as streamlined and intuitive as possible, because it's a mobile game. Both the weapons and consumables had to be selected, used, canceled and swapped this way, so I had a lot of work cut out for me… On Tuesday, after finalizing the base of the component, I moved on to actually adding the items that could be selected. Before I could do that though, I needed to create the class structure and system for adding new items to the game. An example of an item would be a gun which, has a predefined magazine capacity, recoil spread, muzzle velocity, etc... which can all be modified to create new items that can now be used in the game. I then made it so that the wedge selectors populated the different items in the player’s inventory, and showed the quantity of the throwables or consumables, and the number of bullets for guns. On Wednesday, I started with the progress system, which would show the progress when swapping to a different weapon, reloading a gun or using a consumable. Once I was happy with that, I started working on a system to be able to cancel the progress made by clicking on the wedge selector while it is in progress. On Thursday, I downloaded a couple of placeholder animations from mixamo.com, and began working on a system that would allow for the swapping of weapons and using of consumables. In order for a successful weapon swap to happen, the player must put away their current weapon in their selected weapon slot, and then take out the weapon in their targeted weapon slot. For consumables, this is a bit trickier, as they have to put away their selected weapon, use the consumable, and then finally take out the selected weapon again. I achieved this by creating a system where you could queue up actions, and then dequeue each action until none are left in the queue. That was the easy part… The problems poured in when I needed to figure out a system of how to cancel actions. You see... when actions are canceled, you can't just drop the item you're holding, you need to reverse the animation, and then check the action history stack to see what your previously selected was. On Friday, I finally managed to implement this, however it was definitely easier said than done… Players could now cancel actions midway, and revert back to their original state. Next up I got to work on matching the players actions to the wedge selector, so that it could show the current progress, and allow the players to accurately cancel the actions. Another thing easier said than done, but I eventually got it right, and I was happy with how it all turned out! So that's what I managed to achieve this week if you're new, I'd encourage you to follow, and give feedback in the comment section below! Tell me what you like, what you don't like, and what you want to see for the future of this game! Anyway, thanks so much for reading, and I'll see you in the next one!
  4. Daniel Lochner

    N.E.S.T

    N.E.S.T is an action-packed, looter-shooter mobile game that entrusts you to save Earth from an alien invasion after a rogue interstellar radio message leads them straight here. Unconventionally however, these aliens don't arrive via spaceships. Instead, large nests crash into Earth's surface, and it is up to you to destroy them all before the aliens regain their full strength, and take over our beloved planet. The development of this game is being logged through weekly devlogs on YouTube, and the full playlist can be viewed here. You can support the development of this game by subscribing to the developer on YouTube here, or by following him on itch.io here.
  5. ▲ Watch the devlog on YouTube ▲ Hello everyone and welcome back to my devlog! On Monday, I kicked things off in a new project and began working on the input controller, as I had to deal with swipe gestures and the accelerometer. Next, I went into the player controller, and began working on player movement. The idea is that lateral movement is moving left and right, and longitudinal movement is moving forwards and backwards. Lateral movement however brings its own set of problems, as the player has to rotate around a pivot point at the center of each level. At the beginning, when player 1 and 2 are at the same lateral position on the circle however are different distances from the center. When both players are rotated at an equal angle, it is clear that the arc-lengths at which both of them travel are different. And so I have to account for the fact that as the player's radius increases, their angular velocity must decrease in order to maintain a constant linear velocity. I achieved that using the following formula where W is the angular velocity V the linear velocity, R the radius and Theta the angle at which the player must be rotated. On Tuesday, I created the camera controller script, where it lerps to different positions based on whether the player is crouching or aiming. I then went on to create a speed system where the maximum speed changes based on whether you're crouching or aiming and walking or sprinting. Next up was jumping. I wasn't using a rigidbody at the time so I had to implement my own system for gravity. Don't worry I do use rigid bodies in the end, but it was all a process... The reason was because I was using a transform system to move the player... however that would mean I would have to use a kinematic rigid body which will ignore collisions and so that's what I ended up working on next I implemented the system where I'd use ray casting to determine whether objects in front of the player were immovable or not. (Again, I changed all of this later on). On Wednesday, I figured that the movement system I currently had in place was not the way I wanted to go, as I wanted use rigid bodies in order to make use of Unity’s physics system for gravity and collisions. After quite a bit of time I ended up figuring out how to achieve this without making the player a child of the center, however I found a post online that made me completely rethink what I was doing and I went back to my old movement system. After a bit of bug fixing I was happy with the movement system, as all the physics with regards to the collisions and gravity were working just fine. Next on my to-do list was dashing or rolling, where the player will be able to dash left or right and roll forwards. On Thursday, I went to http://mixamo.com and downloaded a couple of placeholder character and animations to work with. I then went on to Unity and created a blend-tree for all the animations to work together. After I've finished, there where still a few issues with the sliding and so I had to tweak the animation speeds. I was happy with movement so I moved on to jumping. Next of the animations I wanted to implement today was aiming, and for this I needed to create an avatar mask that would control only the upper body. After a couple off funny issues, I finally got it working, but it wasn't quite right... The play would sway when moving and aiming and when crouching the player would completely deform. I thought this might have been an issue because I was using the generic animation rig instead of the humanoid one, so I tried switching over. Unfortunately it wasn't as simple as I had hoped… On Friday, after looking at every single unity forum thread, I finally figured out what the issue was. I had to unassign the avatar mask that was being created from the models animation and reassign the avatar mask from the player’s character model. After doing this everything worked out just fine… yeah I'm just kidding... I was now using the humanoid animation rig instead of the generic one, however I was still getting that annoying sway issue... After looking through a couple more Unity forums threads, I finally figured out that it was because I had not baked the rotations of my animations. For the rest of the day, I just worked on a placeholder crater model, and even though it was probably the worst model I've ever seen in my life, after importing it into Unity, it actually gave the effect I was looking for… So that is where I currently am at this stage of development. I hope you enjoyed this post, and if you have any suggestions please feel free to leave a comment below!
  6. ▲ Watch the devlog on YouTube ▲ Hello and welcome to my first ever devlog! This week I am going to introduce the new game I will be developing, and while I don’t have a name for it yet, I have the majority of the game-play and story-line figured out. The idea is to create a unique, 3rd-person, looter-shooter, mobile game, with controls and game mechanics that make use of features mobile devices offer. The player will move rotating around a pivot point at the center of each level using the accelerometer in their phone. The main objective for each level will be to destroy the object at the center - something guarded by enemies! The object and enemies are however there by no coincidence, and I wanted to build the story from something that actually happened not too long ago... Go grab some popcorn, and let me tell you a story... In 1974, the Arecibo observatory, located in the middle of the Puerto Rican rain forest, celebrated the remodeling of their telescope by broadcasting a signal into outer space. By reordering the 1,679 bits sent into a grid of 73 rows and 23 columns, the following image would form. This was an attempt to reach out to extraterrestrial intelligence and carried the basic information about humanity - the perfect starting point for my game! The interstellar radio message was however aimed at the M13 globular star cluster - a whopping 25,000 light years away… so this is I start to use my imagination. While it was aimed at the cluster, the signal varied slightly off course, and was intercepted by an alien race on the exoplanet, Lalande 21185 b, only 8.3 light-years away from Earth! Unfortunately, these recipients weren’t as friendly as we had initially hoped, and after quickly deciphering the Arecibo message, the planet’s rulers decided that Earth, having a clear abundance of natural resources, would be their next victim. So, they sent a message back, threatening us to leave, as they were coming to take over. After we received this message 8.3 years later, those wealthy enough abandoned Earth to travel to Proxima Centauri B, and the rest were left... hopeless. After 10 years the aliens finally arrived, but not as you would expect. Large ovoidal objects crashed into Earth’s surface, and after the dust had settled, small creatures started to emerge from them. These objects weren’t spaceships, but nests, and now have to be destroyed as soon as possible.\ So that’s where the game takes off from! I hope you’re as excited about this as I am, and if you have any suggestions, please feel free to leave them in the comment section below! I’ll be posting every Sunday, logging the progress of the game, so follow on itch.io or subscribe on YouTube to be notified of the next one! Thanks, and I’ll see you in the next one!
  7. Daniel Lochner

    N.E.S.T

    Album for N.E.S.T
  • 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!