Django for multiplayer games website (poker) - django

I am creating a poker card game website with javascript, I was wondering if it is possible to make it a multiplayer game and run it live with django as backend (django is the only backend frame work i know, i made many projects but never worked with sockets or channels this is my first project )

Related

Should we create chat application with Flutter and Django if we want good performance and efficiency?

I am a newbie in the chat application world but I am not new in the IT world! I want to create a chat application that may have a large user base in the future. I have researched that now days flutter is a very good option to create cross-platform apps and it is good in terms of performance. So to create that chat app in android and ios I will use flutter in front-end for sure!
But for backend, I am not so sure. I have 3 years of experience in python and Django and that's why I wanted to use Django as backend in my chat app. I have searched that there is one package of Django named Django-channels which I can use to build a chat app! But I have concerned like will django-channels be a good option to build a large chat application like Instagram or WhatsApp?
For high-performance web applications Django is quite performant and good.
What you are searching for is a language or framework that can handle lots of connections, threads and users.
Another aspect you would want to consider is the scalability of your application.
You can definitely build a chat application on Django. django-channels is a good choice for building NRT applications. But I would recommend looking into other tech stacks as well.
You should also consider using a well-established protocol such as XMPP as the base for your application.

Is there any production-ready chat app for Django?

I'd like to add a chat app into my Django site but I got perplexed with number of [packages] and diverse array of technologies used. So I am wondering what is the best approach/package to be used in production?
I am open to all solutions from native Django apps to easily integrated additions from Tornado, Twisted, js based, etc.

Multi-player game with Django, what to use for the communication between server and client?

I am currently developing a mutil-player game with Django. You can consider the game as a chat room app. Each user can create room of maximum 8 players, wait for other users to join in and then start to play.
For this purpose, I googled around and found two possible solutions:
One is using Django with gevent-socketio or tornado, here is the github link
The other is using Django with nodejs, here is the link to the tuto
I do not know which solution is more suitable in my case. Besides, I guess I need dynamically create websocket for each chat room, right?
I think its best you use node.js with socket.io. Its really simple and fits perfect for your situation. You will have to associate each client uniquely, which socket.io does for you by generating a unique client id which you can check further to do what you want.
Here is a good example to get you started : http://udidu.blogspot.com/2012/11/chat-evolution-nodejs-and-socketio.html

Turning Django web app to a Desktop app

I am very comfortable with Django, and I was wondering about whether there is some way to convert a Django web app into a Desktop app (may be not 100%), so that I can distribute it to users, instead of learning a GUI framework.
Thanks
Maybe not exactly what you are looking for, but if you really, really don't want to learn a GUI framework, in your place I'd consider packaging your Django web application with a small web server in the distributable package, with the Django app configured to run on localhost on the web server. Then I'd include a script that launches a browser pointing at the starting page of your Django app as the "executable".
If not configured properly this could be considered weak from a security point of view.

Django real-time game backend

I plan to make an online game. It will be a full real-time during play. For my website backend I have used Django. Database and other things are almost done. What is the best way to make user client side and server side backend for play in realtime? As I use Django it would be nice to have it in Python.
We plan that there will be minimum ~1000 online players all the time.
Twisted/Tornado/Node.js or maybe something else?
Thanks in advance.
Tornado is very light and pretty nice in my opinion. You could integrate it with Django in various ways -- e.g. Integrate Tornado in Django, Integrating Django with Tornado's web server -- or just run it alongside Django behind whatever web server you use.
Node is so fun that you might tire of Django. :-)
I think you should keep separately Django - which is used for general site functions, and Tornado - which is used for realtime data. I think you should use some Redis to store/read data and communicate between django and tornado, so prevent using database access directly from tornado.
Developing your own backend server sounds as interesting project.
But from my experience it becomes a very significant of your R&D effort.
It starts with developing core backend components, dealing with servers, installs, patches, security issues and more.
On top of it, you will need to create admin systems to manage your player, levels, xp, integration to stores and more... and then, you have the reports (installs, retention, etc'...)
I would strongly recommend using existing backend platforms.