Hi, quick update!
Tile placement is now working smoothly and relatively bug-free! I've spent most of the weekend rewriting/organizing the level editor code - in other words, refactoring. I've come to notice that the naming of variables and resources in the game is inconsistent, and that the style that I write in general is inconsistent. I am now being mindful of this issue, as it greatly contributes to workflow and the readability of the code.
The next goal is to incorporate saving, which shouldn't be too difficult, as I have completed most of the prerequisites to do so. Most of the tile data is already saved in several arrays and grids - I just need to harness them in one file!
More to come soon!
I haven't been posting recently, but do not let that delude you - I have been working! In October, I made the realization that my workflow is inefficient, and that I do not accomplish as much as I would like in the time that I am developing. One huge problem to tackle is the efficiency of level editing, scene creation, and creating the bulk of what this game will be. The room editor has too many miscellaneous features and is too clunky to be able to quickly create levels the way that I would like to create them. It may be passable, but it does not maximize the amount of time and effort spent. The solution: a level editor.
I know that recently I have been posting ideas and things without any sustenance, but this has been in the works for quite some time. There is also the usual obstacle of life, and as I am developing as a hobby, I am not able to spend as much time as I may want to on this. Here are some screenshots:
This is the general layout of the editor. I am utilizing the GUI Library IMGui for this project, with a port to GML by rou.sr - and it is working tremendously. Being able to focus on what actually needed to be completed rather than spending all my time creating a GUI system saved huge amounts of time. It is incredible easy to use and is the heart of this project. I am not fully settled on the design of the GUI, but it is workable, and I intend to polish after creating the bulk of the features that I would like to incorporate. Enough talk about the GUI - let's get into the editor!
Additional Developers / User Level Creation
For as long as this project has existed, it has been my project and mine alone. I have had no one to share the burden of development with. With this level editor, I can now share this burden with people who have no coding experience. I can enlist the help of friends to create levels, which will take much of the repetition out of what I am doing. I have already had several individuals agree to help, which has been tremendous news.
Who knows? I think the game is actually on its way to being finished.
I'm a bit late for the weekend blog post, and this will be a rather short post, but here we are! I've been deeply inspired by Levelhead and their level editor, and I've decided that I want to implement a comprehensive trigger system for different objects in levels. For example, a timer may trigger a door to open on a certain interval. Or, a pressure plate may trigger a change somewhere else on the level.
Like Levelhead, there will be transmitters and receivers. Receivers will be the traps or objects themselves, such as doors, walls, weapons, enemies, or any other controllable object. Transmitters will be things like pressure plates and timers. If the receiver receives a positive signal from the transmitters, the receivers will react accordingly. It should be a very clean-cut system, and this will allow for the complex development of intricate levels without complicating my workflow too much with the unnecessary creation of objects and manual timers within those objects.
That's all for now. Until next time!
In regards to the frequency of these posts; sorry. I'll try to maintain a weekly/biweekly posting schedule moving forward. You can expect these blog posts to go out on either Friday or Saturday. In recent times I have been looking at the cinematic requirements of the game. Certain elements are required to make the game feel cohesive. These may be small things like the transitions between levels, or cutscenes to introduce certain plot points to the player. In response to these needs, I will be developing a cinematics system.
The cinematics system will function similarly to the native timeline in legacy versions of GameMaker. The purpose of the timeline was to execute events consecutively. Instead of events, this system will execute scripts consecutively. For example, imagine a door is about to be opened. Here are the series of events executed once the player touches the door:
Until next time!
Apologies for missing last week's post, but here we are. Unfortunately I didn't meet the February deadline of improving the combat system/creating a system for enemies and their AI. This process will probably be more drawn out, and will take longer than one month. Therefore, these tasks will be something that I complete in March and April.
In other games that I have developed, their interfaces have been clunky and seemingly unprofessional. I want to change that in Nesus, because I feel that a developed interface can solidify the game as a serious project, rather than the work of an amateur. Here are two separate concepts for the item tooltip.
The first example is a condensed version of the tooltip. It shows the item rarity, attack/speed statistics, and its monetary worth in the bottom right.
Overall, I am quite pleased with the result. The only thing that I may want to change is the font used for the currency in the bottom right of the tooltip. Another aspect of the game that I failed to mention was the aspect of discovery - as the player discovers the world, they will be able to find, use, or sell a slew of weapons designed by me, as well as some that may be procedurally generated.
In addition to these UI concepts, I also worked on the sound engine. Sound is vital to having an immersive experience in the game, and I want the music to be seamless in most instances. The engine will consistently run tracks throughout levels, with the capability to play tracks when certain events are triggered, or when the character reaches a certain stage in the level.
Until next time!
February's task is to improve the combat system and create a system for enemies and their AI.
The author of the blog is Alec. He posts weekly, usually on the weekends on Saturday.