Machinations was devised by Joris Dormans, back in around 2012 and with the help of Ernest Adams, they introduced it to the game dev community (I think there should even be an old GDC video as well) with the book called Game Mechanics, advanced game design. The original program was made in flash and could have been freely downloaded from Dormans own site still about 2 years ago. But for whatever reason the mechinations did not spread as Adams hoped and he also did not know why Dormans didn't want to fully build a program to make it more comercial awailable than the flash version was. Seems like these people now picked up where Dormans left, which is good as it enables you to quickly test the mechanic logic of the game design when creating a new game (simplified: create & test simple core concept idea). Hopefully the base core will truly remain free as they claim.
This tool was originally written in Flash and initial purpose was to design and simulate game economies, not necessarily any mechanic. For example you couldn't design a physics based platformer with it. The original tool was a companion to the book Game Mechanics: Advanced Game Design written by Ernest Adams and Joris Dormans (great book btw). The original tool was free and an Adobe Air version was also available. Sadly it appears this original Flash version had been taken down. I assume so this new version can be monetized. Learn more of the background from this Gamasutra article: www.gamasutra.com/view/feature/176033/the_designers_notebook_.php
Yup! When I first saw it, I was like, this is the tool from that book :) [Agreed that it's a solid book - the entire series from Ernest Adams is a real hidden gem] However the symbolic language they used was really too dense - even for me, who loves that stuff. One of the critical properties of a design tool is ease of communication - especially between people with different skillsets/modes of cognition. Charts are useful because you can just look at them and see what's going on, and with some animation, you can even see how changing parameters will affect desired outcomes. But unless you're the guy who designed Factorio, I don't see how this sort of tool will make it any easier for designers, programmers, and stakeholders/investors to communicate.
I think it's more the cloud part that bothers people, not the browser. Maybe if they offered an external client with Electron or something that runs offline.
I have found the old Flash version of Machinations, resized it from 4:3 to 16:9 and uploaded it here: github.com/DleanJeans/Machinations. Flash is dead but it should still be running on Chrome and way more reliable than the web version.
Those aren't really comparable to this though which can actually do full automated simulations and give you an idea of how a system, if implemented, would actually work. This is for balancing complex systems really.
I like story based tools for game design: Little story telling game engines like "Novel maker" can be used for game design. Parallel stories can be combined to a game.
This looks like a useful thing for sure, and like you said it is rare to see these tools (but I am sure more will come eventually). However, their reasoning for pricing is rather broken: they create an application that runs only on their servers and then charge you for the fact that running it on their servers costs money. Why not have a version that you could download, so that the cost of servers does not need to be taken into consideration? In that case, small teams or one-person developers will not overload the servers with their simulations, but a big corporation will still be able to take advantage of the convenience of a web-based tool and would also be able to afford a large number of server simulations.
Seems for me to much work. Why not prototype direct in the game engine? Probably takes not that much longer and you can test the gameplay. Like Blueprints in UE4 seem like the same but I can actually use it for my game.
As a person who hates any form of browser-app (including Electron, et cetera), here is my reasoning: it kills performance and introduces this massive, temperamental JavaScript/HTML5/CSS interpreter as a dependency, which is insecure, prone to bugs/crashes, generally doesn't work a large percent of the time, and requires frequent updating.
what? every single browser has a html/css/js interpreter. what kind of evidence are you gonna provide to back up you claims anyway? there are great apps using electron like discord, etcher, vs code, typora, simplenote. kneejerk reaction to a certain technology just bc it's widely used is just plain unreasonable.
@@_remblanc every app that you listed uses really much ram and has bad performance. and discord is really really bugged when we take according the budget. it crashes almost every day for me. also it uses more than 50% of my gpu when these super reactions or what ever they are, are playin.
06:00 Wait, so in the commercialized version, people will have to pay to run the simulations? You get charged just for running the calculations, not for how many maps and such you have stored on their servers? That...sounds like a sleazy/cash-grab move, unless I'm mistaken. Couldn't you program an app like this to run the simulations *locally* on one's computer? The vast majority of people will be interacting with an app like this on a desktop or laptop/tablet, in which case, running the calculations should be a cinch. Instead, to allow people to also use mobile (which has too small of a screen to effectively use a tool like this anyway), they're going to charge people on a per-simulation-run basis (which will rack up *waaaaay* too fast if, ya know, someone actually prototypes game design with something like this) and just rip money from people's hands when they could offer a better alternative service at the cost of less money. Again, maybe I'm misunderstanding their ability to offload processing to the local machine through modern browser APIs (thought that was starting to be possible?), so if I'm wrong, then whoops. But if it's possible, I don't really see how this is at all desirable compared to the community banding together and building an open source tool that runs natively and accomplishes an identical task (say, as a Godot Engine plugin or something). I mean, c'mon...
@@Machinationsio Okay, so, assuming I'm starting with these premises: 1) I want to build a Machinations diagramming app. 2) I want to build it using web technologies because a) I know them best and b) they are cross-platform by default. 3) I want to monetize in some way to gather more funds for living/development/etc. Your current approach is to host the app on cloud servers and charge users for the amount of time they spend actively using your app (running simulations). Your target audience is [game developers] from [all over the world], afaict, Problems with this approach: - Game Developers are notoriously frustrated with things not being reliable. - For many, this means services they are expecting to exist suddenly shutting down, either permanently (oh no, I lost my data that I worked so hard on that was on their servers. Why didn't they send me an email to let me know to move my info? Can I even move my info, or was it in a proprietary format? Why did I even bother with this thing?) or temporarily (gosh dang it! I really needed to get to my stuff, but their servers just went down. Guess I'm not working on this today - ugh). - For many more, this means their Internet connection is simply unreliable, leading to their work getting disrupted or even lost if it wasn't saved. If they have the option of choosing between a web app and a local app, their probably gonna choose a local one as much as possible. - Game development is a discipline that is specifically oriented around designing something that is elusive and unknown meaning you often spend a LOT of time *iterating* and *prototyping*. Machinations diagrams, by their very nature, are sort of an early way to prototype a much more complex game system using diagrams without the need to implement a ton of complicated engine/library logic. They are time-savers (yay!). But this also means that you've chosen one of the most financially damaging monetization options from the customer's perspective. It would be like charging women at a clothing store for how long they spend inside the store itself, rather than what things they actually decide to purchase. Women are an audience that is well known for wanting to browse and "iterate" their shopping experience by trying on lots of different outfits. But that part of the experience that is necessary for them to get to the end result (an outfit that works for their needs), the necessary stepping stone of the process that doesn't actually get them the thing they are looking for, *is* the thing they are being charged for. Do you know any woman in the world who would shop somewhere that charges them $/minute they are in there? It would have to be something where they could get stellar products at outrageously good deals to make that incredibly negative side effect worth it. Your app is essentially similar, except it has nothing that offsets that damaging financial side effect. These are some of the different ways I could envision an app like this existing. - A FOSS and/or closed source web/cloud app operating on donations (like regex101.com). - They probably don't make all that much from the service, so it doesn't really fulfill premise 3, but anyone who uses that app will tell you that it is extremely customer friendly. Gives you all the features you need with tons of debugging/tutorial information available and even lets you save your work to hyperlinks that you can save wherever and share. - Unfortunately, still isn't helpful for people with bad Internet connections, although the service has happened to be reliably around (but it's never a guarantee that it'll still be there so there's always that sorrowful sense that it could one day go away). - A local app using Electron that is... 1) sold for a flat price. 2) sold as a subscription (have to connect once a month or once a year, etc. just to confirm that the product is registered correctly. Perhaps have a free trial version that cannot save progress, but otherwise comes fully featured). - The app could offer ways to store user files in a cloud account that is automatically synced and shared between devices (part of a separate service in case of monetization 1 or a bundled in service with monetization 2). This makes the need for constantly syncing with a cloud account *optional*, thereby not impeding the usage of the app by people with bad Internet connections. People who pay for the subscription will automatically get a better sense of what they are paying for. - You can put a limit on the number of projects that can be stored on cloud servers based on the tiers of the subscription service. If you have some more advanced features for tools that assist with app usage, you can also put those behind a paywall so that the people who really want those extra features can opt-in. But ideally keep more of these features as things that can still be run in the native version. I believe this is more or less the approach that MS Visual Studio takes. You have a pretty much full-featured local app that, if you want to use team features / cloud features / additional services, you need to use an enterprise account of some kind. But for anyone with bad Internet who just wants to get work done, you basically get the whole package locally on your computer. For your app, this could be free or paid (probably paid, with a relatively small price, by the looks of the features and planned usage of it - not like it's the cornerstone of a project like VS is). If you absolutely had to keep it as a web app in a browser, then I would shift the storage to be in the local storage of the browser itself, and provide users with a means of serializing and deserializing the projects / workspaces they are working on. This is how the Twine 2 / Twinery app works: twinery.org/2/#!/stories. I'll take that consultation fee whenever you're ready (joking.....partly).
- @Gamefromscratch you have the link in the artice as -edited not needed anymore- so the link is sending you to a non existing url XD - and sounds great actually. gotta try it XD -6:55 best guess? visual scripting. so after making the charts they mostly would convert that to... lets say a C# script.
You asked about other available design tools, I think this is a definitive list of what was available in 2017 www.gamasutra.com/view/news/346138/Video_Game_design_tools_beyond_spreadsheets_and_flowcharts_.php Sadly, I don't think much has changed in that time PS: Thanks for doing a great job with your videos! You rock! :)
I was wondering if there was something free like this out there! Going to have to play around with this tool to see if I can get some of the more complex logic parts my next game worked out.
Can you recommend a game engine for someone looking to learn programming, which would facilitate learning how to code, while being beginner friendly enough to see results quickly?
There is: 1. Phaser.js which is a Javascript framework where a person could learn basic coding to make games and build games. 2. CerberusX IS what I started with. I have my own tutorial series on that. It is on my channel if you are interested in that. It is another great one for learning programming and for making games. 3. Gdevelop is visual based coding and a person could learn all of the logic of programming AND make a games with it. 4. For making 3D games, a game engine called Unity is good. They have all kinds of RUclips tutorials for making games and coding. Plus, there is a big job market for Unity once a person learns it and becomes great at it. And it is easy to learn. Any of the above ones are great and free to download. Unity's "Personal" version is free.
Definitely game maker studio, it's really easy to code with gml, the documentation is super accesible and there are tons of tutorials. Godot is good too but is more advanced, and it can be a little bit confusing if you don't know any programming.
It might become an organic way to teach pseudo-code or illustrate technical concepts to the masses otherwise to me it seems a closed off waste of one's time. Thanks for sharing.
That's a bummer. As I was watching the intro I was really excited to finally find a more visual alternative to HackNPlan, but as the video progressed I got more and more confused. To be honest, I really can't see the application for this. But I am sure it will be helpfull for someone :) Thanks for the video
Link:
www.gamefromscratch.com/post/2019/07/20/Machinations-Game-Design-Tool.aspx
Machinations was devised by Joris Dormans, back in around 2012 and with the help of Ernest Adams, they introduced it to the game dev community (I think there should even be an old GDC video as well) with the book called Game Mechanics, advanced game design. The original program was made in flash and could have been freely downloaded from Dormans own site still about 2 years ago. But for whatever reason the mechinations did not spread as Adams hoped and he also did not know why Dormans didn't want to fully build a program to make it more comercial awailable than the flash version was. Seems like these people now picked up where Dormans left, which is good as it enables you to quickly test the mechanic logic of the game design when creating a new game (simplified: create & test simple core concept idea). Hopefully the base core will truly remain free as they claim.
@@Machinationsio I'm glad to hear that, I hope to see further development on it :)
This tool was originally written in Flash and initial purpose was to design and simulate game economies, not necessarily any mechanic. For example you couldn't design a physics based platformer with it. The original tool was a companion to the book Game Mechanics: Advanced Game Design written by Ernest Adams and Joris Dormans (great book btw). The original tool was free and an Adobe Air version was also available. Sadly it appears this original Flash version had been taken down. I assume so this new version can be monetized.
Learn more of the background from this Gamasutra article:
www.gamasutra.com/view/feature/176033/the_designers_notebook_.php
Yup! When I first saw it, I was like, this is the tool from that book :) [Agreed that it's a solid book - the entire series from Ernest Adams is a real hidden gem] However the symbolic language they used was really too dense - even for me, who loves that stuff. One of the critical properties of a design tool is ease of communication - especially between people with different skillsets/modes of cognition. Charts are useful because you can just look at them and see what's going on, and with some animation, you can even see how changing parameters will affect desired outcomes. But unless you're the guy who designed Factorio, I don't see how this sort of tool will make it any easier for designers, programmers, and stakeholders/investors to communicate.
I think it's more the cloud part that bothers people, not the browser. Maybe if they offered an external client with Electron or something that runs offline.
Cloud >_< If there is something I learned in a decade is to never trust a cloud app to always be up when you need it.
I feel your pain.
I have found the old Flash version of Machinations, resized it from 4:3 to 16:9 and uploaded it here: github.com/DleanJeans/Machinations. Flash is dead but it should still be running on Chrome and way more reliable than the web version.
0:12 "people use general tools like ..." pencil and paper, whiteboard and dry erase markers
Those aren't really comparable to this though which can actually do full automated simulations and give you an idea of how a system, if implemented, would actually work. This is for balancing complex systems really.
The inner machinations of my mind are an enigma.
For me it's an enema...
*Milk spills*
I like story based tools for game design: Little story telling game engines like "Novel maker" can be used for game design. Parallel stories can be combined to a game.
This looks like a useful thing for sure, and like you said it is rare to see these tools (but I am sure more will come eventually). However, their reasoning for pricing is rather broken: they create an application that runs only on their servers and then charge you for the fact that running it on their servers costs money. Why not have a version that you could download, so that the cost of servers does not need to be taken into consideration? In that case, small teams or one-person developers will not overload the servers with their simulations, but a big corporation will still be able to take advantage of the convenience of a web-based tool and would also be able to afford a large number of server simulations.
My sentiments exactly. ^
They want to steal your design
@@t.swaggit629 "reuse" your design :)
This is a much better explanation than the one offered on their site. Im going to check it out. Thanks!!
Thats like shenzhen i/o for game developers
Seems for me to much work. Why not prototype direct in the game engine? Probably takes not that much longer and you can test the gameplay.
Like Blueprints in UE4 seem like the same but I can actually use it for my game.
This gives u a birds eye view, here u just worry about logics, staging and game play.
Not sure what the benefit of this would be doing this instead of a prototype apart from having a better visualisation...
Speed.
I've been building software for a long time. I have wanted this tool for YEARS.
As a person who hates any form of browser-app (including Electron, et cetera), here is my reasoning: it kills performance and introduces this massive, temperamental JavaScript/HTML5/CSS interpreter as a dependency, which is insecure, prone to bugs/crashes, generally doesn't work a large percent of the time, and requires frequent updating.
what? every single browser has a html/css/js interpreter. what kind of evidence are you gonna provide to back up you claims anyway? there are great apps using electron like discord, etcher, vs code, typora, simplenote. kneejerk reaction to a certain technology just bc it's widely used is just plain unreasonable.
@@_remblanc every app that you listed uses really much ram and has bad performance. and discord is really really bugged when we take according the budget. it crashes almost every day for me. also it uses more than 50% of my gpu when these super reactions or what ever they are, are playin.
You can do all of this is in yourself and use text pseudocode to communicate.
06:00 Wait, so in the commercialized version, people will have to pay to run the simulations? You get charged just for running the calculations, not for how many maps and such you have stored on their servers? That...sounds like a sleazy/cash-grab move, unless I'm mistaken. Couldn't you program an app like this to run the simulations *locally* on one's computer? The vast majority of people will be interacting with an app like this on a desktop or laptop/tablet, in which case, running the calculations should be a cinch. Instead, to allow people to also use mobile (which has too small of a screen to effectively use a tool like this anyway), they're going to charge people on a per-simulation-run basis (which will rack up *waaaaay* too fast if, ya know, someone actually prototypes game design with something like this) and just rip money from people's hands when they could offer a better alternative service at the cost of less money.
Again, maybe I'm misunderstanding their ability to offload processing to the local machine through modern browser APIs (thought that was starting to be possible?), so if I'm wrong, then whoops. But if it's possible, I don't really see how this is at all desirable compared to the community banding together and building an open source tool that runs natively and accomplishes an identical task (say, as a Godot Engine plugin or something). I mean, c'mon...
@@Machinationsio Okay, so, assuming I'm starting with these premises:
1) I want to build a Machinations diagramming app.
2) I want to build it using web technologies because a) I know them best and b) they are cross-platform by default.
3) I want to monetize in some way to gather more funds for living/development/etc.
Your current approach is to host the app on cloud servers and charge users for the amount of time they spend actively using your app (running simulations). Your target audience is [game developers] from [all over the world], afaict, Problems with this approach:
- Game Developers are notoriously frustrated with things not being reliable.
- For many, this means services they are expecting to exist suddenly shutting down, either permanently (oh no, I lost my data that I worked so hard on that was on their servers. Why didn't they send me an email to let me know to move my info? Can I even move my info, or was it in a proprietary format? Why did I even bother with this thing?) or temporarily (gosh dang it! I really needed to get to my stuff, but their servers just went down. Guess I'm not working on this today - ugh).
- For many more, this means their Internet connection is simply unreliable, leading to their work getting disrupted or even lost if it wasn't saved. If they have the option of choosing between a web app and a local app, their probably gonna choose a local one as much as possible.
- Game development is a discipline that is specifically oriented around designing something that is elusive and unknown meaning you often spend a LOT of time *iterating* and *prototyping*. Machinations diagrams, by their very nature, are sort of an early way to prototype a much more complex game system using diagrams without the need to implement a ton of complicated engine/library logic. They are time-savers (yay!). But this also means that you've chosen one of the most financially damaging monetization options from the customer's perspective.
It would be like charging women at a clothing store for how long they spend inside the store itself, rather than what things they actually decide to purchase. Women are an audience that is well known for wanting to browse and "iterate" their shopping experience by trying on lots of different outfits. But that part of the experience that is necessary for them to get to the end result (an outfit that works for their needs), the necessary stepping stone of the process that doesn't actually get them the thing they are looking for, *is* the thing they are being charged for. Do you know any woman in the world who would shop somewhere that charges them $/minute they are in there? It would have to be something where they could get stellar products at outrageously good deals to make that incredibly negative side effect worth it. Your app is essentially similar, except it has nothing that offsets that damaging financial side effect.
These are some of the different ways I could envision an app like this existing.
- A FOSS and/or closed source web/cloud app operating on donations (like regex101.com).
- They probably don't make all that much from the service, so it doesn't really fulfill premise 3, but anyone who uses that app will tell you that it is extremely customer friendly. Gives you all the features you need with tons of debugging/tutorial information available and even lets you save your work to hyperlinks that you can save wherever and share.
- Unfortunately, still isn't helpful for people with bad Internet connections, although the service has happened to be reliably around (but it's never a guarantee that it'll still be there so there's always that sorrowful sense that it could one day go away).
- A local app using Electron that is...
1) sold for a flat price.
2) sold as a subscription (have to connect once a month or once a year, etc. just to confirm that the product is registered correctly. Perhaps have a free trial version that cannot save progress, but otherwise comes fully featured).
- The app could offer ways to store user files in a cloud account that is automatically synced and shared between devices (part of a separate service in case of monetization 1 or a bundled in service with monetization 2). This makes the need for constantly syncing with a cloud account *optional*, thereby not impeding the usage of the app by people with bad Internet connections. People who pay for the subscription will automatically get a better sense of what they are paying for.
- You can put a limit on the number of projects that can be stored on cloud servers based on the tiers of the subscription service. If you have some more advanced features for tools that assist with app usage, you can also put those behind a paywall so that the people who really want those extra features can opt-in. But ideally keep more of these features as things that can still be run in the native version.
I believe this is more or less the approach that MS Visual Studio takes. You have a pretty much full-featured local app that, if you want to use team features / cloud features / additional services, you need to use an enterprise account of some kind. But for anyone with bad Internet who just wants to get work done, you basically get the whole package locally on your computer. For your app, this could be free or paid (probably paid, with a relatively small price, by the looks of the features and planned usage of it - not like it's the cornerstone of a project like VS is).
If you absolutely had to keep it as a web app in a browser, then I would shift the storage to be in the local storage of the browser itself, and provide users with a means of serializing and deserializing the projects / workspaces they are working on. This is how the Twine 2 / Twinery app works: twinery.org/2/#!/stories.
I'll take that consultation fee whenever you're ready (joking.....partly).
Looks like an interesting tool but I don't believe I would be inclined to pay for it
- @Gamefromscratch you have the link in the artice as -edited not needed anymore-
so the link is sending you to a non existing url XD
- and sounds great actually. gotta try it XD
-6:55 best guess? visual scripting. so after making the charts they mostly would convert that to... lets say a C# script.
Yeah my bad, resolved now
You asked about other available design tools, I think this is a definitive list of what was available in 2017 www.gamasutra.com/view/news/346138/Video_Game_design_tools_beyond_spreadsheets_and_flowcharts_.php
Sadly, I don't think much has changed in that time
PS: Thanks for doing a great job with your videos! You rock! :)
Maybe i'll give it a try. I used a flow stencil ages ago for programming
8:00 Wow, you're never gonna belive what time it is man
I was wondering if there was something free like this out there! Going to have to play around with this tool to see if I can get some of the more complex logic parts my next game worked out.
This is something I'll probably check out :O
The UI reminds me instantly of Draw.io.
Can you recommend a game engine for someone looking to learn programming, which would facilitate learning how to code, while being beginner friendly enough to see results quickly?
There is:
1. Phaser.js which is a Javascript framework where a person could learn basic coding to make games and build games.
2. CerberusX IS what I started with. I have my own tutorial series on that. It is on my channel if you are interested in that. It is another great one for learning programming and for making games.
3. Gdevelop is visual based coding and a person could learn all of the logic of programming AND make a games with it.
4. For making 3D games, a game engine called Unity is good. They have all kinds of RUclips tutorials for making games and coding. Plus, there is a big job market for Unity once a person learns it and becomes great at it. And it is easy to learn.
Any of the above ones are great and free to download. Unity's "Personal" version is free.
Definitely game maker studio, it's really easy to code with gml, the documentation is super accesible and there are tons of tutorials.
Godot is good too but is more advanced, and it can be a little bit confusing if you don't know any programming.
I use Cryengine. It seems hard but it really worth it. The template of code is already there. You just have to tweak them. Try it.
@@HE360 Unity?
It might become an organic way to teach pseudo-code or illustrate technical concepts to the masses otherwise to me it seems a closed off waste of one's time. Thanks for sharing.
Your link has a typo
Yeah, my bad, thanks. Fixed now.
"Machinations", like "mach speed", pronounced "mock-inations".
thx i pass
That's a bummer. As I was watching the intro I was really excited to finally find a more visual alternative to HackNPlan, but as the video progressed I got more and more confused. To be honest, I really can't see the application for this. But I am sure it will be helpfull for someone :) Thanks for the video