Faz sentido ganhar dinheiro com JavaScript?
Sim.
Se você pode escrever um jogo (ou ferramenta bacana, etc.) usando a linguagem de programação que preferir, e se tornar popular o suficiente para permitir que os usuários paguem por assinaturas e / ou clique em banners (ou seja financeiramente benéfico para você). de alguma outra maneira, como vendendo licenças para reutilizar seu código-fonte), você terá êxito.
Talvez a pergunta que você queira fazer seja "É possível?" que é onde o aspecto "bastante popular" entra em cena. Realmente se resume ao que sua base de clientes em potencial gosta (nesse caso, as pessoas que jogam seu jogo) e, se eles realmente gostam do seu jogo, você tem um dos elementos mais importantes para tornar possível transformá-lo em um sucesso ( outros elementos seriam a compensação dos custos operacionais, como hardware e largura de banda do servidor, ou custos de hospedagem, custos com equipe de suporte {se você precisar de equipe de suporte} etc.).
Desafios tecnológicos
Um dos problemas com a programação JavaScript é que cada navegador da web o implementa de maneira um pouco diferente (e há um que não devo citar, que o implementa de maneira tão diferente que os desenvolvedores precisam codificar soluções alternativas especiais usadas com base condicional) se o usuário está usando esse navegador da Web).
Embora a maioria dessas soluções alternativas seja muito conhecida, elas vêm com o ônus de precisar de mais recursos de desenvolvimento (como mais tempo para testes com os principais navegadores da web). Nota: Não estou tentando desencorajá-lo, só quero ter certeza de que você está ciente desse problema comum antes de começar.
Obviamente, cada idioma tem seus desafios; portanto, você pode se beneficiar de um pouco de tempo pesquisando os "prós e contras" dos vários idiomas disponíveis antes de tomar sua decisão.
Ofuscação do código fonte
Embora a ofuscação possa parecer uma jogada popular, se você realmente estiver preocupado com isso, talvez o JavaScript não seja o idioma certo a ser usado - talvez seja necessário avaliar outras opções nas quais o código-fonte é compilado de alguma forma (como o Java códigos de bytes ou um executável nativo para os sistemas operacionais de destino nos quais você está interessado).
Além disso, quando se trata de ofuscadores de código-fonte, também existem de-ofuscadores que podem ajudar significativamente no processo de engenharia reversa; portanto, você pode achar que a ofuscação não oferece realmente a proteção que você espera (e poderia muito bem ser um esforço desperdiçado na maior parte). O que os ofuscadores às vezes podem oferecer é um pouco de otimização, pois os nomes das variáveis são encurtados (para que o intérprete JavaScript tenha menos caracteres para filtrar), mas no lado do cliente isso pode não ser muito perceptível.
Um aspecto a considerar também é que, se você estiver atualizando constantemente seu código JavaScript, a cópia pode ser muito trabalhosa para terceiros, porque eles sempre precisam manter o sistema copiado atualizado, especialmente quando grandes mudanças são introduzidas.
Se o servidor estiver tomando todas as decisões, apenas o lado do cliente do código-fonte estará disponível para o público em geral, portanto, isso pode não ser realmente importante, pois é o servidor que executaria a maioria do código realmente importante.
Flash vs. JavaScript
O Flash e o JavaScript geralmente são focados em direções diferentes, embora um deles possa frequentemente ser usado para muitas das mesmas tarefas. Obviamente, quando se trata da necessidade de gráficos rápidos, o Flash geralmente é a escolha mais adequada entre esses dois; se o seu jogo não exige o tipo de gráficos rápidos para os quais o Flash é adequado, certamente não vejo por que você não pode usar JavaScript sem muitos problemas.
Dê uma olhada em http://maps.google.com/ para ver um exemplo de JavaScript usado em um aplicativo do lado do cliente com muitos gráficos - ele usa JavaScript (e mais especificamente o AJAX) para fazer o download de peças que são essencialmente fotografias da Terra que anteriormente era orbital dos satélites e permite que o usuário use as teclas de seta e o mouse para navegar de várias maneiras. Se esse tipo de desempenho atender às suas necessidades de design de jogos, o JavaScript poderá ser uma opção mais viável para você.
Paranóia
Você não é paranóico. Lá, você foi informado do que queria ser informado. =)
Justifique o gasto de recursos
Código aberto não é a única consideração ...
Quando se trata de gastar dinheiro, um plano de negócios pode ser muito útil - entender seu mercado (base de clientes em potencial, concorrentes, etc.), seu orçamento (custos de equipamentos, serviços, marketing, projeções de vendas, etc.), seu eventual requisitos de pessoal (desenvolvedores, artistas, suporte técnico, contadores etc.), etc., podem ser muito úteis, especialmente se você for sério sobre como fazer negócios com isso.
Para cada investimento, sempre há um risco em algum lugar (embora os riscos nem sempre sejam aparentes, os investidores podem identificar riscos diferentes). O ponto principal é que os investidores esperam um retorno lucrativo de seus investimentos e, portanto, desejam [pelo menos algumas] garantias de que você pode superar os riscos.