Reminder:

Make sure your build is at or higher than the latest build posted below. If it's lower, verify the game contents to force an update. It's also important to remember that the sandbox depot is not updated regularly. This depot is only used for confined testing. If you were working with me on one of these confined tests, please remember to opt out of the sandbox depot so you're always receiving the most up-to-date build of the game.

Saturday, December 31, 2016

Build: 1546058

First Build for Unity 5.5
The first major build update for Unity 5.5 has just been uploaded.

Please note though, this build still has a ton of issues that are currently being addressed. Not the least of which include:

  • Some sound effects aren't playing correctly.
  • Color switches (among others) aren't detecting collisions properly.
  • Various graphical issues.
Additionally, you'll notice when starting the game that a "Made in Unity" watermark displays. This is because for the time being, the game is being developed in Unity Personal Edition. This logo will persist until further notice, however will not be apart of the final build.

Legacy Branch
The game is still unreleased, so I'm not particularly concerned with pushing broken versions of the game. However the severity of this build has lead me to create a legacy branch that will contain the original Unity 4.6 build of the game. This branch will exist until all known issues related to the upgrade have been ironed out, afterwhich it will be removed.

You can access it by going into the properties of the game under Betas and selecting the depreciated branch.








Please keep in mind though, this branch is exactly as the name implies. Depreciated. It will no longer be receiving any updates and should not be used for any further testing. It's primary reason for existing is to have an archive version of the game to compare functionality with the new build while the kinks are worked out.

Friday, December 30, 2016

Major Upgrade




It's been awhile since the last major update and at the current moment, doesn't look like there will be another one for a little bit.



As it currently stands, there are two major changes happening to the game. First and foremost, I am working on upgrading the game from Unity 4.6 up to Unity 5. This is a significant change to the game, especially since believe it or not, the game was originally started in Unity 3.5.

The major issue right now is graphics. A lot of work needs to be done to repair the shaders, particularly the diamonds. This has been the primary reason for not upgrading.

That brings me to my second point.
Up until now, Diamond has been operating off of the Steamworks v1.34 library. Steam Controller support was added in Steamworks v1.35. Unfortunately the latest version of the Steamworks.NET library for Unity no longer supports Unity 4.6, leaving me stranded with Steamworks v1.34 or lower. Not ideal for checking off a major feature I plan on adding to the game before release.

That being said, the next big update will bring the groundwork for full Steam Controller support. A feature I've been wanting to do for a while and is the primary reason I invested in one.



I'll be sure to keep the blog updated on any news going forward. As for updates, hang tight. They're coming.

Thursday, December 22, 2016

Build: 1535728

Officially Licensed
There aren't any major changes to this build beyond the fact that for the time being, all watermarked music has been temporarily disabled. In their place will be the first officially licensed track for the game.

Tuesday, December 20, 2016

Build: 1530467


Audio Menu
The audio menu is now mostly functional. Speaker Setup and Doppler still don't have any effect, however the music, sound, and master volume should now affect their respective channels.

Now because sounds were added in various manners throughout the course of the games development, many of these sounds may or may not have the universal script being used to assign their volume. I've tried going through and playing with as many various objects as possible to see which sounds weren't being affected, but it's incredibly likely that I missed some. The main thing to test for here is what sounds aren't being affected by the volume slider.

The best way to do this would be to turn the master volume down to 0% and play the game. At this setting, the game should be producing absolutely zero sound. Any sounds should be reported so I can look into giving them the universal volume slider script.

Music on the other hand, was added alongside the audio menu functionality so this shouldn't be an issue. That being said, some music cues might still be missing so if you notice anything odd occurring with music when jumping between parts of the game, let me know and I'll check into it.

Various Fixes
  • Fixed an issue which would cause a null variable reference in levels being played prior to force field and gate switch initial activations being added to the save file data, resulting in a number of unexpected mishaps when loading these levels.
  • Hopefully resolved the issue where levels created without a timer would fail to properly assign a time. This resulted in time for these levels not being properly reset under any circumstances, often leading to you beginning the level with 0 seconds and dying the instant you start.
  • Added the "Press Action to Start" panel back.

Monday, December 19, 2016

Build: 346390

Music
This build adds some music to the game that may or may not eventually be licensed for release in the final game. The music still has placeholder vocals in them, however these will be removed before release.

The purpose of the music is to help set the tone for the game and get the working code for when music will be played, the instruction that decides what songs will play, and the lowpass effect placed on music when the overlay is open or the game is paused.

Friday, December 16, 2016

Thursday, December 15, 2016

Build: 1521021

Editor Fixes:
  • Fixed an issue where object size wasn't being reset to 1x when placing 1x objects.
  • Fixed an issue which allowed you to place objects inside of wider objects.
  • Fixed an issue that caused objects to be placed in rapid succession with click/drag placement enabled.
  • Notification when placing color exclusive objects as black or white.

Wednesday, December 14, 2016

Build: 1518044




Hotfix

  • Added a toggle to the settings menu to disable the click/drag placement while some kinks are worked out.

Sunday, December 11, 2016

Build: 1511674

Click/Drag Added
As per request, it's now possible to click and drag to create and delete objects. This one has been on the back burner for quite a while now since there were issues with creating objects that overlapped existing objects depending on the speed you dragged the cursor. Thanks to the new cursor collision system, this issue was much easier to resolve.

Size Panel
The primary size panel changed the size of the cursor but didn't affect the objects being placed. Quick-access and hotkeys still worked. The panel now works properly.

Saturday, December 10, 2016

Build: 1510616

The editor just received an update which introduces a few quality of life updates and tweaks. While none of these updates are going to completely change the experience, they will hopefully provide an added level of polish to the editor which will make long-term use a bit more tolerable.

About Panel:

A new panel was added to provide information about the editor. Specifically the editor and file system versions, which can make it easier to keep up on in the future.

The editor version is obviously just referring to the version of the editor you're using, since updates can be made to the game without having impacted the editor and vice versa. The file system version however is a tad different.

Since the current editor was created, this has been a hidden number that decided whether or not levels were compatible. Fortunately since a massive update to the file system completely reworked how level data was saved, specifically with compatibility and expansion in mind, this file version has been largely unnecessary and unchanged. However it's still an important number to keep in mind if you're coming from a significantly older version of the game or trying to play a level that was made with a much older version of the editor.

Simply put, the editor will not open levels with a file version higher than the editor, and thanks to the redesigned file data structure introduced in version 2, the editor should, in theory, be capable of opening up older file versions.

That being said, levels made with a different file version than the game will need to be converted before they can be eligible for submitting highscores, assuming they even play at all, which they probably wont.

Quick Access Panel:
In the process of designing levels with the editor, it's become painfully clear that a few key controls always seem to be just out of convenient reach. Hotkeys made this a bit more tolerable, but it was clear that a more straight forward solution was necessary. This update adds a new quick access panel which can be accessed by middle clicking anywhere in the level. The panel will show up at the mouse cursor and provide options for changing the color and size of whatever object you're placing.

In addition to being able to change the color and size however, is the new pin menu. This menu will display any objects you've pinned via the standard object toolbar menus. Instead of left clicking an object in the traditional menu, middle clicking it will create a pin for it. This allows for quick access to commonly used objects throughout the course of designing a level.

Furthermore, these pinned objects are saved with the level rather than reset or consistent between sessions. This was done because convenient objects for one level won't always be the same for another level. And if you ever open a level you were working on, the pins you found useful for that particular level will be available for you.

Redesigned Cursor:

This change won't seem significant unless you've tried actively building levels in previous versions of the editor, or had a particularly sharp eye during the preview video demonstrating level design. However it's by no means minor.

The new build cursor was completely built from the ground up to address a couple major issues. The least of which was the way various cells of the cursor would appear to break apart when performance was subpar and/or you moved the cursor very quickly across the screen.

However the largest change comes with the redesigned collision detection. The new cursor utilizes a new ray system rather than the traditional collision box. While this should help address the issue of objects being placed on top of other objects, the main issue this addresses was an uncommon (but not rare) issue where under certain circumstances, especially in confined spaces, it was impossible to place an object without finding and erasing whatever object was conflicting with a cell.

In short, the older version of the cursor would occasionally prevent you from placing objects in confined spaces. The new cursor addresses this issue.

Camera Drift:
The camera should no longer get stuck drifting in or out when adjusting zoom while the editor was running slowly due to performance.


Tooltips:

For people new and unfamiliar with the editor and it's various buttons and features, while not particularly overwhelming, the new tooltips should help make the experience a little bit more clear and easier to work with.

Last and for all you know, least:
An unreasonable amount of time was spent on a new feature which I'll leave to speak for itself.

Friday, September 30, 2016

Build: 1366378

Alright, so we've got a fairly big build here. Most of the changes here are surrounding the editor and leaderboard integrity.

Leaderboard Eligibility

Up until now, virtually any level that had an established Workshop ID was eligible for publishing scores to the leaderboards. This means if you uploaded a level, it was eligible for leaderboards. Period.

While this worked for testing that leaderboards worked for individual levels being added to the workshop, it failed to insure that levels couldn't be edited and then played again to submit new scores. Including levels you didn't make yourself.


Now when you open up levels in the editor, if the level has a Workshop ID (identifying it as having been published at some point), you'll receive a warning that editing the level will mark it ineligible for submitting new scores until it's been published again.

So how is this working?

When you save a level, the level will always be marked as "Ineligible to submit scores." The instant you publish the level, the editor will go in and mark the level as eligible and then upload the updated level file. Both the local level file and the workshop level files will be eligible for submitting scores. However if you save the level again, even if it's identical, the level will once again be marked as ineligible until it's been re-published to the workshop.

As an added bonus, this means under no circumstances will you be able to subscribe to and edit a level while still being capable of submitting scores. Your local version of the file will be marked ineligible and trying to re-publish the level will fail since you weren't the original publisher.

Additionally, leaderboards will never be eligible for any level played directly from the editor, regardless of whether it's local file is eligible or not, since the level data for playing the level from within the editor is independent of the local file.

Please note however that because the default state of eligibility in a level file is "Not Eligible", any levels submitted to the workshop prior to this build will not contain the eligibility marker to submit leaderboard scores until they've been re-published and marked eligible.

Updating Levels

When re-publishing a level or "Updating" it, you'll be given a warning that you're updating a level that's already been published and may already have leaderboard scores submitted to it. Since leaderboard scores will carry over between updates, it's important to remember that the integrity of the leaderboard scores are dependant on the scores being submitted are on a fair and level playing ground. Updating a level that would make higher scores impossible to beat would be considered acceptable grounds to have the level reported and removed.

If you're making a large enough change to the level that it affects top scores on the leaderboard, it's technically not the same level anymore and shouldn't be treated as such on the leaderboards.

Updating will remain because under the right circumstances, being able to update your level can be done responsibly. However if this does end up becoming an issue, a more strict solution might be necessary - including but not limited to marking the version of a level scores are submitted, submitting updated scores to a new leaderboard automatically (removing the old one), or removing the update level functionality altogether.

As always, suggestions and feedback are welcome.

Change Notes:

On the topic of updating levels, a new dialog has been added. This dialog will pop up when you click "Publish" on a level that's being updated. Write down any changes you've made and it will appear date and timestamped on the item's workshop page.

This can be used to communicate whether a change to your level could affect submitted scores, which could be used in your defense should the leaderboard integrity been questioned.

Return to Editor:

The ability to return back to the editor from the pause menu when playing your level from the editor, has been fixed.

Updated Workshop Templates:

The templates used for Workshop item previews has been updated. The badge for displaying whether a level is an "Individual" or a "Level Package" have been made smaller and less visually intrusive on what really matters - the level itself.

Final Thoughts:
That's more or less it for this build. A few smaller changes were made under the hood but none of them are really worth mentioning here. Most of them were minor tweaks and adjustments to scripts that could have resulted in unexpected behavior. (See: Bug)

Build: 1366378

Alright, so we've got a fairly big build here. Most of the changes here are surrounding the editor and leaderboard integrity.

Leaderboard Eligibility:

Up until now, virtually any level that had an established Workshop ID was eligible for publishing scores to the leaderboards. This means if you uploaded a level, it was eligible for leaderboards. Period.

While this worked for testing that leaderboards worked for individual levels being added to the workshop, it failed to insure that levels couldn't be edited and then played again to submit new scores. Including levels you didn't make yourself.


Now when you open up levels in the editor, if the level has a Workshop ID (identifying it as having been published at some point), you'll receive a warning that editing the level will mark it ineligible for submitting new scores until it's been published again.

So how is this working?

When you save a level, the level will always be marked as "Ineligible to submit scores." The instant you publish the level, the editor will go in and mark the level as eligible and then upload the updated level file. Both the local level file and the workshop level files will be eligible for submitting scores. However if you save the level again, even if it's identical, the level will once again be marked as ineligible until it's been re-published to the workshop.

As an added bonus, this means under no circumstances will you be able to subscribe to and edit a level while still being capable of submitting scores. Your local version of the file will be marked ineligible and trying to re-publish the level will fail since you weren't the original publisher.

Additionally, leaderboards will never be eligible for any level played directly from the editor, regardless of whether it's local file is eligible or not, since the level data for playing the level from within the editor is independent of the local file.

Please note however that because the default state of eligibility in a level file is "Not Eligible", any levels submitted to the workshop prior to this build will not contain the eligibility marker to submit leaderboard scores until they've been re-published and marked eligible.

Updating Levels:

When re-publishing a level or "Updating" it, you'll be given a warning that you're updating a level that's already been published and may already have leaderboard scores submitted to it. Since leaderboard scores will carry over between updates, it's important to remember that the integrity of the leaderboard scores are dependant on the scores being submitted are on a fair and level playing ground. Updating a level that would make higher scores impossible to beat would be considered acceptable grounds to have the level reported and removed.

If you're making a large enough change to the level that it affects top scores on the leaderboard, it's technically not the same level anymore and shouldn't be treated as such on the leaderboards.

Updating will remain because under the right circumstances, being able to update your level can be done responsibly. However if this does end up becoming an issue, a more strict solution might be necessary - including but not limited to marking the version of a level scores are submitted, submitting updated scores to a new leaderboard automatically (removing the old one), or removing the update level functionality altogether.

As always, suggestions and feedback are welcome.

Change Notes:

On the topic of updating levels, a new dialog has been added. This dialog will pop up when you click "Publish" on a level that's being updated. Write down any changes you've made and it will appear date and timestamped on the item's workshop page.

This can be used to communicate whether a change to your level could affect submitted scores, which could be used in your defense should the leaderboard integrity been questioned.

Return to Editor:

The ability to return back to the editor from the pause menu when playing your level from the editor, has been fixed.

Updated Workshop Templates:

The templates used for Workshop item previews has been updated. The badge for displaying whether a level is an "Individual" or a "Level Package" have been made smaller and less visually intrusive on what really matters - the level itself.

Final Thoughts:
That's more or less it for this build. A few smaller changes were made under the hood but none of them are really worth mentioning here. Most of them were minor tweaks and adjustments to scripts that could have resulted in unexpected behavior. (See: Bug)

Wednesday, September 28, 2016

Build: 1361566

Feedback:

As the game gets closer to a more release ready state, I'd like to take a moment to remind everyone testing the game that I consider feedback invaluable to making this game the best it can be. To help make sure this is being carried through, I've added a "Feedback" button that will forward you to the Feedback/Bug Report form.

Should I not be available to talk to at the moment, please consider taking a minute to submit a report. I will get back with you as soon as I can.

The Feedback button in the editor will likely remain after release, however the upper right corner button that's present on both the title screen and in-game will be removed before release and likely relocated somewhere that makes more sense. For now though, I want this button to be front and center as now is when feedback is more valuable than it will ever be.

Tuesday, September 27, 2016

Build: 1358934

Combo System:

With the new leaderboard system in place, it's going to become more important to start finding ways to boost your score beyond simply trying to beat the level as quickly as possible. While still very early, this build adds in a new combo system which will reward points for destroying multiple diamonds in quick succession.

How things currently work:
Destroying a diamond within two seconds of destroying another one, you'll be rewarded +1 point and a combo timer will quickly begin to drop. Your third diamond will reward you +2 and your third +4 exponentially growing for each diamond you destroy.

Each diamond destroyed however will also reduce the amount of time to continue the chain by 90% the time you had before. So 2 seconds becomes 1.8 seconds, becomes 1.62 seconds, 1.46 seconds, and so on. So the higher the chain reward, the harder it will be to maintain the chain.

The Goal:
These numbers are obviously subject to adjustment, especially on provided feedback. The goal isn't to allow for a significant amount of time to be gained when trying to complete a level within the time limit. The goal is to reward people with a noticeable boost in score if they can destroy diamonds in quick succession.

This reward will hopefully become trickier to accomplish in levels with more creative component layouts that make it difficult to maintain a chain without very slick maneuvering and allow for more opportunity to get the best score by not only beating the level as quickly as possible, but as efficiently as possible.

As always, feedback plays a HUGE role in how this mechanic will ultimately be used to shape the game, so please let me know what you think and what changes might make it better.

Monday, September 26, 2016

Minor Setback

Corruption:

Fortunately nothing but a minor setback. I was able to recover 99.9% of the project from a backup, but this minor setback does mean the combo-system which was just about ready for release, needs to be reprogrammed.

Sunday, September 25, 2016

Build: 1354980

Leaderboards:
The latest build introduces the early prototype system for leaderboards. There is still a lot of work left to be done, especially with the overall design, but it's currently fully functional and will work on any level uploaded to the workshop.

Thursday, September 8, 2016

Progress Report

No major builds to report of just yet, however I would like to announce that there's currently plans to get leaderboards built into the game. Further details to follow as I work out the implementation.

Sunday, September 4, 2016

Build: 1317710

Editor Update:

You can now control the initial power state of force fields and gates when the level starts. Up until now, these always originally started powered on and required a switch to turn them off.

Fixes:
  • Gate switches are no longer activated by diamond fragments.
  • Gate switches spawn in the correct location.
  • Gate switches are no longer activated by solid bricks.
  • 1x Blue Forcefield no longer spawns a block away from where it was originally placed.


Build: 1317635

Fix
Addressed timing of bolt launchers being dependant on game framerate.

Build: 1316989

Bolt Launcher Fixes and Tweaks
  • An issue was fixed where bolt launchers were losing track of your position because the ray used to detect you was hitting parts of the player it didn't see as a 'valid target'. They should now accurately track you regardless of where you are, as long as you're within line of sight.
  • Distance is now a factor. As you get further away from a bolt launcher, their ability to track you will be diminished before they eventually lose track of you altogether and deactivate until you're within range.
  • Guide lines have been added that pulse with the bolt launchers warning pulses to give you a good indication of where a bolt launcher is firing from and where their laser is expected to go. Particularly useful when they're off the screen and you need to know where the laser is coming from to dodge it.

Friday, September 2, 2016

Build: 1316076

So it's been a few months now since the last update, but the break is more or less over. A couple of new components have just been added into the game. These components should hopefully add a bit more variety in level design, both from a challenge and from a flexibility standpoint.

Bolt Launch



First off is the bolt launch. Designed to be incredibly lethal, the bolt launch is an automated turret that will track the players movement once it has a line of sight. After pulsing a few times, it'll launch a powerful bolt of energy toward the target.

It's possible to dodge the bolt with good timing, however don't expect constant boosting to be a fool-proof way of evading it's fire. It'll lock back on to you very quickly and won't be so easily fooled if you try to pull a fast one too soon.

Here's a short video of the bolt launchers in action:



Gates



Second we have gates. Gates or "thin walls" are a very thin wall that can be placed on the edge of individual grid cells, allowing them to be fit into tight spots without compromising a tight level design. What's better is they can be toggled open or closed with gate switches of a matching color.

Note: These gate switches can be activated by any other object in the game however, so keep in mind when placing them that a rogue tornado gem or falling brick can control whether or not these gates are open or shut.

Monday, March 21, 2016

Build: 1033242

Added "Packages" folder to address the issue where the Package list wouldn't function correctly without it existing.

A more permanent solution will be added into the game at a later build.

Build: 1033118

Play Game
A pretty significant update was just released which adds in the ability to play levels from the main menu. This change adds two new options under the "Play Game" menu, the primary focus of which was the "Player Crafted" option in this update.


The "Player Crafted" panel opens up with two main categories. Packages and Individuals. The menus are virtually identical, however with the obvious distinction that one displays packages and the other displays individual levels.

Playing Packages
This update focuses a lot on the overall polish and menu systems getting to and from the main menu and into the game without having to use the editor. The reason this is so important is because I expect this to be the main point of entry for the majority of people since I don't anticipate the majority of people will be making levels themselves and will likely not spend much if any time in the editor.

However up until now, levels have only ever been playable on a one-off basis. Make, download, and play an individual level. The previous update introduced a new packaging system which allows for you to take multiple levels you've made and put them into a single package which you can play without having to manually load in and play each level.

Build 1033188 now gives the game the ability to play these packages, as well as giving some good insight on how the campaign of the game is expected to play out.


From the Package category in the Player Crafted panel, you'll be brought to a list of all the packages currently available on your computer, with the option to filter the list between Personal packages and Workshop packages. At any time, you can visit the Steam Workshop via the icon in the upper right corner and the packages will be available after the download finishes and you refresh the list.

Game UI Changes
The new UI system has been adapted pretty much everywhere in the game at this point, however as the game continues to be developed, it's constantly being tweaked, adjusted, and above all, polished. Any major changes shown in the next few screenshots that aren't specific to packages, are a result of these updates and won't be described in detail as they're still very much subject to change.


When you begin playing a package, you'll be shown the package name along with the current level within that package at the lower left corner.


At any time while playing a package, you'll be able to pause the game and click "Level Select" to instantly jump to any other level in the package. An icon represents the level you're currently on and a preview of whatever level is selected shows up to the right.


When completing a level in a package, unlike completing an individual level, you'll be shown the Package Progress panel which will display all the levels in the package along with a checkmark representing whether or not you've completed them.

From this panel, you can press Enter to instantly jump to the next level in the package, represented in the preview to the right, or you can manually click any level in the list to play that level instead.

It's important to remember however that if you get to the last level of the package before completing all the levels in the package, you will not complete the package. Pressing Enter will take you back to the main menu and all progress will be lost. You'll need to manually select the levels you didn't complete in order to actually get credit for completing the package.


After completing all the levels in the package, regardless of the order they were completed, you'll receive this message letting you know the package was completed.

As of right now, there's no stat recording what packages you've completed, however this is definitely something I've got planned in some way, shape or form.

Overall
This is a major milestone for the game as it becomes less driven on the editor and more centralized around how it will play as a game from a player-exclusive point of view, rather than a creator. This progress is also a major stepping stone for setting the foundation of how the campaign mode will work, allowing for official levels to finally be created for the game.

BONUS:
To anyone not subscribed to my Youtube channel or following the official Facebook page for Diamond, a video was just recently uploaded that shows off the current process of creating a level from scratch. The entire video was recorded and uncut, albeit sped up, including unfortunate accidents and glitches that still need to be ironed out. However it works as a great way to visually demonstrate the progress being made on the game.

You can watch the video here: Diamond - Level Design

Monday, February 29, 2016

Build: 1000407

Level Packager
The new level package creator is now available in the update. It can be accessed from the sub-menu in the upper right corner, or from the save panel beside publish.



The package creator will allow you to generate packages of levels which you can play as a whole instead of individually picking levels you wish to play. This will hopefully be invaluable for level creators in the workshop as it will allow people to generate their own sets of levels instead of releasing individual levels that might have otherwise been intended to be played together.

This also allows for less tedious downloading for players as they can download multiple levels to play in a single package as opposed to trying to select a handful of levels that may interest them and manually play each one. A process that, for a level that might only take a minute or two to beat, may not be worth the effort.

Important Notes
With the new package creator update comes a handful of details which I'll list below in no particular order:

  • Level packages must contain at least 3 levels. There's currently no cap on the amount of levels you can include in a package, but the limit will likely be within the range of 10 to 15 levels.
  • You can ONLY add levels you've personally created, ie: "Personal Levels"
    This is unlikely to change, since the only levels you should be packaging are levels you've created. It's not an anti-theft measurement since there are obvious ways around it, but it is a deterrent.
  • You can only edit packages stored locally. You will not be able to edit packages that were downloaded from the workshop. There will likely be a Steam ID check to help protect downloaded packages in the future.
    • So if you open a package and erase a level, you're essentially erasing that level from existence. If you don't have a copy saved, you will not be able to add it back in.
    • A warning dialog will display the first time you try to remove a level anytime you open a new package.
  • It's not currently possible to play level packages just yet and there will almost certainly be changes to the packaging format as bugs are discovered or updates are made. Don't expect packages you create right now to remain playable in future updates.
  • How level packages will be played is still being worked out, however the intent will be to make it possible to download and play level packages and individual levels right from the main menu rather than using the editor.
Workshop Updates
With the package system added, a couple small changes have been made to the workshop.

First off, all uploads will be clearly marked via their preview image, whether or not they're a package or an individual level.


Individual levels will simply be marked as such, however level packages will include the number of levels included in the package in the upper right corner, making it easy to clearly see how many levels you can expect to play without having to rely on a description or additional screenshots which may or may not be available.

There may be an update where level packages will include the names of all the levels in the package, in the description. However right now, descriptions are no different than individuals.

Secondly, the workshop now has the ability to sort levels by tag. As of right now, the only two tags that are available are "Individual" and "Package" which can make it easier to get what you're looking for.

All levels added prior to this update will not be updated with the new preview format nor are they tagged. However their File ID's should still be valid, so simply saving and re-publishing them will update them with the new format.

Minor Updates
  • The titlescreen main menu has been updated to say "Play Game" instead of "Campaign Mode" since you'll be able to load individual levels and level packages from here as well.
  • "Back" button was added to the Settings menu to give a more obvious way to return to the main menu. Clicking anywhere in empty space will still work however.
Final Note
This update made some significant changes to the way preview screenshots are taken and the way items are uploaded to the workshop, for both individual and level packages. I'm not expecting anything significant to have been broken, however these two major areas are the most likely place something will be broken if it is. Please keep an eye out and let me know if you find anything you suspect isn't working properly.

Tuesday, February 23, 2016

Progress Update

Level Packages
While an update isn't available just yet, I wanted to make a quick post to bridge the gap between now and when the update becomes available.

Currently a system is being put into place that will allow you to package multiple levels into a single package that can be uploaded to the workshop and played much like a piece of the campaign. The goal will be to make the task of finding and downloading levels you might enjoy, less tedious.


In the upcoming update, you will be able to package several personal levels you've created into a single package and upload that package as a whole.

Workshop Branding
Of course it will absolutely still be possible to upload individual levels to the workshop. In fact, the section of the editor which permits you to do so isn't even being touched. However with the addition of level packaging will come some branding to help identify individual levels from level packages.




All levels and level packages uploaded to the editor after the newest build will have their preview picture marked as whether or not it's an individual level or a level package. Level packages will include the number of levels in the package in the upper right corner.

In addition to the branding, new uploads will be tagged as being either an individual level or a level package, so as to allow players to show or hide one or the other, depending on what they're looking for.

As of right now, there is no set limit on the minimum or maximum size level packages will be, however it's likely to be between 3 and 10 levels per package.

Friday, February 19, 2016

Build: 984510

Pause Menu Update
Restart button added back to the pause menu... whoops.

Build: 984422

New Pause Menu


The latest build includes the new pause menu which uses the new UI system. There's still some polish left to be done and things will likely improve as it moves forward, but the new menu is far more consistent with the style of the game and is intended to be the final version.

Thursday, January 21, 2016

Build: 940941

A small update has just been released that allows you to jump directly into the editor when launching Diamond.

Tuesday, January 19, 2016

Build: 937207

New Game UI


A new build puts the groundwork in for the new UI for the in-game player. There is still polish that needs to be done and the pause menu has not yet been reworked, but the foundation is laid and will be built upon in future updates.

Monday, January 18, 2016

Build: 935870

Steam Workshop:


The new editor now has full workshop support.
Levels must include at least one diamond and a player start to be valid for publishing to the workshop. When you're ready to publish, just go to the Save dialog and click "Publish" under the save button and you'll be taken to the "Publish to Workshop" dialog. From here, you'll check to make sure your level name and description are okay, as well as whether or not you want to update an existing level (more on that below) and whether you want to make it immediately public.

After successfully publishing your level, you'll be given the chance to view it on the workshop.


After a level has been published to the workshop, a special file ID will be attached to the level file. This will allow you to submit the level again in the future and have the option to "Update" the level. When you choose to update a level, the game will use that ID to find the entry of the level and replace it with whatever changes you've made.

If you click the ID in the Publish window, it will take you straight to the level that matches that ID on the workshop so you can see which entry you'll be replacing when you click "Publish".

Note however that if you delete your level from the workshop, you will need to manually uncheck "Update" within the workshop dialog. The game is unable to determine before trying to update your level, whether or not the level still exists on the workshop. If it doesn't, you'll receive an error.


While it may seem inconvenient that the editor doesn't manually check and adjust itself for this sort of thing, the reason for this is transparency. If something goes wrong, I don't want to create the illusion that everything is fine. While this is a very unlikely scenario to have happen often, explaining what happened and how to fix it manually is a much better solution in my opinion.

Known issues:
  • Publishing does not publish the description the way it should. This will be fixed in the next update.

Build: 935679

A few small fixes:
  • Fixed an issue where levels weren't showing up in the load dialog if you weren't subscribed to any levels from the Steam Workshop.
  • Fixed issue where level files weren't being updated when you first open the load dialog.
  • Fixed the "Exit without saving?" dialog from not opening properly.
New Branch
A separate "sandbox" branch used for one to one debugging has been added to the game depot. This branch is only available for people who will be participating in very targeted bug fixes that need multiple smaller builds to be released for addressing specific issues.

Important: If you're apart of the "sandbox" branch, please make sure you switch back to the "default" branch after target testing is complete and the issue is resolved. This branch is not a standard branch and will only be updated when I'm actively working to address an issue.

This branch will often break other features and functionality of the game and/or add various debugging tools to the game which can be used to help provoke the target issue into being easily reproduced so it can be tracked down and resolved. It's not a standard branch and will not be regularly updated.

Sunday, January 17, 2016

Build: 935562

A couple small fixes:
  • Fixes issue where size overlay doesn't update with object hotkeys.
  • Fixes issue where letting control to change layers no longer allows you to place objects.

Build: 935049


If you made changes to the level, the editor now lets gives you a chance to save before fully exciting and losing any unsaved progress.

Saturday, January 16, 2016

Build: 934901

Changes:
  • Addressed an issue where the level editor wouldn't restore your level after returning to it from play mode, if the level hasn't been assigned a file name yet.
  • Fixed save screen to no longer display "<null>" when saving a new level without a level name yet.
  • Fixed formatting on save screen not adding the " |" at the end of your Steam name.

Friday, January 15, 2016

Build: 933042

Level Editor UI Overhaul:


As time went on and the style of Diamond developed, it became clear that the level editor design was not holding up. Furthermore, after years of expanding upon it and creating levels to test components in it, it was becoming clear that it had a number of weak points which could be improved upon.

This new update is far more than just a simple re-skin of the same old editor. The new editor UI was completely re-designed from the ground up to not only look sleeker and cleaner but to perform better and improved workflow.

The first thing you may notice after playing around with the new editor is a strong emphasis on consistency. Everything in the editor was built at roughly the same time and with the same coherent vision for what the final editor will look like. Everything from animations, visuals, and dialog boxes are designed to feel in place with the rest of the editor.

New File and Load Warning Dialog Boxes:

Speaking of which, dialog boxes are now available to help standardize the editor with more traditional applications.

The editor now has tips that help describe features or functionality in the editor that might not be immediately obvious or simply don't make themselves known.

Tips:

Naturally these tips are generally only intended to be read once or twice and pop up every time you do something that the tip is relevant too, so the ability to dismiss them permanently is included.

Settings:

These tips can be reset via the new settings menu too. Which will continue to expand as the game goes on. The first major new feature though in the settings menu addresses the issue of preference and screen resolution. The editor now supports scaling from 100% to 200%, defaulting at 125% which is a comfortable size to use at 1920x1080.

UI Scaling:

All editor assets have been designed to look sharp up to this 200% mark.


Part of the new UI design also addresses a number of small problems that were limited by the old GUI system's ability to mimic expected functionality in areas such as text editing. The new UI system now supports a much friendlier text editor which makes editing level names much easier without having to retype the whole name each time.

Refined load/save screens:



The save and load screens didn't get as major an overhaul since their most recent design was largely in line with the vision of the editor, albeit slightly less refined as it is now.

Now while there are a lot of little tweaks that still need done and there's a lot more fine details I could cover, for the time being this is the broadest look at some of the more significant changes made to the editor. As always, feel free to give me feedback and let me know of any issues that might come up.

For reference, this is the old editor:


Known issues:

  • Workshop support has not been added yet.
  • The editor doesn't properly reconstruct levels when you return to the editor, unless you save your level. Even then, it loads the file, not the temporary state of the level before playing. This isn't intentional behavior and will be fixed.
  • Your Steam name isn't formatted with the " |" at the end in the save dialog.
  • Level name is "Null" in the save dialog until you change the name either in the editor or in the save dialog.