Hacker News new | ask | show | jobs
by andrew_wc_brown 3047 days ago
My open source game is Electron+PhaserCE+Typescript+Webpack.

I tried to avoid webpack since I knew compile time would be an issue for my other team members and it turned it out it was. As a web-dev I'm use to its workflow but onboarding game devs hate it. I have to hear everyday lets move to Godot, Unity, Unreal Engine because waiting 4 seconds for compiling is a headache.

Switching to Typescript is great for larger teams because it makes properties explicit. I personally like coffee-script and find it more productive if I'm the only dev but I swallowed the medicine on this one and it was worth it.

VSScode is powerful with Typescript but its not as productive as VIM. I think of code completion and seeing errors right away as crutches that atrophies a developers own skills to find code and errors but they can make it much easier for juniors and lower the bar, pair this with wallabyjs and you have a controlled environment that catches everything for you.

I found no resources on testing Phaser but figured out my own way of mocking Phaser objects, and came up with my own way to write acceptance-like tests for my game without electron.

I really wanted to contribute to Phaser3 and had put great effort to join but Richard was useless in responding. He said he was porting their tickets from Trello to Github and then I could contribute which never happened, I asked month over month. I really wanted to use Phaser 3 to future proof my game and I would have contributed significantly. I could have forked PhaserCE but its a mess which makes sense for the rewrite but working blindly on Phaser 3 would be futile. I am quite bitter about bitter about this because I 20 hours a week for 6 months I could have contribute and now I don't

I think I will likely just write my own lightweight game framework to map only what I need and gut Phaser. Even looking at Phaser 3 codebase with their big rewrite from scratch its still clunky and I think this is because they don't build games at a large scale with a team to have a good feeling to fine tune an engine.

https://github.com/omenking/swap-n-pop

3 comments

>> would be an issue for my other team members[...] I'm use to its workflow but onboarding game devs hate it. I have to hear everyday lets move to[...] I personally like coffee-script but I swallowed the medicine on this one[...] I think of code completion and seeing errors right away as crutches[...] make it much easier for juniors and lower the bar

That's an awful lot of "I am very smart" for one comment. You shouldn't need to repeatedly insult your fellow team members to express your thoughts on such matters.

Preferring vim over an IDE isn't enough to convict, but when someone starts associating the use of an IDE with "juniors", the verdict is guilty. Your choice of tools should be about getting the job done efficiently - using vim isn't a skill that demonstrates seniority or superiority.

>> I really wanted to contribute[...] put great effort to join but Richard was useless in responding[...] I asked month over month[...] I would have contributed significantly[...]

Classic "nice guy". You might have taken the hint after the first few weeks - or months - that he wasn't interested. I'm sure that, upon reading your comment, he would be relieved to know he didn't invest his time onboarding someone who would have sucked the life out of the project.

Source: You sound like me 10 years ago. Right down to the perspective on vim.

`I think of code completion and seeing errors right away as crutches that atrophies a developers own skills`

Really? You would rub sticks together for fire rather than use modern tools such as a lighter? I can't see how this reflects being a better programmer. While you are rubbing sticks, I am probably wondering how X can be improved and implementing that.

Ugh, this point of view is so annoying. Just because you prefer an IDE to something like VIM/Emacs doesn't mean your skills are less in any way. Such an elitist way of thinking.
Debuggers, autocompletion, even syntax highlighting help a great deal. I like to think that they let you program on a higher level.

I usually program in Emacs, but fire up an IDE when I need to debug or want some assistance in navigating the codebase or learning some new library.

I find that the code I write in Emacs is much more succint and cleaner. I think the more layers you remove, the more you can focus. I bet that if I wrote my programs with pen and paper, my programs would be much more beautiful.

But if you need to manage complexity, it is far more feasible to use an IDE.

Choose the right tools for the job. Use editors/pen and paper/whiteboards/IDEs to meet your requirements.

Advocating the use of text editors over IDEs is IMHO the typical example of the "Real programmers use Fortran" syndrome.

Fwiw with a couple of plugins[1], I have very nice code completion in vim with ruby/rails along with useful "go to definition". Perhaps not as challenging as punching cards - but it's not like vim is some kind of bare bones editor...

[1] for a starting point see https://github.com/tpope/gem-ctags/blob/master/README.markdo... I'm on my cell, but as far as I can rember my ruby specific part of vim rc is ~5 lines or so. Coupled with 'guard' to run ctags over changed files...

At a glance, this seems to cover the essentials:

https://chodounsky.net/2016/12/09/using-tags-to-browse-ruby-...

FYI, I just tried your game on windows 10 and the "enter" key is not working to start the game. So I can't get past the start menu. No errors or warnings in the console.