My recent "concerns" with GameSalad

Disclaimer: These are just a few thoughts; my own "Status Report" per se. This isn't intended to be pessimistic, but rather honest and forthcoming.
In the past few days, I've done a slight turnaround on my GameSalad thoughts. Several doubts started adding up, and I started pondering the future of GameSalad long and hard. First and foremost, whether it can suit my needs to accomplish the game(s) I want to create. My current conclusion is "no", but it's not a convincing and absolute "no". I joined GameSalad about 6-7 weeks ago, and since then I have made great progress on my first game idea. But in the past week, the "cant's" started to outweigh the "cans". When I first started GS, it was cool... I can do this, I can do that, and without coding/scripting, how awesome is that!!! But along the way, the limitations were always lurking, and I think they finally got the best of me. While GameSalad has alot of potential (and is still in Beta), I wonder how long we'll have to wait for such features as arrays, inter-actor communication (of variables), polygonal collision shapes, actors following paths, PAUSE, networking, etc. While I'm sure Gendai has all intentions of adding this stuff eventually, that could be months down the road.
With that in mind, I started researching alternative game development platforms, and right now I'm testing out Torque2D (Cocos2D being another option). I fully understand that it will require me to learn TorqueScript which is similar to to basic C++ or Objective C. As I have stated before, my expertise is in the artistic realm, not programming, so this could be a huge challenge for me. However, I hope that I can learn and/or "mimic" what others have done to meet my basic objectives and create a game that is closer to my vision than GameSalad can provide. From what I can tell, the Torque2D engine is considerably more capable than GameSalad, and less bloated.
So that's my own status report, as of now. I still love GameSalad's FAST deployment and visual interface, which is exactly what Gendai is aiming for. I might be back to GameSalad soon, if Torque2D proves too much for me to handle. In the meantime, I will keep checking in to see where this engine is going, and whether it can meet my needs as it approaches version 1.0.
In the past few days, I've done a slight turnaround on my GameSalad thoughts. Several doubts started adding up, and I started pondering the future of GameSalad long and hard. First and foremost, whether it can suit my needs to accomplish the game(s) I want to create. My current conclusion is "no", but it's not a convincing and absolute "no". I joined GameSalad about 6-7 weeks ago, and since then I have made great progress on my first game idea. But in the past week, the "cant's" started to outweigh the "cans". When I first started GS, it was cool... I can do this, I can do that, and without coding/scripting, how awesome is that!!! But along the way, the limitations were always lurking, and I think they finally got the best of me. While GameSalad has alot of potential (and is still in Beta), I wonder how long we'll have to wait for such features as arrays, inter-actor communication (of variables), polygonal collision shapes, actors following paths, PAUSE, networking, etc. While I'm sure Gendai has all intentions of adding this stuff eventually, that could be months down the road.
With that in mind, I started researching alternative game development platforms, and right now I'm testing out Torque2D (Cocos2D being another option). I fully understand that it will require me to learn TorqueScript which is similar to to basic C++ or Objective C. As I have stated before, my expertise is in the artistic realm, not programming, so this could be a huge challenge for me. However, I hope that I can learn and/or "mimic" what others have done to meet my basic objectives and create a game that is closer to my vision than GameSalad can provide. From what I can tell, the Torque2D engine is considerably more capable than GameSalad, and less bloated.
So that's my own status report, as of now. I still love GameSalad's FAST deployment and visual interface, which is exactly what Gendai is aiming for. I might be back to GameSalad soon, if Torque2D proves too much for me to handle. In the meantime, I will keep checking in to see where this engine is going, and whether it can meet my needs as it approaches version 1.0.
This discussion has been closed.
Comments
Anyone want to buy my Unity license? lol.
If you were watching my posts, you could see that I was really down on GameSalad a few days ago. It can be hard to get GameSalad to do what you want, especially with decent frame rates and loading times. As I figure stuff out, I get more optimistic. That might be the problem here. It's really tough to stay determined. Some developers supposedly made thousands of dollars with GameSalad, so I'm not ready to give up just yet. Simple things like being well rested and not hungry can dramatically improve productivity.
Also, I think I created a unique approach to GameSalad development. I'm not ready to share this technique just yet. Heh... I'd like to launch my game first. Yet, it might help solve some problems for people.
The simple reality is that I launched three iPhone / iPod Touch / iPad apps... one was a launch-day app for the iPad. This probably would not have happened if not the decision to use GameSalad for software development. I think that's awesome. So while I am grumpy about the limitations of GameSalad, it's pretty much my main hobby now. Heh, I'm still working on making it my primary income.
And finally, I'm really excited about GameSalad / iPhone OS development right now. I am almost done with my next game -- and it has German translations -- just in time for the International launch of the iPad. That's amazing. There are issues with GameSalad, but I think the advantages outweigh the disadvantages.
As to your concerns... yes, there are limitations. Knowing what they are is half the battle, really.
I found that older devices just can't support what I want to do with my ideas. If done in native code, perhaps they could.
Rather than worry about it, I've moved on and I'm concentrating on 3GS upwards only. It certainly gives you a lot more breathing room!
I know this will limit sales, but if I was in it solely to make money, I'd have given up months ago!
And with even Apple abandoning older hardware (OS4 only runs on newer devices) I'm not *too* worried.
So work within the limits if you can. You can use global variables to have actors 'talk' to eachother. Actors following paths you can do in a variety of ways. And is polygonal collision *really* necessary? (I suppose it depends on your game!).
Anyway, I wish you the best of luck with Torque. If your brain works anything like mine though, I think you'll be back sooner than later!
Good luck!
QS
I am a Flash programmer, and I bought Torque2D Game Builder a few years ago. It was fast, but I was never able to get a game finished. I typed 15000 lines of code, but I still ran into issues where it wouldn't work properly with certain video cards. I was pretty frustrated as it was out of my control.
TorqueScript is similar to Actionscript, so it wasn't too hard for me to learn. But I kept running into issues with the engine. I assume it's been fixed by now, but I gave up on it years ago.
I do wish GameSalad would have Arrays as it would allow me to make some cool puzzle games, and I wish it had better text handling capabilities.
One of the things you mentioned are already in place:
Every actor has access to every other actor in the Scene - as well as all the attributes of every actor. You can listen to other actors as well as control other actors. I can touch one actor and have it change ANY attribute of any other actor - without using any attributes.
As far as performance, my current game is averaging 60FPS on my iPhone, which is pretty phenomenal!
I find that most performance comes from code that isn't optimized, or art or audio assets that aren't optimized.
That being said, mobile devices have pitiful RAM and CPUs. You cannot push them like a Desktop app. That isn't GameSalad's fault. GS runs beautifully on an iPad which has better RAM and CPU.
Every development environment has its pros and cons.
Yes, I know that working within the "limits" of GameSalad is half the battle. In fact, I somewhat enjoy finding workarounds to tricky problems (but then, I also wish I could just hack together some Objective C and accomplish what I really want to accomplish!).
I'm not really in this for the money. I also might just dedicate myself to iPad development, thus scrapping the performance limitations of older and slower devices.
On the other hand (call me weak!), I see the games developed in Torque and Unity with a billion particle effects and dynamic lighting and complex logic and polygonal collision, and I drool into my keyboard! I'm an old-school gamer from the days of Commodore 64 and 8-bit Nintendo, so "eye candy" doesn't always impress me. But when I envision my game idea done in Torque vs. GameSalad, I get a bit starry eyed thinking of what I might do in Torque (if I can learn the code) versus GameSalad. I'm not just referring to visual effects, I'm referring to features and logic.
All that said, I might be back to GameSalad very soon. That's why I'm not saying "farewell" or anything like that. I'm just getting my feet wet with some other engines, and I'll make my decision from there. GameSalad might be my platform of choice despite the limitations, so perhaps I'll see you all very soon!
May I ask, how can actors "talk" to each other in GameSalad? I posted an entire topic regarding this a few weeks ago, and the responses were basically "actors cannot share variables/traits between each other." Obviously I became frustrated by that limitation.
Let me detail my specific scenario, as an example, since it won't "spoil" my game idea...
I have an actor called "air blower". This actor is intended to "blow" other actors in the direction it's facing, like a powerful jet of air. I want this actor to be rotated to basically any angle... 0, 45, 90, 270, 320, etc. So, let's say that actor "marble" collides with that object, how do I write code to say "IF marble collides with actor 'air_vent', then READ the specific rotation of the air vent, and accelerate the marble in that direction?
I want to code that IF "marble" collides with "air_vent", and air vent is rotated (blowing) upward at 90 degrees, "marble" gets blown (accelerated) at 90 degrees.
Anyway, thanks for the input. I hope GameSalad can meet my needs in the future, because I truly enjoy using it!
Unless you are planning on months and months game salad is reallybtough to beat. For 2d it is the best in my opinion.
The only reason I am revisiting a game started in unity about 8 months ago is for the cross platform support. I plan to finish it but I am painfully reminded why I didn't finish the first time.
If Gs comes out with xbox support I'll never go back.
Torque and unity are very full time work. Game salad is fun.
I have never even dabbled in UDK. I'm too scared.
Also gs is smoking on iPad so that gives me much hope. The next iPhones should be at least that fast.
Would this encourage you to stay?
:P
QS
The issue I had was not with GameSalad, but the iPhone itself. I'm not a big fan of virtual joysticks and d-pads and buttons. It kinda felt like I was going 'against the grain'. Instead of playing to the iPhones strengths (touch and the accelerometer), I was trying to force it to be something it wasn't.
The iPhone and GameSalad are WAY more powerful than a NES. The issue is not with the technology, but with creating all the animations, the lush story, etc... Those games took years to develop.
In my opinion, A Link to the Past is the best game ever created. My other favorite is Yoshi's Island. And they did not need polygonal collision shapes, actors following paths, networking, etc.
They did have pause though!
Not sure i will renew my membership unless they add the PAUSE & ONLINE SCORES!
Our next game might have to be one where we don't have a score or awards or anything that we would think might be marked down without online support.
Darren.
What I would do would be on your air blower actor, constrain the rotation attribute to a variable (so that it is always updated). This will allow you to have a variable that is constantly updated based on the rotation of your air blower.
You could then set the IF actor collides > with actor of type > air blower and add a move attribute be the direction of your variable.
Hope that helps!
As for Torque 2D, I didn't see Android support. At some point I would like to port my iPhone / iPod Touch games over to Android, as I've had a lot more success with the Android Market. I think that GameSalad is progressing a little too slowly, but it is progressing overall. I probably would be happier with GameSalad if the updates were quicker and more significant. Although, they did well with the iPad launch. If GameSalad does as well with the iPhone 4.0 OS launch, you might be looking at other platforms with disdain.
Learn its limitations, then do you best you can. The best you can is LIMITLESS. It's been proven time and time again. Amazing creativity is born out of constraints.
But i understand your frustrations. Developing in GameSalad is more about bullying and workarounds, rather than empirically setting out instructions, like programming/scripting. And this can be a HUGE pain in the ass. The amount of times i've vowed never to touch the thing again can be counted by the many dents in my macbook.
I think what's needed is not new game features, but the other half of the development environment. They could even remove game features for all i care, if they just gave us a debugging environment. Just think. As intuitive as the build environment to give us an understanding of what is was actually happening, and what's going wrong. More than anything this would allow us huge leaps in game quality, (and save my Mac from abuse).
To have a development environment, where you have to guess where it's going wrong, is just mean and nasty. No programmer would put up with it. Indeed, you know Gendai has a dev version spewing out all sorts of info. It's not sexy, QC rarely is. But i guarantee development times will diminish and quality levels will sore.
They recently issued a curious post asking us what went wrong with 0.8.6, how the hell could we provide decent information without a debugging environment?!
I don't think we have anything like 86% (0.8.6) of a full application. Let's go back to 0.5 and concentrate of the other half please!
I do still think it is the most creative application i've ever picked up. And you've just got to look at the last couple of releases Drift 'n' Burn and Jungle Bug to see what perseverance can achieve. But GS should not be about perseverance, come on guys (Gendai), your bike has a missing wheel. Your treasure box has no key. Your salad needs a dressing.
BUT - knock my beloved Spectrum, 28 years after I first owned one, and PREPARE TO DIE!!!!
Link to the Past is one of my favourites too. And like you said, it doesn't need all those things that gamers and/or developers think are so important.
Someone from the forums recently sent me a message on Twitter essentially saying the biggest issue people that played his game had was that there were no online Leaderboards.
While it'd certainly be a very nice feature, online leaderboards do not make a !@#$% game suddenly brilliant. If that was the biggest concern, then the dev had nothing to worry about game wise! All of this.
QS
Make a real game attribute (I assume you know how to do this)
Now go into the the air blower and drag in constrain atribute.
Put constrain attribute game.untitled attribute(or whatever you named it) to self.rotation
Now, in the ball actor, you make a rule that says when marble collides with air blower, accelerate or move (what ever speed), and make the angle the attribute that you made.
That should work. If it doesn't, make sure that the ball is moveable, and that if you used a move behavior that it says additive.
Also, if you want to learn how to "joint" to actors to make them move at the same time, check out this video-
If you have any more problems, just let me know
-Josh
PS: @Polygame: SNES is still better than the Megadrive, and that's a fact. Just accept it