SYNTHESIS

8 October 2014
Alpha 0.0.5.0




Features:

-Oculus Rift Support
-Linux Support when Windows File System is Emulated (Wine)
-Gamepad Support
-Keyboard Binding Menu
-Advanced Settings Menu
-Fixed several Hang/Crash Bugs
-Fixed Window Focus Bug
-Fixed High DPI Scaling Bug
-Fixed Loading Bug

The Oculus Rift is now supported! I am really excited about that. Synthesis looks amazing in 3D. There is something about how the graphics are not trying to be realistic which makes it seem more 'real' to me. To me it feels like a 'real' hologram, because holograms are not real.

The Oculus version has lots of new control features which it will take some time to figure out the best implementation of. For example instead of a mouse, you use a 'laser' which comes out of just under the center of your dominant eye's cornea to select. There are two different view modes of this laser I am playing with. A 'pin' at menu level which floats where the laser hits is great for editing seeds. Seeing the actual laser has a nice convergence effect especially when selecting nodes, or one eye can be closed like when looking down a gun sight.

When wearing a Rift, keyboard and mouse are not ideal input solutions. I added gamepad support this version which is a bit more adaptable. The gamepad is not very useful at the moment for the non-Oculus version as it is dependent on the eye 'laser' mouse. When in the Rift, changing a value typically done by typing on the keyboard is instead done by popup menu keypads.

Lots of behind the scenes stuff has been changed to add graphics compatibility for Linux and Mac. File system and full native compatibility is still a ways off, but it Synthesis may work when the Windows file system is emulated using a program like Wine. I have tested and Synthesis does work on my Linux box using Wine. Reports are that Mac with Wine has issues, I can't speak yet as to the specifics. In theory it should be compatible but there is a lot involved and support may need to wait for the full Mac implementation.

The new 'advanced' menu is a place I will start filling in with low level access type stuff. There are only a few options to play with for now, but you can already do some cool stuff with them. Please note this menu is not saved yet, so if you set the number in a manner which 'breaks' the game reloading will fix it. There are some settings which can 'break' the game in the Oculus menu that are saved. If that happens you can find a launcher which will reset all saved variables in the main install folder. You must quit normally (no force quits) for settings to be saved.

Lots of other small fixes and changes this version, but that covers the big stuff. This marks the halfway point in my planned development cycle, very excited about that. Thank you for all the support and continued feedback, it is what makes this possible!


11 March 2014
Alpha 0.0.4.5




Features:

-Drag & Drop in Edit Seed Menu
-Ctrl -> Right Click Duplicates in Edit Seed Menu
-Save/Load Seeds to/from the Clipboard for Sharing Online
-New Song in Soundtrack (Fever Dream)
-Improved Simulation Efficiency
-Rules Specified In Menu
-Underscore in Typing Fields
-X Button to Close Some Windows
-Enter as OK for Save/Load/Alerts
-Temporary Fix for Window Focus Bug
-Removed some Outdated Information from Tutorial
-Close Color Menus by Clicking Outside Menu
-Alert Reason if Seeds Will Not Introduce
-Fixed some HUD Issues when Resizing Windowed Play
-Borders Added to Dropdowns and Alert Menus

Editing seed will be much easier now with drag and drop menus! Just hold right mouse and you are good to go. If you hold the control key it will create and drag a duplicate of what you click. With the new Save and Load buttons in you can easily export your seeds and import others seeds. “Save To Clipboard” turns your seed into string of text on the clipboard that you can then share anywhere without having to worry about uploading or downloading files! "Load from Clipboard" will import a seed string from the clipboard to the game. Remember F11 is the full-screen/windowed toggle for easy access.

As an example this is the string for the seed that displays when you start Synthesis:

b0t220fa20fb0t210fa00fa30fc1f0f0fd


29 January 2014
Alpha 0.0.4.4




Lots of great backend stuff in this new alpha! The most important being much improved save and load capability. You can now save and load the state of the entire SPA (including the edit seed menu), or the edit seed menu separately. Saving and loading now has filenames and some basic file management. Files are stored in *your user name*/AppData/Roaming/Synthesis/0.0.4.4/. AppData is a hidden folder so make sure you have view set to show hidden items if you are looking for it. All future version of Synthesis will use this location to store files, with the appropriate number as the folder.

Features:

-Saving and Loading the SPA State and Edit Seed Menu
-Example States and Seeds
-Global Color Options in the Settings Menu
-Final Grant Replaced
-Fast Forward Button Added
-General Improvements to Tutorial and Grants
-Dozens of UI Bugs Fixed
-Added Stability Fixing All Known Crash Cases
-Error Handling in the case of System Incompatibility
-Improved Crash Logs
-Actions Now Stop if One Cannot Be Completed
-Soundtrack now in Appropriate Humble Library Section


The new color options allow for creating even more interesting things than before. Setting the nodes or bond lines to the color of the background makes them essentially invisible and is a nice effect. Just be aware that if you have been using ‘color = blue’ as a trigger to find blank nodes you will need to be sure to changing it to whatever color you set as the blank node color. Colors are set to default when you start the program, play the tutorial, or play a grant. They are saved with your SPA state so projects from Independent Research will load up what your settings.

You can take a look at some more complex example seeds and states now. Some of the states require multiple seeds of different types, or a bit of manual bonding. Figuring out how some of them work could be a good exercise. These examples can be loaded and saved from both the edit seed menu and the save state menu. Saving over them will not affect the example buttons, only the load menu files, so they can be restored at any point.

The final grant has been replaced as it was nearly un-solvable without using the hints and relied heavily on knowledge of the engine itself instead of logic. The new grant is based on using colors as a state, which is a vital concept in creating more complex designs in independent research.

Actions have been slightly changed and it may affect seeds designed prior to 0.0.4.4. The old system would attempt to complete all actions even if one failed. For example a blue node triggered Color (This Node) Green -> Bond -> Color (This Node) Red, it would finish as red every even if it could not bond. Now if an action fails it will stop, so if it is triggered it will turn green and attempt to bond. If it does not bond (maybe it has 6 already) it will remain green. If it does bond, it will turn red.

There have been too many improvements in UI bugs and the game in general to list. Most of them are the kind of thing that if you don’t notice, it is working correctly.

The soundtrack (which is also in the game folder) is now available directly from your Humble Library as well. It is included with all copies of the game, no separate purchases or higher level of support needed.

Also since I haven’t posted in a bit I wanted to mention that we had a great showing at MAGFest, tons of people at the booth. It is a really amazing festival. Everyone should be going to it! Thank you all the new backers from the event!

18 October 2013
Alpha 0.0.4.3




Alpha 0.0.4.3 is now complete! It uses an installer instead of a zip file, and will create directories in /Program Files and /Users/Public. Each new alpha will for the time being create its own directory, as there will be incompatibilities between alphas so replacing the existing directory would wipe out access to older systems. I’ll leave it to you to choose to delete them for now.

Features:

-Improvements to the Edit Seed Menu (Scrolling, Visibility of Menus, Color Coded Flow Chart)
-New Trigger Variables (Color This Node, Color Other Node, Bonded Together, Not Bonded Together)
-Combined “Distance Tension Time” and “Angle Tension Time” into “Tension Time”
-New Actions (Repel, Copy Program, Give Energy, Color (This Node))
-YouTube Mode Launcher (.bat file) in Install Directory
-Load and Save Edit Seed Menu (Has Limitations, See Notes Below)
-Replay System (Has Limitations, See Sept 27 Post)
-Added Settings for Anti Aliasing and Line Thickness
-Energy Sharing is No Longer Automatic
-Copying Program is No Longer Automatic
-New Introduce Seed Effect, Seeds are now Introduced to the Center of the SPA
-In-Game Settings now Saved to Config File
-Changed Camera Zoom to Exponential Speed
-Fixed Bug with Tutorial Buttons Staying Lit
-Fixed Bug Relating to Order of Node Program Resolutions
-Fixed Bug Causing Random Lines Across Screen
-Fixed Bug where Game Crashed on New Node
-Fixed Bug where Game Crashed with Certain Sound Cards
-Fixed Bug where Grant would not Purge Nodes
-Secret Fast Forward “F”

The biggest changes to game-play come from the separation of Bond and Copy Program. You now must copy your program for a seed to spread, this allows for much finer control over complex systems. Energy has also changed, it is no longer required to grow, and is not shared automatically. There will be more refinements to energy in the future, for now it is best used as a “signal”.

The new action to change the color of nodes adds an immense amount of possibilities. It is a great way to store the “state” of the node, that can be seen visually. It can be used to create complex programs (example: if green do this and turn red).

YouTube Mode launches the program with the Line Thickness from the settings menu on the 3rd setting. I have done much testing and this provides compressed video which looks at least somewhat like game-play. In the future it may also do things like turn off logging or other graphical changes to free up CPU power for recording programs.

The loading and saving system is still under development, but for now when you press save all nodes in the edit seed menu are stored in “Users/Public/Synthesis 0.0.4.3/saves/” as file “nodes.txt”. Load adds all nodes in the save file to the edit seed menu, in addition to whatever is there. You must manually rename this file to allow for multiple saves, next alpha will have a better method. If you look in the save file, each line is the program for one seed. These programs can be copy/pasted to allow for easier sharing.

Log files are now stored in “Users/Public/Synthesis 0.0.4.3/logs/”. If you find a bug please let me know and send me all the files in that folder!

Thanks for the support, enjoy the alpha, and please keep the feedback coming!

1 October 2013
Turing Complete!


Synthesis is now proven Turing complete. This means any computer or program could theoretically be simulated using the in game nodes. There are some arbitrary limits set just due to hardware constraints, but we can ignore those as they are outside of the games control. What does this mean for you? That a whole bunch of new triggers and actions are available. I will have a more complete explanation of these new features when the next update is released.



The screenshot above shows a system of nodes that act as one cell of the Rule 110 cellular automation, which is proven Turing complete. Some of the new features added included the ability to set states (colors), and more precise control over when things like copying programs and sharing energy occur. The reason that this cannot be done in a single node, is that there are some strict constraints in the ability of the nodes in Synthesis that I want to remain. This helps to maintain the molecular dynamics feel and keeps the emergence very high.

27 September 2013
CaptivateCon, Crash Logs, Replays


Synthesis is a finalist at Captivate Conference in Austin! I have been taking care of some logistics for the event, and am hard at work on alpha 0.0.4.3 (due mid October). One of the big projects I am putting in place is a crash logging system. This will allow me to track down any bugs that you guys might find! If you come across anything starting in 0.0.4.3 please email me and include all the files in your “logs” folder. There will always be an “actionlog.txt” and systemlog.txt” from the last time Synthesis was run. If you run Synthesis after a crash it copies the logs in “crash_” files. All are important. While I was at it I decided it would be helpful to be able to replicate what steps were taken exactly. So I build in some replay functionality!



The replay system records your relevant mouse clicks, button presses and camera movements to a file called “actionlog.txt”. If you want to watch your replay, rename the file to “replaylog.txt” and it will automatically play back on launch. Replays are a live simulation using the exact same inputs you gave, basically a ghost player. Rename the file to anything besides “replaylog.txt” to save it and have Synthesis run normally. I have not put in a front end for it, but it is a possibility down the line if people want it. Also important to note is that these replays will only work for the same alpha version used to record it. If you make a replay you want to keep, make sure to maintain a copy of the correct alpha as well!

18 September 2013
BostonFIG, Humble Widget Alpha Sales, Devblog!


Synthesis had a great weekend at the 2013 Boston Festival of Indie Games! It came away with two awards, the Lazer Kitten Award of Excellence (Technical Quality, sponsored by Becky Taylor) and Superior Smarts (Best Learning Game, sponsored by Muzzy Lane). It was a great convention, with about 7500 people attending. Big thanks to all the organizers of the BostonFIG, the sponsors, and of course everyone who voted! There were tons of great games being shown. Go check out the site if you have not already!



This also marks the official start of alpha sales via Humble Widget! Help support the project and start playing today! It includes the original soundtrack, and all updates through release. Current version is alpha 0.0.4.2, it will be the baseline which all update posts will build upon.


I will be updating this page regularly as a devblog. Check back here for information on updates, technical posts about what is in the pipeline, and all general news. Follow @HartLabs for notifications about posts and general banter. Please also sign up for the email list on the home page which will be used for major announcements!