|
Having now completed one Unity game using Playmaker on my own, I have the following advice for developers in a similar situation:
- Aim for small, simple games you can do yourself, and play to your existing strengths. I thought Unknown Orbit would be so simple I'd get it done in a few months. If I'd cloned Tiny Wings, and not gone for a rather difficult 3D planetoid/moon setup, then perhaps that would have worked. However, you should think about things that will take up a lot of your time -- namely characters and animation. Even simple 3D modeling will take you some time if you don't come from an art background. My first job was a 3D modeler, but it still took me time to get back up to speed on Blender.
- Use a simple art style with reusable assets and gameplay loops (see this Lost Garden post on loops vs. arcs.) A story-based game with loads of content and 20 unique levels will take a long time just to create the assets, whereas something like Super Hexagon is the perfect example of a game with little in the way of art assets.
- Use Creative Commons assets, especially for sound and music. Freesound.org is the best! Make sure you don't just note that there is a CC logo attached -- read the license and make it sure allows commercial use. I leave the file names intact so that I can go back and make sure everyone is credited properly.
- Try to find an advisor of some sort. This can be anything from the people on the Unity and Playmaker forums, to the unity chat channel, or the numerous playmaker/unity3d tutorials. I highly suggest looking at WellPlayedGames tutorials for learning Playmaker. Without a helping hand or two, I would have spent a lot more time banging my head against the wall.
- You will probably need at least one or two bits of code (shock horror!) I had Saxon from Binary Space on my side to help with the high score system. As Playmaker progresses, chances are we will need less and less code, but for now I think a good number of games will need at least a little. One recent addition has been an array maker that Jean Fabre has written, which I could have potentially used for the high score system.
So yes, coders might still be required for some games, but proving that you can make/release a whole game on your own will prove to yourself, potential partners, funders, Kickstarter backers, etc. that you have a work ethic and can get things done.
As a further note, strangely enough I've found that using Playmaker has actually solidified my understanding of things like object oriented design and other programming/design concepts. So I think it can be helpful in learning these concepts as well!
If you're a creative or just really want to bang out a prototype with great speed, I highly recommend you try out this combo of Unity/Playmaker.
Here's the end result of a years worth of work (part time) on Unknown Orbit, by one guy with no programming experience, some 3D skills, and some game design background, made using the iOS version of Unity and Playmaker.
Unknown Orbit was developed by Jay Weston at Exbleative and is now on the App Store for iPhone and iPad. Unknown Orbit lets you float, jump and fly around a surreal, 3D planetary system as a comet. Find out more here.
|
http://img507.imageshack.us/img507/4826/tutorialinputball3.png
Playmaker definitely requires programming for anything slightly complex with custom classes, etc.
http://www.mediamolecule.com/blog/article/littlebigplanet_the_road_to_7_million_
levels/
These console "mod tools" aren't successful just because they foster exploratory creation through instant feedback (i.e. no waiting for your experimental changes to compile), but because they spread out the space in which the problem is articulated: usually by providing 1:1 contextual triggers for in-game events. Yet, a degree of indirection supports the construction of mechanisms, traps, and even computers!
http://www.youtube.com/watch?v=ZiRgYBHoAoU
I mention all this as I forsee a convergence between development tools, mod tools and open source. In the future Independent developers should not have the unnecessary burden of having to build and debug a 3D engine from scratch, to handle collisions and a stereo soundscape, they should be able to adapt AI routines written by others and published altruistically as open source, common models of trees and buildings should be done once and made available to all rather than needlessly replicated. If someone makes a virtual Paris for a racing game, some of that work can be reused for a detective game, etc.
Right now there may be two developers at different companies struggling to build two Eiffel towers!
"In the future Independent developers should not have the unnecessary burden of having to build and debug a 3D engine from scratch, to handle collisions and a stereo soundscape, they should be able to adapt AI routines written by others and published altruistically as open source, common models of trees and buildings should be done once and made available to all rather than needlessly replicated. If someone makes a virtual Paris for a racing game, some of that work can be reused for a detective game, etc"
The problem for this is most game assets are custom made for that game or even that specific level. How would you like to be playing GTA5 and see the same gun from Fallout New Vegas, while this might be cute to some, I personally would feel like they were shorting me a gun model. And the 2 different developers could just buy an eiffel tower model if they were that terrible at modelling.
Love Playmaker and hope to see more systems expand on this idea.
I'm glad for things like this, because it provides a nice bridge for artists who know the logic of what they want done, but don't know the language the program "speaks" to make it happen.
As a more serious encouragement:
The key thing I've learned being an english nerd turned engineer, curiosity, perseverance, and a measure of pure bloody-mindedness are the three greatest traits to cultivate in making the leap to any STEM-like discipline. They turn a person's thoughts from "that... is too much for me" to "I can almost pretend I understand it" to "I think I got it" to "Old hat old bean". Keep at it and be grateful for the kindness of teachers, friends, and mentors.
Keep it up and many thanks for sharing!
I learned flow graph scripting in engines like CryEngine and Unreal before I ever did anything in actual scripting. Now that I have a fairly good grasp of scripting using C++ (and could probably move to other syntax fairly easily), I wonder if this would be a good way to make the leap from scripting to actual coding.
The only thing is that I feel that the game engine should already handle so much of the coding side of things already. The wonderful thing about using an engine like Unreal is that, for the types of games it's built for, you can literally get started making a game in it with almost no tweaking necessary (and usually it's to the small stuff, like camera distance from the character, UI placement, etc.). If you are at a point where you have to program the physics yourself from scratch, I feel that's already a problem for game production.
While custom tweaks to an engine are always going to be needed for certain games of course, and any engine should let you edit just about anything, I do think that the idea of a "game kit, just add content" is probably a better route if you have a specific genre in mind. I'd love to see the same thing for, say, RPGs, RTS games, and that sort of thing in addition to just shooters.
I haven't looked into ShiVa but I guess that's another "general purpose" engine. If I liked coding in LUA, I'd probably try ShiVa ... but since I prefer coding in C# and am very happy with Unity, I don't look much further ;-)
I still enjoy using PlayMaker because as you mentioned, it's visual coding, and designing around states really helps to keep things organized, manageable, and understandable at a glance.
As far as for teaching myself Unity and PlayMaker, I found it very helpful to port a couple of the 2D games created in the "The GameMaker's Apprentice" book (for the GameMaker engine) to Unity & PlayMaker!
The 2D art assets were already created on the book's CD, so it was then just a matter of learning how to create the sprites, collision objects and physics back in Unity and getting PlayMaker to mimic GameMaker's code blocks - in some cases I even created custom PlayMaker objects to more closely match the functionality of GameMaker.
Turned out the be a great way for me to learn PlayMaker and Unity.
Seeing how easily I was able to port the GameMaker games to Unity made me appreciate the power of using Unity & PlayMaker together - what a powerful combination!
Let me know what you think!
My logic bricks are undeniable
Blender wins again
http://www.youtube.com/watch?v=H3lEgMqm1eg
My logic bricks are undeniable
Blender wins again
http://www.youtube.com/watch?v=H3lEgMqm1eg
I find it a lot easier to debug but if any of you are interested in seeing it in action below is a link to a demo video that I made for people who are doing tutorials in uScript that I'm running out of Sydney.
http://www.youtube.com/watch?v=Pp-LI7wvRWo
As you can see it is very similar to UDK's Kismet, but I've found just as flexible as Playmaker and again, a lot easier to debug.