Lost Marbles Development Blog 1

Lost Marbles

Lost Marbles is a fast pace physics-based rolling platformer. The game includes 3 game modes; Time Trials, Gem Arenas and Arcade Playlists. The game is broken into 5 difficulties, so no matter your style of gaming, there will always be something to play, and every level has a global scoreboard.

[b]Hello Everyone![/b] It has been a little over a month now since Lost Marbles released into Steam Early Access, and since then there have been a few small updates and bug fixes, but nothing major. Shortly after release I made the decision that it would be better to focus on less frequent, larger updates as opposed to drip feeding small content updates into the game. My thought process behind this was that it would be easier to promote large updates and thus hopefully grow a larger player base. It is much harder to create (and justify creating) promo material for small updates that only contain say one level for example. [h3]So what will be the first major update?[/h3] My current main focus is an update that I am dubbing “The Challenge Update". Most of you that have played the game or the demo during Nextfest will likely know of the challenge mode currently in the game. It consists of existing game levels with additional or modified level and or marble parameters. My idea for the challenge update is to expand on this existing idea. The original intent of challenges was that they would be available for a limited time and once that time was up, they would be retired and never accessible again. This will no longer be the case. The goal of the update is to release with a pool of 100-150 challenges, with 5-6 of these being available to play over a given short time period, for example 1 week. Each set of levels available at any given time will be part of a group, of which there will be around 20 - 30 of at launch. An example of this would be that each week, a random group is chosen, and then 5-6 levels will be chosen at random from that group. Challenges can belong to more than one group, and challenges can be seen more that just once, as they will no longer be retired after a period of time. I will release a full list of the possible groups in the actual release promo material when the time comes. You may be asking why not just release all of the challenges at once, and there are a few reasons why. Firstly, 100+ levels is massively overwhelming for the large majority of players. A lot of people initially think that having a large number of levels is a good thing, but in a game focussing around difficulty and/or speed running, less is sometimes more if you actually want your player base to enjoy all of the content. The second main reason is that is focuses the competition into a small number of levels. On top of these reasons, a side effect of having these levels baked into the game is that it would increase the games file size, so downloading the data to rebuild a small number of challenges is a good alternative. On top of all of the new challenge levels, the update will also include an improved level select and leaderboard menu (for both challenges and the regular game levels). As far as a release date for the update; I don't really want to speculate on it currently, as there is still a lot of work to be done. [h3]What work does the update require, and why is it taking so long?![/h3] I wont lie, this update requires a significant amount of work, some of which relates to a future update that I will discuss in more detail further down this blog, but most of it is related to the sheer number of levels I am aiming to produce. On top of the large workload, I am a single developer working on this game in my spare time, so I hope you keep that in mind and are able to be patient with me. As I'm sure you would agree, a goal of over 100 levels is ambitious, and the amount of time required for a single person to think up and assemble that many levels is a lot. Some levels are simple to produce; just change a few marble parameters and your good to go… But I am far more ambitious than that, and I am looking to think outside of the box on many of the challenges, so these ones take quite a bit longer. Before a challenge is made, I first have to rework the existing original level that the challenge is to be based on. This is because currently, a level is made up of three main objects. The main level mesh, the smaller square platform meshes and the level railings. This worked well for static game levels, but in order to create a challenge based on a game level, it is nice to have the level set up in a more modular way, so specific elements can be removed/relocated etc. . In order to achieve this, I had to rework every level by effectively cutting it up into smaller components, and this takes a significant amount of time and effort to achieve. I have mostly just been doing this as and when I need a specific level for a challenge (in order to keep my sanity) and am happy to say that this portion of the work has almost been completed for all levels. Fortunately this process is only really an issue for all existing levels, as any new levels I make in the future will be made with the required modularity in mind from the start. Next I have to actually assemble the level. In some cases as mentioned above, this can be as simple as changing a few parameters on the marble, but for other levels, my goal is to completely evolve existing levels to the point they may not even be recognisable. These are the levels which will take a considerable amount of time to produce. Finally, the levels must be tested, and a challenge time set. My opinion may be a little biased, but I do really enjoy playing the game, and so this part of development is a treat. It does however, still take time… And on top of all of the above, every time I want to use a new object (a bumper for example), I have to rework the object with the ability to read and write build data so that it can exist within a challenge level. I have also opted out of hard-coding level logic inside of the unreal editor its self, and I am instead creating a sort of meta-programming language that can be assembled at run time. This allows for dynamic objects to work, such as moving platforms etc., since the code to run them cant be built into the level its self as an empty level is built from scratch when a challenge is loaded. [h3]Why are you doing all of this additional work when you could simply build challenge levels the way regular game levels are made?[/h3] I know that above I mentioned in my reasoning for not releasing all challenge levels at once that including the levels in the packaged game would increase the games size, and this is true, but honestly the size would be relatively small, and who really cares if the game if a few hundred mb more than it currently is when there are so many games nowadays hitting 50gb+, right? I actually have a very good reason for creating the challenge system in this way, and this leads me into what I very briefly mentioned above. The build tools I have created for this challenge update actually lend themselves very nicely into the development of an in-game level editor and level sharing system. [h3]My ideas for a level editor[/h3] My idea behind a level editor is simple, and it has been a long time ambition of mine to include one in this game. The main elements of my proposed ingame level editor are as followed: - The ability for a user to place objects at runtime - The ability to write all relevent information from a level to a block of data to be stored in a database at runtime. - The ability to rebuild entire levels, including level code, from data stored in a database at runtime. Two of the three main components of a level editor have already been solved due to the way in which I am setting up the challenge system, and everything so far has been made in a way that will be super simple to extend its usecase into such a level editor. The remaining “ability for a user to place objects at runtime” is by no means a small task, and may actually end up being the most time consuming part of a level editor build, as it includes a lot of complicated functionality, and a lot of UI elements to be made. For me personally however, the part I struggled with conceptualising was the saving and loading of level data, which I now have a solution for and is already now in use for the challenge system. Additionally, my idea of a built in level editor also includes the ability to upload/download user levels from a centralised interface inside of the game, removing the need for such things as the steam workshop, and thus presenting the ability for cross platform level sharing should the game make it on to any other platforms in the future. There is currently no timeline on when this will become a thing in the game, and it will absolutely be after the release of the challenge update (and not part of the challenge update), but I do want to get it out publicly that this is something that I am very interested in adding to the game. [h3]Other Stuff[/h3] Because I am working alone, and some of the stuff I'm working on in relation to the challenge mode / level editor is quite hard for me to do non-stop without burning out, I am also working on a few small side projects to keep myself sane. As mentioned above, the challenge update will come with some (hopefully) shiny new level select and leaderboard widgets, because currently the arcade and challenge level selects don't show even half of the information that they should. And as far as the leaderboards go, whilst I don't hate how they look, from a back-end perspective they are a nightmare to work with, so reworking those is more to help future me than creating a new public look. On top of this, I am starting to learn how to use Unreals Niagara particle system to create some effects for the game, as there currently are non in the game (except the finish particles which kinda suck). These will likely just be added to the game once they are ready during any bug-fix updates etc, and wont be held until the main challenge update. They should hopefully add a nice layer of polish to the feel of gameplay that is currently missing. [h3]Wrapping up[/h3] If you have made it this far, thank you for reading, and double thank you if you have already bought the game! <3 If you dont yet own the game, please tell me what I can do to change your mind and make it happen! XD If you have any questions about anything mentioned here, or anything else related to the game, I'm always active in the discord so feel free to post them there. Alternatively, you can post on the Lost Marbles Steam discussions page or comment on this post if that is more your style! I hope you have all had a wonderful festive time and hope that what I have shared here today about Lost Marbles in 2023 excites you as much as it does me! Thanks! <3