Re: Web development?

Be careful when choosing to use less popular packages; Twisted, Gevent, and Asyncio are written and used by many, many people.  I'm not saying that you should disregard the packages you have found.  But if your code starts getting ugly, it may be the fault of the package and not yourself, so keep that in mind.  Also, note that LGPL is arguably GPL when using Python, in that you basically can't do anything to close-source the client effectively and still obey the license.
Part of network programming is not blocking.  This means that you can never explicitly wait on anything.  Twisted achieves this through the concept of deferred, which is confusing the first 6 or so times you see it.  Gevent achieves it by being threads-but-not; other "greenlets" get a chance to run when you read from the network, so you can make blocking code that magically doesn't.  Asyncio combines these: you can code in the gevent style, but must syntactically note what is going to block (solving the a calls b calls c calls d which reads from the network, which is one of the big issues with Gevent).  If you want me to talk about why Gevent is not a free lunch, I will.  For a game, it ends up not mattering which of these you use, believe it or not.  There is a game loop on the server which processes available messages from clients every tick and queues up new ones to go out.  The networking should probably be kept completely separate from this loop, or so shows my first failed prototype.  I've seen the problems I am describing in real code.
Regardless, the first time you do network programming for the server side of things "right", it's going to feel very wrong.  Incredibly so.
Here are the estimates I have given myself for something akin to Swamp but more mud-like (quests, talking NPCs, etc): 1-6 months to finish Libaudioverse and write a simple game using it, 6 mon ths to write an online server/client pair that contain everything needed for building, scripting, and basic gameplay, and an additional year for testing and worldbuilding before a launch.  Doing this successfully is not about knowing a specific programming language, believe it or not.  You will get much, much further with creative architecture; turn-based stuff is simple, i.e. board games, but realtime games definitely require it.  My blog posts may not help you yet, but I'll poke this thread with a link once I have the time to go tag everything, as I need to do a bunch of small stuff for my web site soon anyway.

_______________________________________________
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : Sebby via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : Sebby via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : arqmeister via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : stewie via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : frastlin via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector
  • ... AudioGames . net Forum — Development room : camlorn via Audiogames-reflector

Reply via email to