Don't wanna be here? Send us removal request.
Text
The Wrap Up:
12/05/2025 It's submission day! I have only the last closing remarks to make, before I class this project as complete.
The Wrap Up:
Here we are at last, the end of the line. The last Tumblr Post. To submit my project, I needed to send off a bunch of files for review, some I didn't even consider making, so I made a few things. My Presentation Slideshow: This slideshow just neatly showcases the core concepts that I covered here, with a few extra notes looking back. I guess the only new-new part of the slideshow, is the evaluation at the end.
"This project went really well. My biggest issues were with the semi-frequent problems I would have with environmental issues around me, rather than anything to do with the project. Those hours were very well spent on this, as anything less would not have gotten me to this point of completion. With 12 weeks spent making this, over 100 sprites made, 16,000 lines of code, and a project folder containing about 12GB of storage, I would say that I have done a lot to get this far, and am happy with the final result." This part is a bit of a retrospective into how much effort I put into this project. I really did enjoy making this, from start to finish. I spent so much of my free time just making this project better and better, to the point now where I can't particularly see me ever managing to accomplish better before the time limit.
I didn't show absolutely everything in this project. Mainly because there is just so much here. 12GB for a project with only 15 songs, sprites at 16x16 resolution, and only a few videos is pretty big. Obviously, it isn't unreasonably massive. I don't think that this is some mega project or anything, just more than I though I would ever actually contribute at once. Especially considering the technical aspects of it, and the fact it is for a college project. I didn't add absolutely everything. Mainly because there is too much to show. For example:
That is the game file texture. Every in-game sprite is in here. To think that so many sprites are just slotted in tiny crevices on this sheet, to the point you can barely see them, just shows how many sprites are actually here. This doesn't show externally used sprites however. No concept art, not promotional art, no renders, ect. To show everything done in this project in a neat manner, would be too monumental of a task for me to even consider. Despite this, I've demonstrated that these processes do lead to a solid final outcome. At least in my opinion it is solid.
I mentioned there being over 16,000 lines of code, but my compiler returned 23,000. I do not think this is accurate however, since a lot of lines will just be closed brackets I left on their own, or comments. I doubt this would actually leave to total line count lower than 20,000, but I will just round it to 16,000 because it only covers what I know that I have written. I do think that I might come back to this project in my own personal time at a later date. The concept still interests me, and other people apparently. Maybe given some more time to cook, and I could have a worthy release project. That is just wishful thinking however. As for the project is now, I am completely satisfied with my result, how I got there, and why I got there.
Thank you for going through this project. I'm done now, Goodbye!
0 notes
Text
Quarterly Evaluation Pt.4:
11/05/2025 The penultimate day, and the last full week of development.
Quarterly Evaluation Pt.4: Well, except for a showcase slideshow to present to the course directors, the project is done. And, as of very recently, the game is entirely done. I have been working tirelessly on this game to make it the best experience I can possibly provide, no matter what I have to sacrifice.
As I mentioned before, my timeline is not particularly a good representation of what I actually need to do. But, despite this, I have actually done everything here. I made the Onboarding video tutorial for the very beginning of the game, I fixed all unseen bugs from user testing, and I superceeded the need to explain community servers, since I am not running my own one! Everything is done now. Other than specific documents that I need to provide for project grading, but the actual game for the FMP is done! I was always at the assumption that I could, and likely would complete a project of this size in this time frame, but I didn't actually think what it would be like having completed the project now. My progress this quarter was slow, but effective. In retrospect, I actually didn't do as many big things as any of the other quarters. But, what I did do, was exceptionally important to the final product. I polished the game down to it's absolute perfection in this time, and I am extremely happy with the results. Looking forward, I am simply going into college tomorrow, to hand in all of the correct files, and secure my project for marking. There is nothing left for me to do here.
As for the future, I am considering publishing this after the marking has been completed. Probably on itch.io, as I have already created the store page for it. I might actually have to charge money for this game however, since I need the funds to run the servers, and maintain the game's life-cycle online. An online product is not something that I can simply put out there, and expect it to somehow survive the wrath of time and decay, it simply isn't possible. So, if I were to actually bring this game to life publicly, I would need to be vigilant in maintaining it's existence. Maybe not to its current glory, maybe not for very long, but I will try my best.
I would make the claim that my project rationale and concepts were actually really close to what I ended up with. By description, some wording would be changed, but otherwise, this explains the game really well, and the paths/struggles to get there. I am slightly surprised that the project turned out as good as it did in my opinion. With some overwhelming support to the core and extended aspects of the game itself, the only issues being that certain high-budget, quality-of-life features are missing. I don't put this criticism too much on my own design, since I am only one person, making a fully completed video game in 12 weeks of being given a brief to do so. Whilst, I also base the idea and result on one of the hardest systems to create in the video game space. I am happy with my progress, how I got there, and what I got as a result. This is my submission, and I love it!
0 notes
Text
True Sustainability:
08/05/2025 My biggest concern now, is to make sure that the game is sustainable past the project due date, and I've finally caved in and done it. This is my final, major gift, to my final, major project.
True Sustainability: My most pressing concern was how my servers would run. The requires servers to connect to the online world, and whilst building those systems has been fun, managing how to sustain them has not.
The server needs to be ran at all times. It needs a constant internet connection, that is willing to handle all of the networking that the server will need. The issue is, I am not a service provider, I do not have hardware built to run applications like this, and I do not have the time to manage it. Trying to do this myself was stupid. There is a reason that almost all online games are made by large companies, or a small team funded with a larger publisher. I am not equipped to handle networking. If I was smart about what I am actually able to provide myself, I would have stuck to local hardware.
These companies have the ability to run these systems in bulk, due to the amount of money they get from online services like games. Most companies manage to fund them using systems like micro-transactions, or subscription based services. Some companies will actually allow you to pay them to use these servers, since online is such a high demand, with an even higher barrier of entry. I don't have access to use these however, since applications are long and expensive. The issue is, that I cannot continue running a server like I am from my personal PC. Not even with my own internet, or dedicated middle man. The region is located in a private residence, and the middle man is a server in london. No matter what, the security and speed will suffer, along with my time and money actually trying to run it. I guess I am forever put into a state of uncertainty. Not being able to maintain and upkeep my own project. I have already provided community servers to the public, but that will only be successful with passionate individuals, of which there are none, and likely won't be any.
Yep. I did it. I caved in and rented a server. I canceled my dedicated IP and private ISP. So I can finally save that £48 I owe. Although, the server I purchased is £20/m. The dedicated ip for it is £2/m. Installing windows commercially is £32/m. So, in reality, my total montly cost running this is £54/m. Then add tax, and I pay about £58/m. I could theoretically run a linux based OS, like Ubuntu. The problem, is that I don't own a linux OS computer, and am not going through to try and force one on a windows machine. I can't export my server to Ubuntu, if I don't have Ubuntu. Unfortunately, this is the best option that I have. I took some time to get data on which VPS host was the best for me, since I required a server not only running windows, but not being headless, since the server still requires a graphics display. Ironically, I chose VULTR. This name may be reminiscent to you, because it has been a throwaway background character in this project before.
They were the hosting company of the people who raided by home server at the very beginning of the project. Obviously, the actual provider has nothing to do with this attack, but it is still slightly funny to me how the people I specifically mentioned attacking me, and halting my project, were the same people who are sustaining it. Despite that, I now don't have to worry about running a server for this game. (at least for now). Because I am paying a provider to run it for me, I am now leaving these issues with them, rather than them being a burden on me. Along with 99.99% uptime, (Because even large companies like these can get attacked and suddenly shut down for a short time), I also cut out the middle man in London, and use a professional networking ISP for people to connect to. Cobble this together with the fact that this is run in a more connectable place like Frankfurt Germany, and now the actual gameplay connection is 5x faster. It was only about 40ms before, now it is closer to 15ms for me personally. People with faster internet could probably reach better. All in all, this is simply just much better than what I was doing before, despite all issues with payment, I feel confident in providing this product publicly. Since now, people can actually play it with the quality that they deserve.
0 notes
Text
User Feedback:
07/05/2025 I want to focus on the actual game experience now, rather than the bugs and issues. There was some extremely surprising results here...
User Feedback: I made a few notes about how they played the game. My expectations were completely different to the end result. Initially, I was under the impression that the base gameplay was not particularly interesting, or fun. I was unable to test this myself because of the lack of other users in game. Obviously, I cannot test an online PVP game, if there are no players to vs.
This ended up being the highlight of the session, the actual combat was the high-octane ridiculousness that I intended from the start. The fast-paced nature of the mechanics lent themselves well to the intensity, and cause the best moments of the game. People were hesitant to gather resources at the beginning, rather choosing to look around and explore their surroundings first. But, after that, they started scavenging items from the surroundings.A They were slightly confused on the controls to manage the inventory, but got it down pretty quickly. The actual crafting of items was extremely second-rate to their objectives. There was one thing that they focused on even more than the combat.
The stock-trading. Some players actually just ignored each other entirely, only scavenging items for loose stocks. After that initial playthrough, I can definitely confirm that the stock-trading rework was the best idea that I came up with. Putting stocks in the containers to boost the in-game economy was the crux needed to bring everything together.
I think the lack of crafting came from 2 things. 1/ The lack of time to bother crafting. 2/ The terrible descriptions that do not reveal anything about what the item actually does. The time was easily fixed, I just increased default stockwave time so that new players will play 18m games rather than 12m. A 50% increase was a great idea to the game. They also added more stockwaves in the lobby settings, boosting it up to 30. It seems that longer games are better than shorter ones, since people need time to build their stocks and shares empires.
They starting loosing themselves in the environment, and being unable to find functioning computers to trade stocks with. I did add a map with computers marked in yellow, but some people did not realise what the colours meant. The map, inventory, and sprint was easily figured out, whilst the player list and text chat was not. Very convenient how the ones that they figured out quickly, were the ones with key prompts in the bottom-left corner.
The training video really didn't do anything to help with this. People still didn't understand core mechanics once already in the game. But somehow, the menus are so intuitive that they actually caused people to figure it out on their own. I don't think that the training video was worthless, since it does introduce the premise and the tone, and people did subconsciously link back to it when discovering things in the game itself, but no one really connected with it. The reception was mixed, some people saying that it was too fast, whilst a few said it was just perfect for a basic tutorial.
They related really well with the objective, to make as much money as possible through stocks. I initially said in the stock rework post that I didn't think that many people would actually buy and trade stocks themselves due to the ability to lose everything. I thought that people would see those stock-trading elements as too big of a risk for them to actually invest. This strategy would be reserved for those who really wanted to maximise profits. What I didn't expect, was that everyone would focus so heavily on trading. It was apparently one of the best parts of the game. The complex gambling algorithm in the form of the stock market, was too fun to invest in. People were making absolute bank off of it between stockwaves, and collecting/defending themselves in between. This was exactly what I wanted to game to feel like, but I didn't actually believe that I pulled it off. The game was very heavily received in all actual gameplay aspects, except for the explanation to how things worked. I did force them to play the game by themselves so I couldn't interfere. They were completely new to it without any briefing on what the game is before downloading, so they had less knowledge about it than an average person downloading it would.
Seeing people naturally running around with shotguns, trying to shoot up their co-workers for the sake of the economy, was extremely funny to me, and to them apparently. There were so many game-related conversations happening in that call. More then would see when people naturally play games. I have to give credit to the fact that they knew that they were going to be watched later, but I think that they completely forgot about that once getting into the game.
The one big thing that I found did not land with the players was the stock affecting. When players found out about the system, there were kind of disappointed that they could affect the stock prices, basically taking away all of the reputational randomness of the gambling. They decided in the second game that they didn't even want to do it. It was a long amount of time to dedicate to focusing on it, and it adds nothing, since there is not reason to underfund something when you are also buying stocks. I didn't consider this, but it makes sense. Players want to follow trends and buy stocks naturally, not have a system that someone can use to make the system less random. I thought that it would make the game more hands on, but it did the opposite, it ruined some of the players enjoyment with the whole system.
In knowing this now, I will likely remove the whole funding system as a result. I think the mere existence of messing with the stock market was the problem for the players, so there is no reason to keep it in. A net negative to the gameplay, that adds absolutely nothing to the experience. I will need to re-render the training video now, but I would rather do that, then ship a subpar product.
0 notes
Text
User Testing:
07/05/2025 I finally got onto real user testing! With a group of real, normal people, I can finally diagnose big issues with the game.
User Testing: I got together 4 people to play Stockwave Online together, and the results went amazingly. They played 2 rounds total, and continued wanting to learn mechanics naturally. I had each member record their playthrough, so I could diagnose their game, and address some issues.
It was also intended to be livestreamed to youtube, but that never went ahead due to a mutual agreement that this should stay private for now. I made a list of things that I noted down on my notepad. I've attached a screenshot below:
These are the initial thoughts that went through people as they played. I am going to cover most of them. Before that, I want to talk about one specific issue that plagued the game.
One of the testers couldn't get onto the server, so we had to only have 3 in a game of 8. The original plan was to get 6, but one decided that they didn't want to, and the other one had other plans come up. The inability to access the server was not actually the servers fault. Everyone else was able to get in, and we diagnosed it to a problem on the user's end home network. Besides that, the server ran flawlessly.
The reason I chose those 6, was mainly because they were willing to do it, but also because there was a HUGE difference in hardware. 1/3 had a top-tier gaming PC, 1/3 had a mid tier PC, and the other had a very cheap laptop, who can barely run any game on steam. With these, and my home and college PCs, I can safely diagnose performance on multiple computers. The results are quite shocking! Low -- 58fps Low-Mid -- 66fps Mid -- 90fps Mid-High -- 130fps High -- 250fps Obviously, these are not specifics of the computers, so truly diagnosing absolutely everything for compatibility purposes is not exactly on the table. But, this does show that my optimisations were completely worth it. Mind you, these fps counters were with the game on High graphics settings. (With shadows, particles and bloom).
The more annoying part of the test, was the networking. It seemed as if the game had a few sync problems at the very start. So, my first bug fix, is adding an extra parity updater so that all games work more seamlessly. I should have added this sooner, but I didn't realise how prevalent it would actually be.
The next bug was at the very beginning. When the player opens the game for the first time, they must input their name before continuing. The problem being that this is a popup, and all popups can be closed by pressing off screen. 2/4 people actually clicked off immediately as they saw it, without even reading what the popup had to say. I would say that this is because of the natural internet instinct, of dismissing any popup that distracts you from the game. I wouldn't mind people skipping any other popup, but this one is necessary. It also softlocks the game. When the popup closes without a name, it does not play the training video afterwards. Therefore, the game proceeds to sit on the black screen.
If fixed this by stopping that specific popup from being closed. Now, the player must enter a name to continue into the game menu. These are all of the direct bugs, now I want to talk about design.
It seemed like they preferred the 45 second timer, since it gives them enough time to grind out the level itself. They eventually turned off the secured stocks off as well. I expected this since it was just a patch for the interaction thing, but the 45 seconds surprised me. I think this makes sense. 30 seconds does feel too short to do the things you need to before the game moves on. I've set these customised settings as the default for the game.
The training video had mixed feelings, some felt it was too fast as the normal speed, and some felt it was just fine. Above all, it does set the tone of the game. What it doesn't do, is explain everything that the player needs to know. All testers ended up forgetting every specific of the video. However, it doesn't matter. I did not interfere once with their playthrough, and they used the memory of the training video, to naturally figure out what they had to do. If anything, this makes the training video better. The players should not be able to become masters within the first few minutes of the game starting up. So, them using it as a reference to the environment around them in-game, is fantastic. I'll take a look at the rest of the philosophy in a different post later on. But, for now, the initial reactions and issues were solved and sorted!
0 notes
Text
Stock Mechanic Overhaul:
06/05/2025 User testing is TONIGHT! And almost everything is ready. Almost. I have one small detail to attend to.
Stock Mechanic Overhaul: The title might be slightly misleading. I am not completely overhauling the stock trading system. That would be ridiculous. No, I specifically want to bring attention to something that has been on my mind since I added this system. When I made this system and tested it out among the rest of the game, I made a realisation. No one will use it. The core idea of the game is stock-trading, but you can take other peoples stocks. So, if the main objective is to steal other's stocks, why even buy them in the first place, you are just going to lose them anyway...
Back then, I made a work around with secured stocks. Basically, once stocks trade hands between players, they will become secured. When secured, they cannot be tradable again until the next stockwave. This system was designed so that players who stole, can't immediately run to a computer and lock that in. It does fix that issue, but will still cause people to just simply not buy stocks. It also stopped players from just buying right before the next stockwave, and then trading them back immediately. But for this one, I had to make them double secured, meaning that buying stocks is still just not very appealing.
In reality, stock trading is still actually the best method of winning, given that you can defend yourself sustainably. The strategy of just running away and trading is actually, really good. But, most people will just resort to fighting over stocks. Which would be fine, as long as people have stocks. If players feel as if they can only lost by buying into good stocks, then there is no reason to buy them. And, if no one has stocks, there is nothing to fight over. You could chalk this up to bad strategy by the players, but I don't think that the game is being hands on enough to promote the use of this system. It is the only way to win after all...
However, bad design is not embedded. You can always improve something with a hidden system of sorts, not matter the problem. I just need to consider the root of the problem, why it fails, and what I should do to fix it.
The answer is right there. Staring me blank in the face. Containers! Players scavenge around the map for items within the containers. They gather items to use to fight against each other. If they have no stocks though, this is pointless... So why not just... Put stocks in the containers....? This way, players have a non-riskier way of getting stocks. Its much more public, and risky to get, but much better than investing their cash into something they will lose. The game is providing parts of the economy naturally now. Players have something to fight for, without being constrained to investing. Buying stocks will still be the better option. You can get way more out of them than you ever could out of containers, not to mention that they are much safer to get. Since they are on any office desktop whilst in a private area. I think this is a great idea, and will change the game from being a pointless beat-em-up, to a strategic economically booming fighting game!
0 notes
Text
Publishing To A Storefront:
06/05/2025 It is that time. The feeling of the end. It's almost over.
Publishing To A Storefront: When the game is complete, I will publish it to the public. Once I hit that release button, I will have finished everything with the project, and it will be ready for marking. A storefront like Itch, Epic, and Steam, is a place for consumers to go to download software. These 3 focus on game-related software specifically, making them great targets to release Stockwave on.
I will be releasing on Itch.io. It has the lowest audience of the three, but is significantly easier to publish on. Epic requires a lot of random checks, and steam forces you at least 2 months of time wait to start uploading. Itch allows me to upload any files I want, however I want to. Unlike steam or epic however, Itch is almost devoid of some storefront tools like server hosting or achievements. It does have a drm and automatic update tools if you need to use them however.
Here I have my store page setup. I set my titles, tags, descriptions, and product info here. I made some very basic promotional art materials based on the lobby and line graphing graphics that I made for the game itself. I then went into stockwave and again used the cinematic mode to take some screenshots of what the gameplay is like.
The screenshots help people to know what the game might look and feel like for them. This helps a better picture of the game be embedded into their mind, making them more likely to understand the project, and want to download it. I uploaded a zip file marked: "Stockwave Full Release 1.0.0.0" to the game. This shows people the file they want, and what version they are getting. The zip contains a NSIS file that installs the game client to their device automatically, and it provides a zipped version of the correct community server file so that they can run their own servers.
I spent about and hour doing all of the work necessary to set the build and storefront page up. Since, so much information needs to be present. These are just the basic settings, I have ignored most of the metadata and distribution settings for now, since most of them don't apply to this current project, and the way that it is built.
I customised the page with some imagery and colouring to fit the visual style of the game itself. I like how it turned out, as it has all of the necessary info that the user might want from it. The title banner and the training video are both also here so how off the game, and how it works. Now that I have set up the store, I just need to do the final finishing touches to the game itself to be ready to publish.
0 notes
Text
Classes Discussion:
05/05/2025 I mentioned about talking about this before, and I think that now is the best time to consider it.
Classes Discussion: I talked in my future prospects post about how I was considering adding classes into Stockwave. Basically, people would choose buffs that they would load into the game with. These would encourage people to try different strategies, and even create new ones. I have decided that I will be holding off on this idea. Potentially permanently. The reason being that Stockwave Online is fine as it is, I don't need to over complicate a basic game such as this. If the premise works as intended, then why add such a massive change to how people play. Along with this, I only have the 1 week left now. I could add this system in within that allotted time, but since I feel that the game is fine as it is, I will hold off for now.
The idea of the class system, would be that players could choose between some skills, and build a deck based on what attributes they want. The skills would buff them in game, and give them advantages in certain areas of the game. This would add build variety and encourage players to play in different ways because of this. It would also be relatively balanced since players would specialise in certain areas, where others would specialise in others. Again, this might overcomplicate the game. I don't need to be adding such a major change this late into the dev cycle. However, as far as the game's lifespan is concerned, there is nothing stopping me from releasing the game as is, and then later adding the class system as a new burst of life, when the game gets dull. It is an online game after all, and most live service games usually add systems like these later on to create new content for the games people already love.
I think adding this system would be a major bonus to the game. But, I don't think it would be the best use of my time right now. I plan to add this if I do later continue on the games development. But, it won't as a part of this Final Major Project.
0 notes
Text
Onboarding Video (Result):
05/05/2025 After an exceedingly long time in development, my onboarding video is in an acceptable state. I think it will need some slight work on it, but it works for now!
Onboarding Video (Result): I am not a good video editor. If I had one skill that I would come away from this project, thinking that I need to improve on, it would be this one. It took an embarrassingly long time to complete. Some from technical issues in the actual video content, some on my own part just being slow and unimaginative. So, here it is: P.L.E.B Training Video It comes out to just under 2 minutes of content. This is deliberate because I didn't want the video to drag on too long. I initially made it shorter, but ended up feeling as if the information being shown was not being front and center enough.
I noticed that the company didn't have a name. So I named it the "Pure Liquid Exchange Bureau". This roughly sums up what the company does in the initial blue screen shown. I named it this way on purpose. Because when the viewer sees the abbreviation used (P.L.E.B.), it immediately lowers the guard of anyone thinking that this game takes itself very seriously. It doesn't. It is 4th wall breaking crude language. It doesn't detract from the actual video itself. But, it does set the tone. It then shows off some of the environments, and then sets the premise of it being a training video. You may notice that the music I made in the last onboarding post is immediately present. It is actively slowed down here however, to match the speed at which the video is shown (90%). I literally rendered the whole video, and then rendered a slower version of it after. This extends the runtime by 15 seconds, and those 15 seconds are intentionally vital to pacing.
Multiple employees are shown at the beginning of the presentation to let the viewer know that there is more than just one person in the establishment during the game. Since they are all identical, it can give the impression as if they are almost perfectly similar to the player. This gives the mulitplayer impression immediately, and is confirmed over the course of the video.
I show some actual in-game footage recorded by myself in here as well. This can give the viewer some added context of what the game actually looks like. Although, half of the segments do still use the cinematic modes I made last time.
I break up environmental context with actual game knowledge. I inform the viewer on concepts like stock funding and deliveries through small segments in-between the comedic premise. This mixes education with entertainment in a way that a real training video wouldn't do, but this video isn't entirely made to be a boring demonstration of worker morals and effort. I actually need to focus on drawing the player in to play the game first.
Fortunately, since the player will only see this by downloading the game from whichever storefront I choose the upload this too, they must already have some level of engagement. Meaning that this is the perfect time to show something like this. The balance of a 2 minute half-educational video when the player needs entertainment and context to decide whether or not to continue their playthrough, is done exactly as needed.
Could this have been done better? Yes. By me in this time frame given? Maybe. Will I go back to it before the project ends? Likely, but without feedback on what I can do to improve upon, I can't really fix it. So the video is now done. This concludes everything left on my list of things to do. I am not done with the project, however.
0 notes
Text
Key Remapping:
04/05/2025 Key remapping is a major element of player accessibility. It may not seem very important for some, but it is as important as audio and visual settings when it comes to games.
Key Remapping: Remapping is the ability to change in-game keybinds to fit whatever control scheme the player wishes. A system like this is vital to player choice, accessibility, and compatibility.
Players may want to change keybinds for a number of reasons. Because this game is made for windows 10/11, people may be running on a wide variety of hardware. For this reason, some people's keyboards and mouses might have the regular layout. For example, some people may have a qwerty keyboard, meaning WASD is the standard movement keys, whilst a keyboard like azerty would have a completely different layout, making these keys make no sense. Some people might not even have certain keys. Take this half-keyboard example below:
My keyboard & mouse controls are already very user friendly. I only use keys that are almost guaranteed on every setup, no matter what the player preferes. I use: W-A-S-D-T Shift Tab Enter Escape Space Left Mouse Button Right Mouse Button These are the fundamental PC keys. Not having one of these on a keyboard or mouse is likely a choice. Without these core keybinds, most people wouldn't be able to set up their PC at all, let alone actually play any game on the system. Stockwave does not use any unnecessary keys in it's gameplay.
I've still added a rebind system however. Giving the player a choice on how they want to control their game is important to their experience, especially if they have an unusual PC control scheme. The only buttons you cannot rebind, are the mouse buttons, and the escape button. The mouse buttons are specifically there for input in menus, and don't make sense to rebind them in any circumstance, since you will still need the mouse for aiming in-game. The escape button should be left alone since it opens menus. Every single keyboard has an escape button since the whole point of it is the security that the user can escape what they are currently doing. Changing this destroys the whole point.
Letting the player rebind keys may sound slightly annoying from a technical space. Having inputs accept any key that the player chooses is a big prospect. It isn't that hard however.
I simply add some global variables which hold the data for each keybind. Every key has a UTF-8 code. This code is a built-in constant for windows devices, to interpret keyboard and mouse inputs. GMS2 can figure these out automatically with "ord" and "vk" functions. But for this, I would need to save these as their UTF-8 codes into a save file to save keybinds, and use them in these variables.
The biggest issue with making this, is displaying the UTF-8. They get displayed as a number between 0 and 500. I could simply draw that number to screen and it would be accurate as to what the player's current keybind is. However, they wouldn't understand it. They wouldn't even know where to begin to understand it. It is extremely user-unfriendly.
So, I wrote this script. It goes through almost every key that I can think of. This is generally similar to the keyboard typing script I made for text input, but using keycodes rather than actual string inputs. This small char system took longer than the actual keybind menu and implementation itself. It was tedious, but necessary for the accessibility of the project.
0 notes
Text
Community Servers:
04/05/2025 One thing that I mentioned in my nearly finished post, is securing sustainability for the game's lifespan. I'm choosing this route to try to fix that.
Community Servers: Everything must end. And something like this, would not live very long. Stockwave is an always online title. It specifically connects to a server that I personally run for people to access the content within as it was intended. The problem with this is, that anything online, will always be shut down at some point. Technology moves on. Eventually, when I export the game to Windows 10 and Windows 11, those operating systems will become obsolete. Windows 10 is already suffering itself a shutdown, making it unaccessable to new people. Eventually, required technology needed to run this game, will be outdated, and dysfunctional. This can only be avoided, by official or third parties preserving the source files of the project, and manually updating them to work with modern equipment.
Eventually, the original developers of that software will leave it be. No one entity can, or should even try, keeping updating something old forever. When it hits that state, we call it "Abandonware". Abandonware is mostly unable to be accessed in its original intended state. This is not a commercial project. So keeping up with modern hardware will not be a priority past the completion of this project. The game will likely run for the next 15 years maximum, given that nothing drastically changes the technological world anytime soon. The bigger issue I have is will the server I am running. To play the game, I will need to run it on a computer at all times. This is not sustainable for me. I can run the server off of a computer, but for how long? I will eventually need to turn it off at some point.
My solution, package the server client with the game itself. I have made adaptions to allow the public to host their own servers on their own devices, given that they know how to do so. I give the the port number in the bottom left of the app, I also make it show current lobbies on screen when they do exist. There aren't any in the image above, but they will show when someone connects. If people are willing to open the port through their router to play this game, they can absolutely continue playing the game on the right server despite any issues or shutdowns on my part. It is not optimal, but it is the most long-running solution possible. The people to run the servers, are the people still wanting to play the game.
The player is given the option on whether to connect to my official server, or to a third party community server. This allows me to split them up. For networking to work, you need to supply an IP address to connect to. An IP is basically a phone book of internet routers that can be figured out by the computer, to know who to connect to.
In initialisation, I set my custom Playit.gg IP address as the official IP. When the player presses official server, the game automatically tries to connect to that one in particular. This makes my server the only one that official servers will try to connect to.
When on the community servers, it will ask you for the IP of the community server. This is required information, since there is no way for a computer to casually get server IPs sent to the client. It needs to be done manually be a person. I manually set mine in initialising so that the player does not need to type of official IPs every time they try to connect, making it easier to play. Here, it is significantly more annoying, but necessary for future preservation. This system is perfect for long-lasting content such as this. Preservation is very important in the form of media, and this extends it's lifespan drastically.
0 notes
Text
Onboarding Video (Compositing):
02/04/2025
Good progress is being made on the onboarding video. I want to make sure that this is the best thing it can be. Since it will not only be an introduction to the game, but the whole idea of the game.
Onboarding Video (Compositing):
The first thing that I wanted to emulate, was the music. I was very exited to make something like this, and it is a great way to set the tone for the video.
I used an extremely simple track combination for this. This is because many commercially made songs are made cheaply. Like the one in the pizza hut training video, no one actually cares if the song is liked or not. It needs to meet the bar of setting tone, and to be simplistically enjoyable. The song only uses 5 different instruments.
I use very particular instrument setups to get that classic sound. Soundtrap already had a very 80's-like soft drum set, but I had to get creative for some of the others.
I used a jazz piano and jazz acoustic guitar for the opening. This is just taking a regular piano and guitar, and digitally turning the tone down, and then turning the brightness up for that pop-like effect. I added a few more electronic effects, like a chorus and flanger effect as well. These are the type of modifications that they would have done in the 80's to make their instruments more electronic. I then use a "mostly" raw synth, and amped guitar for the bridge. The synth bass in the background is a staple of 80's media that gives the electronic sound it's retro effect. It is a modern bass, but not too modern to seem out of place with the times.
The song is at 140bpm, which is relatively fast-paced for a chill song. Although it does fit in the right categories.
<120 - Slow and jazzy songs,
120-140 - Chill songs,
>140 - Fast and intense songs,
So 140 just breaches fast paced for most songs. But, because of the soft instrument choice, it doesn't sound too aggressive. This gives the song extra energy, whilst feeling more chill on the surface.
This is the only song in the OST to be in a major key. I always use minors because they give songs a lot of sorrow and edge to them. I would obviously use a major key here, because it is supposed to be bright and happy. It is in Ab key.
A consideration that I had, was to make the video as close to an actual 80's video as possible, by making the ratio 4:3 and the resolution 480p.
4:3 is an aspect ratio. The aspect ratio is the proportions of the actual video box on screens. In the 1980's 4:3 was the most common aspect ratio for televisions, whilst lower res picture like 480p, was the best we could make with CTR screens. Since then, we have moved on to a 16:9 screen world, where 4:3 is only used for retro TVs, that specifically try to be as 80's as possible.
We also have 21:9, but this is basically only used in movie theaters, and movies are rendered at both 21:9 and 16:9.
The problem is that 4:3 and 480p are objectively worse to look at, than what we have in the modern day. Whilst I am looking to resemble the same idea, I don't want to replicate the same discomforting issues that were present in those times. I can make a reference, without the user suffering through the issues that reference once had.
So, i'll stick to 1280x720 for 16:9. I need footage for the video. Since I don't want the actual video to be too far astray from the source material, I can use actual recorded gameplay clips to show concepts that I need to in real time.
This is a screenshot from my controller object. Over the course of this project, I have been using it as a debugging system as well as a main game controller. When I grant myself developer permissions, I can use hotkeys to do certain things for me, that usual players will be unable to do. This helps me be more efficient when testing certain features. I made a system called "Cinematic Mode", which will disable the UI elements on screen, so I can have cleaner shots.
I can also use editing skills to make this footage look better. In a program like blender, I can render motion graphics to use in the video.
A simple, infinite grid-running graphic can do just the job. I simply make an outlined square in blender, and then use arrays to multiply it further than the eye can see. Then just render a camera moving down the grid. I only need about 10 secs of footage, because if I render it right, I can make it seamlessly repeat. I can also use hue, saturation, and value, to change the appearance of this grid, without needing to re-render the whole thing. I can do this straight from videopad.
Doing simple stuff like this can produce large amounts of custom footage, which allow for the video to never feel like it runs of out visual content. The biggest issue that I face in this whole thing, is how the old Pizza Hut videos are presented. They all have voice overs. I am not a very good voice actor. I can do it, but not well. I am pushing my own capabilities by making a big video like this to begin with. It will not be as flawless as anything else in the project, but adding a sarcastic voice over by me would increase the feeling of cheapness in the video. Considering that this is the first impression that the player sees in here, I do need to worry about the quality of things like that. I have 3 options at my disposal to deal with this. 1. Do the voice acting myself and have the whole video feel cheap: I just explained why I don't want to do this, so I simply won't for now. 2. Get someone else to do the voice acting: I don't really want to do this either. I could potentially find a novice presenter in my friend group, or literally anywhere else, to potentially do this for me. However, unless I get someone decent, it will again come off as cheap. I could also hire someone from a service like voices.com or fiver.com. But, I would have to give them time and notice, along with the fact that it would cost me majorly, and the project wouldn't be mine entirely. I've done everything myself thus far, I think I want to stick it through until the end. 3. Don't use a voice over: I'm going to do this. I would rather make something less like my original goal with some kind of quality to it. Than follow through with accuracy and make something bad. It would also fit into the game better, since there is no other voice acting throughout the entire rest of the game. Having it here once could potentially be alienating when people realise that all communication is through text. With all that said, I think I can make the video now.
0 notes
Text
Lobby Settings And Options:
01/05/2025 The first day of the last month, it so happens to also be the last core technical feature left to do in the game's code.
Lobby Settings And Options: This should be pretty self-explanatory in terms of the actual code.
As you can see, the lobby now has a box underneath the title to show the current game settings applied. These get sent over packets using the same old json stringify system I have been using since day 1. The host's "INFORMATION" selection in the menu is replaced with an "EDIT SETTINGS" selection. This is so only the host can change the game settings. It is their lobby after all, they choose the rules.
I just use a settings-like menu using the actual game menu system to allow the host to edit their custom settings. I made 6 different options that affect very different things. Stockwave Count - This is the amount of stockwaves that the game will go through before ending the game. Stockwave Timer - This is the real-world time between each stockwave event. Secured Stocks - When enabled, the game will send all bought and stolen stocks to the "Secured Stocks" inventory to balance the game. I allow players to turn this off if they want utter chaos. Item Quantity - A multiplier for the amount of items that are found in loot boxes. Item Quantity - A multiplier for the chance that items spawn in the loot boxes. Starting Grant - The amount of liquid cash each player starts with in-game.
The reason I added lobby settings is so that players can choose how they want to play the game. Players are given the option to tweak the gameplay to their liking, rather than me personally setting everything up. Some players might want shorter games with less time, or longer game with 100 stockwave events, or an item drought, ect. This also stops me needing to balance these features later. If people can choose what they think is balanced, then that becomes the societal normal. This again puts more power in the palms of the players. It also means that if I do manually change settings, then players who prefer the old gameplay style can still play that. Even when everyone else is moving on. A simple system like this gives power and control to the players. The people who would actually play this game. It isn't particularly competitive, so there is no reason to moderate balance to such a restrictive degree. It adds choice. Players should be given choice. It is their game experience after all.
0 notes
Text
Improving The Player Experience:
30/04/2025 The main purpose of a game, is to be entertaining. So, it would make sense to improve the overall experience that players can have.
Improving The Player Experience: Most of my time working on this project recently has been me, thinking at night about what isn't up to par on the project currently, noting it on my phone, and then waking up to work on those things. Today is no different. I want to make the experience as perfect for an audience of the public as possible, despite whether I actually intend to release this project publicly at all. So, it all comes down to adding small features and fixes that usually do not take up too much time to do on my own. These additions usually are not interesting, or focused enough to be documented individually on this blog. Doing them all would use up an extreme amount of time. Time that I could be using to actually implement these features. So, I am going to showcase some things that I have added recently, that don't in of themselves add too much to the game. But, they do add to the overall experience.
The first thing that I added, was the ability for other player's cash to show up for all players. As I mentioned in the text chat post, players need to feel as if other players are in the game. And one great way to do that, is to allow players to see each others progress, and compare it to their own. In the image above, I only have 1 player connected. But, when multiple players are in-game. This list will organise itself to show the placement of each player from top to bottom. It displays their name, and current pocket cash. The screen itself could be upgraded later. But as of now, it does it's job.
Along with this, a while ago, I made an array listing colours that will now represent individual players depending on their placement in the lobby. This shows up everywhere in the game, like in the cash list. The host will be given a lime green colour, and so there it is.
In the bottom-right corner of the screen, a few small icons appear. These icons are here as a mini-tutorial into what buttons the player can press. It shows an easily recognisable icon of a keyboard or mouse button, and a symbol showing what it says. When new players join in the game, they won't know that they can open the inventory, map or sprint. Therefore, these buttons are here as prompts to guide them into figuring out what they can do in-game. The buttons light up green when being pressed, to give the player certification that they have hit the right button. They do not take up very much space, and can be turned off in the settings at any time. Their purpose is very helpful to guide new players, and make the game feel more tailored to their personal experience. Since they are also reactive, the game feels much more responsive because of them.
The screen here is the transition fade into the game from the lobby. But, something here is new.
This 4 frame animation is a loading icon. These are used in games to show the player when something technically massive is happening behind the scenes. It was originally used to show that a save was happening. As games would say at the start:
If an application is closed for any reason whilst saving a file, it may not save fully, but it will overwrite some data. This can corrupt a file. This makes it so the player knows not to close the program whilst it shows onscreen, so the game can function normally. Now, most games can open, save, and close a file within actual milliseconds. It would be incredibly unlikely that a player would shut a game down at that moment. And if so, showing that icon wouldn't be useful anyway. One thing that I've noticed, is that I personally use these icons as a way to verify that my game has responded to saving or loading a file. It gives me the confidence to know that the game is working properly without issue, and that shutting down at any later moment is fine.
In Metal Gear Rising, it is used to notify the player that their progress has been saved as a checkpoint, without a minor interruption to the flow of the game. It is a symbol of security to the games functions that the player can rely on, and feel more secure. Simple things like these need to be added in games to make them better for a player to actually play. Most features shown here will never be talked about by anyone else, but they are still vital to the player experience.
0 notes
Text
Quarterly Evaluation Pt.3:
27/04/2025 It's that time of post again. I have reached the end of the 10th week, and must evaluate my progress so far.
Quarterly Evaluation Pt.3: I am now 3/4 of the way to the end of the project. Mostly. The 13th week is not really a week. Rather, it is a single day, in which I must upload the final project on. So, I have 2 weeks left. Am I worried? No. I have a single thing left on my to-do list left, in which I have recently just made 2 posts explaining my journey of doing it. Past that, I can finish the community servers, I could add controller support, and consider adding a class system. Along with this, I can always polish up the rest of the game environment to make the best impression I can. There is also the publishing and testing element, which is becoming harder and harder to set up as this project goes along. I WILL do it though. I won't let the game go mostly untested.
I finished almost everything I wanted to. 2 weeks does not sound like a very long time, but I don't have a lot left to do either. I didn't really feel as if I had much to do in this 3rd quarter. You can compare with the amount of posts I have made throughout each quarter: Q1 - 28 Posts, Q2 - 28 Posts, Q3 - 16 Posts, It's a single post behind half of either quarter. I do understand why this is however. At this point in the project, all of the core systems, unintended issues, and core research has been done. So, there isn't a need to make such posts now. The smaller things that I do are now so small, that they aren't even worth mentioning. I do think that the posts have gotten bigger however. For the first time in any project, I hit the character maximum on a post, and it was almost entirely paragraphs of context. My posts have enlarged because I am now not doing preparation for new systems. I can just make whatever I need.
The project has come a long way from what the original idea was. A simple synthwave multiplayer heisting game, turned into... Another synthwave multiplayer heisting game.... with stocks. My progress has been incredible. I planned on the project timeline that I would be quite ahead of schedule. And, I am. But now, I am becoming more lost on what to do next to improve.
I made UI weeks before this. I made settings a very long time ago. I composed the music at the end of the first quarter. I fixed so many bugs and issues. I have done almost everything here on this list. The thing I still lack, is the publishing to testers, and receiving feedback. This has been very difficult to set up thus far, but I will put 90% of my energy towards this, once I finish the onboarding video. I remember saying this on the last evaluation, but I do not feel that this timeline is very effective. It lacks so much of what I have done, and puts extremely broad concepts under a simple sentence. The actual times I prepared to do these things were not closely followed either. This is due to realising how fast I am actually doing these things, and that I could just do the things planned later when I could. Why put off my later tasks, when I could do them now? This also allows me to build a bigger project, at a more natural pace. Forcing myself to follow my own strict regiment is a good idea to make sure it is fully complete. But, if it only slows me down from making the best thing I can, why should I even have one in the first place. If I have one major takeaway from this project, its that I need to design my project timelines significantly better. It is not created in a way that would allow me to evaluate my progress well, nor actually tell me what to do. In retrospect, the project has gone exceptionally well thus far, and I am on track to completing this project on time, and in the state I want it to be.
0 notes
Text
Onboarding Video (Planning):
23/04/2025 On the focus of tutorials, I need to continue thinking and planning mine.
Onboarding Video (Planning): I had to think about this over the duration of the development of this project. A good way to make a tutorial is a struggle for an online-only PVP game, and for a single person, a monumental task to do right. It hit me one day though. The way to do it lies in the project theme.
To recap, the project is about the player going to work at a stock-broker firm. They go to work to become the best employee in the establishment through any means necessary. The entire idea is the 1980's yuppie mind-set, within a stock-trading environment. the 1980's coming from the Yuppie mindset, and the synthwave aesthetic. So, how do employees learn what to do at their job? What is an employment tutorial? A 1980's work training video. I make a video that plays at the beginning of the game, that plays out like a video teaching the players their goals and how to achieve them. I use the synthwave 1980's aesthetic to stylise the video. This works extremely well considering the circumstances. It would be outside of the game environment, so players don't learn whilst in the area of other players. It teaches them basic concepts that they need to learn, whilst giving them that environment to play around in when they load in the game. It also is relevant to the environment, and concepts of the game. Above all of this, 80's media like this, along with adverts, infomercials and other edited videos, became extremely random and comedic of the era. They didn't take themselves too seriously when making these, as long as their point gets across. A few for reference:
Maxell Tape
Ocean Pacific
Wendy's These really do encapsulate the parodic humour that I wish to present in this game, and making a similar video in this style would give that similar first impression. The bad visual design and compositing is just a byproduct of it's time, but I would love to make an effort to emulate it. First though, I need to consider how I do it.
I have a lifetime license to Videopad Video Editor, a video editing software that I know relatively well. The whole editor itself works as any modern editor does, but the reason I think I could use this one over something like Premiere Pro, is that the software was developed in 2008. It does give some of the retro video graphics charm when given the chance naturally. Obviously, this is not a defining factor. Making something old by using the same technology is a good way to get accurate results, but my goal here is not to make something hyper accurate. Just something modern that resembles these old videos. The next thing I need to think about, is what I need to cover in the video. The list: Location Your Purpose Your Objective Other Players Comical Violence Resource Gathering Stock Trading Stock Affecting Deliveries Ending The Day Employee Of The Month If I can cover these things well, while not being too regimented in over-explaining these things, I would be able to capture the essence of the aesthetic and the game itself, in neat introductory package. I need to make sure it is not too long, as to avoid ruining the intrigue of it by making the joke run on too long. My biggest inspiration for this comes from the 1988 pizza hut training videos, and their unintentionally comical output.
Pizza Making Safety Pizza Delivery I think the appeal to something like this is how fake everything feels. The 80's was a difficult time for media with the invention of CGI imagery and effects like those shown in these videos. They are comically bad despite being made to look as good and impressive as possible. They were impressive, but even at the time, they didn't look that great. The mundaneness of the purpose of this video, along with the terrible acting from the employees contrasts with the tone they obviously want to show. An employee training video is one of the most boring things to make in media. Anything that focuses 90% of it's energy on education, for a topic no one really wants to learn, is extremely boring. It's the attempt to make the video more interesting by adding a story that the viewers can follow along on the pizza hut journey, along with with the bland (but modern (for the time at least)) music that they use just adds a contrast of something extremely boring, being not so uninteresting because of how bad the attempt was. I want to replicate this. I want to replicate this to the best of my abilities.
0 notes
Text
Onboarding Video (Tutorials):
23/04/2025 This is probably the biggest single thing I've attempted to do since developing the whole server in one sitting. The Onboarding video (Or Introductory video as I've previously called it), is one of the core elements that I need to add to this project.
Onboarding Video (Tutorials): To explain my solution, I must explain my problem. The game does not have a tutorial. Every game in existence has some kind of early learning section which teaches the player about it's contents. It is vital that players understand how to play the game, before they play it. They need to know their objective, why they have that objective, how to get to that objective, and what they can do to get to their objective. For this reason, games have tutorials. If a player does not understand the game, they cannot enjoy playing it. A player not understanding what they can, and have been doing, then they have no objective or understanding of what their objective should be. A game does not function if a player is left scratching their heads about what they are seeing and doing. Therefore, tutorials are vital. It's even more vital, that tutorials are the best they can be. This is because they are the first impressions that the player gets of the content soon to be shown. First impressions matter, because they decide an immediate opinion of everything soon to be shown. Tutorials come in all shapes and sizes.
Metal Gear Solid V: The Phantom Pain MGSV opens with an unskippable mission set in a hospital. The game opens with 15 minutes of pre-scripted events, with the only context being that you are trying to figure out why you are in that hospital. Over time, you learn about your injuries, and eventually get raided after a while of interaction. The only thing you can do at this point is nod your head.
You soon after start learning basic movement. Although, the focus is less on the gameplay, and more on the environment and events happening around you. MGSV is a stealth-action game. So starting the game slow, and building up to a more intense environment overtime is a good way to start introducing the themes to the game.
The environment gets more intense with military raiders mass-shooting the hospital. Not much in terms of gameplay really happens here however. Most of the level is in-game cutscenes that show the world around you getting more and more violent. But, because of the story revolving around you hiding from the militia, the game sets it's darker themes, along with that stealth-action gameplay ideals. No main-game gameplay is actually presented to the player in this mission, but it's environment and story give you everything you need to know about it.
The level itself is about 1.2h long. So considering that barely any gameplay is shown, the game does captivate the emotion and genre that it needs to in one level, before moving on to actual gameplay.
HITMAN 1/2/3/WOA The modern hitman trilogy starts in almost a completely different way. The game starts with a prologue explaining the situation that the player is in. An international assassination contract agency wants you as an agent. So naturally, you are placed within a training facility to see if you can manage an actual mission.
Hitman focuses less on story, and more on actual gameplay. And because of this, the tutorial level focuses on gameplay more too. You are given 2 assignments here. The first is to assassinate the actor target on this model ship that they constructed while being instructed how to by the handler. (The person on the communication device). The second, is removing the handler explanation, and allowing the player to freely plan out how to kill the target with the tools provided.
The intention is that the first assignment will guide the player through mechanics periodically. They will learn the controls, and the type of actions they can perform to manipulate the environment around them into what they are doing. The second is to allow them to use those skills that they just learned to manipulate the environment in the way that *they* want. This both shows off the mechanics, and the freedom that the game allows when in the mission. It lets the player be more independent when approaching the game, whilst also giving them the brass tacks of the gameplay.
Hitman leads with it's main gameplay loop in a basic and controlled environment, before letting players loose in it's large world of assassination.
Five Nights At Freddy's FNAF puts you straight into the game. It opens with a main menu, and then straight into the game. You get placed in an office that you will spend the whole game in. A few buttons are at your disposal. How FNAF explains the mechanics to you, is not by showing button prompts, but by explaining the environment, and letting the player realise their objective naturally.
A phone rings in the background and answers itself after a short time. A guy from the company you work at tells you about your job, and about the establishment you work for. Most of it just fits into the world building. But, by paying attention, the player realises a few things. The phone guy starts telling you about the performance animatronics in the restaurant, and about how they wander across the building. The player has a few things they can do at this phase. They can open and close doors in the office, turn on lights in the hallways, or look at live security camera footage of the restaurant.
At this point, they see the characters start moving across the environment. During this time, the phone guy mentions about safety concerns and animatronic behaviour towards humans. He doesn't explicitly say anything about you being in danger from these characters, but because of the lack of information, the player is now assuming the worst about their situation. The game uses environment and drip-fed context to not only intrigue the player, but actually use their natural instincts of survival to give them an objective. At the end of the call, he mentions about doors and lights, and later about how other characters work. But as of the call ending, the animatronics start making their way towards the office that the player sits in.
Because of that phone call, the player now naturally distrusts the intentions of the characters around them. The instinct to survive encounters with these beings now outweighs any other motive. Using actual fear as a motive to defend ones self is a great way to introduce mechanics to a player. FNAF does this excellently. All tutorials covered and more have the same concepts repeated: Presentation - How interesting the tutorial is, and how to keep it in focus. Relevancy - How relevant the tutorial is to the rest of the game world around it. Information - How well information is given to players to help them understand things. I have one issue with everything just said. My game is online only PVP. Look at any other online-only PVP games out there. Counter-Strike, Rainbow 6 Seige, Battlefield & more. How do they do their tutorials? They can't grab real players from the web, and expect them to be a fair and well-presented obstacle for a tutorial. You cannot teach online elements to people. Since to practice, you need people. There is no story, and the objective is relatively simple. All PVP games struggle at tutorials. Unless you just skip the PVP elements, you can't teach it naturally. So, I'll have to consider that whilst making my tutorial.
0 notes