Udacity Course Feedback

Lesson 0 - Optional Javascript crash course

Nothing relevant since I knew JS, AJAX and JSON before

Time used: 0:30

Lesson 1 - Canvas

No problems so far, everything was clear.

Time usage: 0:30h

Lesson 2 - Atlases

  • There is some bullshit code and tons of bullshit 40-characters-line-comments written on the provided source code, it makes working on a laptop a bit frustrating, the fact that the scroll level of taps is not keep also helps.
  • Task 4 (just an AJAX request) makes no sense at this point.
  • Task 5 (fill a bunch of fields from a JSON parsed object) makes no sense.
  • Task 7 Having to use floor because tiles and map sizes aren't powers of two doesn't look very appropriate
  • Task 8 For some reason they assume that tilesets are sorted by their firsgid index, that is quite risky.

Time used 0:50h

Lesson 3 - Input

  • Task 3: I don't think indirections deserve a task.
  • Task 5: Basic high school algebra.
  • Task 6: Almost c & p from task 4

Time used: 0:35h

Lesson 4 - Entities

  • Task 4: I like this factory usage example

In my opinion this section is the best right now, Although is still so easy,is the first that is more about game programming (game loop) than general programming.

Time Usage: 0:35h

Lesson 5 - Physics

  • Task 4 Nice point about the bounding box,
  • Task 5 I really want to know where the rabbit goes :(.

Again this section is better than the previous, Although is quite slow paced and the actual content is small. Time used: 0:45h

Lesson 6 - Sound

  • Task 4: AJAX, again
  • Task 9: Simple math again.

The actual content of this section was almost none, it would be nice to have some special effect simulation like Doppler effect or echoes.

Time Used: 0:30h

Lesson 7 - Asset Loading

  • Task 5: Having to hack this task for passing is not nice at all.

Definitely this section should be placed at the beginning of the course, it feels like the contents of this section are already scattered through the previous sections.

Time used 0:25h

Conclusion

This is by far the worst MMOC I've taken (this is my 4º), it's buggy and looks unmanaged, there were almost no trace of the lecturers. The contents are also kinda unlinked, there are lot of things happening underground that haven't been explained. The exercises are a bunch of small and easily solvable problems completely unlinked from the big picture, you can finish all of them and still have no idea about what is happening.

It is also a Google's course, it is intended to (barely) work only on Chrome and Chromium.

To sum up, I would never recommend this course to anyone.

Course progress

Game

Idea

The idea is to make a game like SuperPang

Controls

  • Go right: d
  • Go left: a
  • Fire: spacebar
  • Reset level (debug): s
  • Game pause: p

Current status

Source code

Unfinished things

  • Transition screens
    • You won.
    • You lost.
    • Inter level transition.
  • Background music.
  • Chain/harpoon sprite.
  • Further particle momentum adjustments.

Where to go from here

  • Add more game mechanics
    • Breakable blocks.
    • Power-ups.
  • Procedural level generation.
  • Finish touchscreen control, as of now the character doesn't move.

Difficulties

  • Since the shape of the bodies cannot be changed after the creation of the body I had to hack box2D a to make it process the collision between static objects (the chains are build by stacking static blocks) since chains are destroyed by hitting a wall (another static object) or a bubble. I've made the chain by stacking static blocks because the effect of the gravity cannot be canceled (yet you can hack it), you can apply a force in the opposite direction of the gravity but it won't work properly, caused probably due to rounding errors.
  • You have to be aware of taking into account the size of the screen, you have to use the scale factor on every absolute value and this is so easy to miss.
  • Finding assets.

Academic Honestity

I state that all code in exercises and in the assignment returned by me is only my own work.

Assets