|
Software Software created for enhancing HeroScape |
|
Thread Tools | Search this Thread | Display Modes |
#37
|
||||
|
||||
Re: HexScape
Thanks a lot for the tips, Xorlof.
I'll try to make a DIY light tent, and the lego can provide a turntable and camera mount. I'll see how it goes ! I'll gladly use your zombie model, too. I you still have photo shoot of others picture that you didn't turn into 3d model yet, will you be willing to share them too ? what follows is an answer to Xorlof speaking of HTTP and Websocket and is quite technical and probably boring for not tech-savy people
Spoiler Alert!
|
#38
|
||||
|
||||
Re: HexScape
Way cool that you're doing this Lyrgard. Wish I could +rep you. I'm also glad to see you're keeping the implementation separate from the interface.
Formerly known as capsocrates -- Remixed Master Sets - challenge yourself with new terrain combinations! -- Colorado Fall 2023 Multiplayer Madness -- caps's Customs Redux - caps's multiplayer maps - caps's maps - Seagate -- Continuing Classic Heroscape: C3V SoV |
#39
|
||||
|
||||
Re: HexScape
An Android version would be soooo sweet!
Heroes of Star Wars Scape (HoSS) My Custom Repaint Figures / My Custom Terrain / My Maps & Scenarios / My Trade List Red 6 standing by! |
#40
|
||||
|
||||
Re: HexScape
Formerly known as capsocrates -- Remixed Master Sets - challenge yourself with new terrain combinations! -- Colorado Fall 2023 Multiplayer Madness -- caps's Customs Redux - caps's multiplayer maps - caps's maps - Seagate -- Continuing Classic Heroscape: C3V SoV |
#41
|
||||
|
||||
Re: HexScape
Cool article caps. That game is the source of my screen name. I played that game when I was an adult with random strangers.
Heroes of Star Wars Scape (HoSS) My Custom Repaint Figures / My Custom Terrain / My Maps & Scenarios / My Trade List Red 6 standing by! |
#42
|
||||
|
||||
Re: HexScape
Interesting article, caps ! I already intended to use a mix of UDP and TCP, depending of the importance of the packet, and this article give valuable insight on this point.
As for an android version, it'll probably be hard to make one for the small screen of smartphones. For tablet, though, it'll be perfect. Only need to add support for touch input instead of mouse, but shouldn't be too hard. |
#43
|
||||
|
||||
Re: HexScape
I bet you could come up with something. There would be inconveniences and limitations for the user, probably, but maybe not.
Formerly known as capsocrates -- Remixed Master Sets - challenge yourself with new terrain combinations! -- Colorado Fall 2023 Multiplayer Madness -- caps's Customs Redux - caps's multiplayer maps - caps's maps - Seagate -- Continuing Classic Heroscape: C3V SoV |
#44
|
||||
|
||||
Re: HexScape
Interesting read, caps. I've always have enjoyed reading game development postmortems.
I've done a decent share of hobby game programming. You'll find my name in spots on various roguelikes, I've done some "fun" game projects, and most-directly-related to the immediate discussion, I created a Netware IPX to UDP/IP bridge to coerce the original Command and Conquer to play over the Internet instead of just a local network. It worked on other games too, but CnC was the reason I made it. Nothing too exciting, but I've done enough that I feel pretty confident in expressing the following opinions: Caps' article is, as he says, a little off-topic. The network, transport and session layer lessons learned from a realtime action game coping with the network infrastructure that existed 17 years ago do not apply well to a turn-based game with today's network infrastructure. Simply put, for this sort of thing, a client/server model with HTTP done Comet-style or WebSockets is where it's at! Why? Lots of reasons:
Of course do whatever works for you, Lyrgard. It's your project after all. Feel free to ask questions if the above doesn't make sense, but that's my opinion. (And I am willing to help with server-side things, including coding, if you want a hand with the HTTP stuff.) BTW, I *love* the lego camera setup. There is nothing more dangerous than sincere ignorance and conscientious stupidity. --MLK Last edited by Xorlof; May 29th, 2014 at 10:57 AM. |
#45
|
||||
|
||||
Re: HexScape
Websockets are really cool. Got to use them for a work project not too long ago to make a webpage communicate in realtime with some C++ apps.
Formerly known as capsocrates -- Remixed Master Sets - challenge yourself with new terrain combinations! -- Colorado Fall 2023 Multiplayer Madness -- caps's Customs Redux - caps's multiplayer maps - caps's maps - Seagate -- Continuing Classic Heroscape: C3V SoV |
#46
|
||||
|
||||
Re: HexScape
After reading Xorlof posts and making some research on the internet, here is the new global architecture I'll make for HexScape :
The communications between modules will use buses, decoupling them a lot. Each module can post to the message bus, and each module can subscribe to receive some type of message. The client_core will post message for the server, that the client_network will receive, send to the server_network, that will post them in the server message bus. The server core will have subscribed for rthose message and will receive it. In fact, from the client_core and server_core, the network layer will be invisible, and all will work as if they were sharing the same message bus. This way, changing how the network layer work will be quite easy, if needed. This bus architecture will make it super easy to add new modules. For instance, I'll be able to add a game recorder module in the server just by making it listens to some game event from the server message bus. Or a security module to handle authentication, ... On the client side, the core layer is responsible of the functionnalities and the 3D. That why user inputs (Mouse and Keyboard) are forwarded to this layer to manage the 3D. All the GUI other than the 3D view are managed by the GUI layer. Apart from raw user inputs for the 3D view, all communications between the gui and the core will use the client message bus, making it once more super easy to change the GUI. The dice manager module appears on both side (server and client) because it is needed locally when playing offline, and on the server when in a multiplayer game. The local version will just be shutdown as soon as the player connect to server. As for the network protocol I'll use, I'm still reading right and left to make a decision. There definitively are good websocket java libraries out there. So for now, HexScape is undergoing heavy structural changes to migrate to this new architecture. I truly believe it will ultimately help deliver HexScape faster AND make it easier to evolve. I'll let you know how it goes. |
#47
|
||||
|
||||
Re: HexScape
Sounds good Lyrgard. As I said, do whatever works best for you. I'm just out here speaking from the peanut gallery (a phrase which probably doesn't translate well). You can always change it later if need be.
I don't know if you planned to support server-less, peer-to-peer network games. If so, a while ago I devised a method for ensuring no peer cheats on die rolls. Your mention of both local and server dice managers made me think of it again. I'll type it up if it is of use for to you, but if not doing peer-to-peer network games, then I can't see any reason for including the complication to your code. There is nothing more dangerous than sincere ignorance and conscientious stupidity. --MLK Last edited by Xorlof; June 2nd, 2014 at 03:48 PM. |
#48
|
||||
|
||||
Re: HexScape
Quote:
I researched the same subject you're speacking of, and found a solution based on : 1) Each player generate a private number, hash it, and send the hash to the others players. 2) When all hashes are received, each player send its number. The hash prevent a player to change its number after seeing the others numbers. All the numbers are appended in the same order (using player id to sort, for instance) and hashed. 3) This common hash is used to generate the same dice result on every client. Was your solution something like that ? And you're right, "speaking from the peanut gallery" doesn't translate well, and its the first time I encounter this expression. Thanks to you and google, I'll sleep more erudit that night |
|
Thread Tools | Search this Thread |
Display Modes | |
|