Impact

This forum is read only and just serves as an archive. If you have any questions, please post them on github.com/phoboslab/impact

6 years ago by sunnybubblegum

Hello,

This is something I've wanted to ask for a long time. I guess I felt embarrassed to admit weakness as far as my programming aptitude, especially after having already bought an Impact license.

I'm primarily an artist, but I like making things interactive. I went to school for Digital Multimedia, and I still feel highly impassioned towards this field.

When I bought my Impact license, I was very gung-ho to start learning some programming. But I scared myself off by biting off more than I could chew. I went off the deep end with the programming. I took a looong, long break from anything game-related.

Now I'm starting to pick up Impact again. Taking it more slowly this time. I bought Building HTML5 Games with ImpactJS, and have started reading HTML5 Game Development with ImpactJS (very beginner-friendly).

In the meantime, I've also completed the JavaScript track on Codecademy.com (twice). I still have a pretty elementary understanding of JavaScript, and it still stretches/hurts my brain a little. (Maybe some people just aren't wired for programming?)

I really only have need for JavaScript for use with Impact, and not its entire web-related scope. It's hard to find resources that solely target it for game development (and for a beginner).

However, my true talents -- and interests -- lie in the game content department (graphics, music, level design, story). I'm more of a storyteller than a programmer. More of an Edmund McMillen or a Phil Fish than a Tommy Refenes or Renaud Bedard. But these talents need a platform outlet -- one which I hoped could be game development.

I would probably be someone who would use Adobe Flash, if I didn't think Adobe was evil (and if it were both affordable and available for Linux). But a framework like Impact seems to offer more of the ideals I'm looking for (cross-platform, open, affordable).

So I guess what I'm looking for is helpful advice, or a nudge in the right direction. Advice for someone who isn't primarily a programmer (trying to be though), who is looking to apply their artistic skills through the medium of game development. How would you recommend someone like me try to learn JavaScript better? Are there any resources you would propose, like Codecademy, for example? Or, am I foolishly barking up the wrong tree, should pack it in now, and try other avenues for applying my skill-set?

Thank you.

-A Confused, Somewhat-Reticent, Yet Optimistic Impact Developer Hopeful

6 years ago by Joncom

Is there a game you'd like to play, but it doesn't exist? Make it!
If that sounds too difficult, then simplify the idea until it sounds more achievable.
It doesn't have to be a "complete game".
Maybe "drawing a sprite onto the screen" will be your first game.
Start small. You can always add more to it later.
And we're always here to help with any questions you may have.

6 years ago by vincentpiel

I think the biggest issue with Javascript is also its biggest strength : it is its versatility.
Every thing you do can be done in so many ways, it might be easy to get lost. Just an example, and an important one : creating an object can be done in like 10 ways, each one having its pro and cons.
But this versatility might be a strength also because quite some things can be done very quickly : i also program in a static language, and i am sometime annoyed by the 100 lines of codes i have to write to do the same thing Javascript would do in 10.
So, as Joncon said, go step by step, find the patterns that suits you, and build yourself a set of tools that will grow little by little.

And yes, there's the community, also : this forum, but also StackOverflow, or gamedev (http://gamedev.stackexchange.com/), or gamasutra, or...

There are a lot of blogs here and there that explain sometimes in a very simple and clear way how to do things : http://gamedev.tutsplus.com/ is very good, and if you pay (:-/, i know...) you have access to quite some material here.

Whenever you ask yourself a question ,maybe someone digged it allready ! forums or blogs can get you started / or realize it's just too difficult yet ... Just be inventive with the words in google, learn to quickly skip uninteresting things, to follow the links of the commentators, find your reference sites, ... investigate ! being a programmer as of now is quite as much about knowing how to code... than about getting the solution on the net :-) .

I'll finish by a link to a blog i find amazing, too bad there's no more of it !
It is William Malone's blog, and for instance, i think this article will catch your interest :

http://www.williammalone.com/articles/create-html5-canvas-javascript-game-character/

6 years ago by drhayes

There's no reason to be embarrassed about your skill level. Everyone was a beginner, once.

Joncom and vincentpiel are both 100% correct. These forums are an amazingly helpful place and one of the best "features" of ImpactJS. Start here and really dig in.

The absolute best way is to dig in and start coding. Set your expectations very, very low and gain momentum by exceeding them in small bite-sized pieces.

Start absurdly small: one level, with a square entity that the player controls. Try to add a jumping behavior. Check out the jump and run code example that came with Impact to learn more.

Fiddle with the game physics to see what effects they have. What about increasing the bounciness? What about decreasing gravity? Why set velocity for jumps instead of acceleration?

How would you add double jumping, like in Metroid? Make sure the player can't just keep jumping when they're in the air, only once.

Now make another entity, an enemy. Don't worry about it moving yet. Can you make it so the player-controlled entity gets destroyed when it touches the enemy? Can you make it so the player can destroy the entity by jumping on top of it?

Now make the enemy move. Maybe it just moves back and forth on a platform without falling off.

Now make another enemy. Make it so they don't overlap each other, so they change directions when they collide.

You're now very close to having a Mario clone.

In the end, it doesn't matter how you write your game. Just write it. I can talk about how to "correctly" structure a program all day... but we don't want correctness, we want to make games. So don't worry about that stuff.

6 years ago by dominic

Just to chime in: the best way to learn programming is doing it. I wouldn't be too worried about JavaScript's internals at the beginning. Pick it up as you go; look up what you need to solve your current problem.

I have been writing JavaScript for about 2 or 3 years without "understanding" it and only later learned about closures, how callbacks work, the this keyword and all the weird and esoteric details of the language. And that's totally ok. You can write games without fully understanding the language. I would even say that writing games is the best way to learn a language.

Also, when I wrote Impact I took great care to make the program flow, the run loop, easily understandable. There's as little "magic" in the game engine as possible. The API doesn't use callbacks anywhere and doesn't require you to know about closures and stuff. So if you build games with Impact, you only need to understand a subset of JavaScript.


I don't have any other advise for you than what the others already said. Pick a simple game idea and try to implement it. Start small. Use one of the example games, change the graphics and add new features to it.

Your first game will almost certainly suck; there's no way around it. So at the beginning, don't be afraid to throw it all away again and start over.

Good luck :)
Page 1 of 1
« first « previous next › last »