Are there other .jack files in the directory you re compiling? I'm guessing there are. It's possible that the problem is the interplay between files (though that particularly error wouldn't imply that, but that might just mean that the compiler is getting confused).
Try compiling just this file by itself and see if you get the same error. If it compiles fine, then it is some kind of interplay. Add the other files to the folder one at a time and compile them all each time until the error appears. Then remove all except this one and the last one added and see if the error is still there. If so, look carefully at the other file to see if there are any naming mistakes.
The compiler error "the return type of constructor must be of the class type" is self-explanatory - but your constructor return type "DodgerGame" matches your class type "DodgerGame", so I'm a little puzzled. WBahn must be on to something with regard to other files...
I just tried compiling this in my compiler (as well as the built-in compiler) and it compiles with no errors, so long as the file name is "DodgerGame.jack" (otherwise you get another error: "The class name doesn't match the file name".
As an aside, your dodger field is declared with type "Dodgder" - a misspelling, but it still compiles because the compiler silently assumes the "Dodger" class exists in another file when it sees let dodger = Dodger.new(50, 256, 30). Also, it doesn't care that you are assigning a return value of type "Dodger" to a field declared of type "Dodgder" - because of lack of type checking here, by design.