Author Topic: Considering making my first game on this platform, but have a few questions.  (Read 2622 times)

Arvex (OP)

  • Posts: 2
Hello,
First of all,  I want to say that I love the idea of the GCW Zero and I am upset that I just heard of it earlier today. If I had heard about it back during the Kickstarter campaign, I would have gladly backed it. Going to save up money and buy one soon.

Anyways, I have a game concept that I am in very early planning for. I would love to have the game on this system. I was originally planning to make it available for PC/Laptop, but I feel it would be best suited for a wireless-capable handheld and I don't believe I would be able to get my hands on a 3DS Dev kit any time soon. I'm not planning on spending a ton of money on the dev kit and licensing unless I know this is a game that has a decent chance on the market.

After I heard of the GCW Zero, I thought about this new direction for the game. In my head, I am imagining a game where you, the player, are sitting around at a restaurant, convention or other public place, playing this game on a handheld or laptop and you suddenly encounter another player in your game, someone who is physically nearby. From there, you choose to play competitively, cooperatively or just go your own ways.

I don't want to give out too many details because I'm still working it out, but it's an adventure game with an exploration focus, sort of like the original Legend of Zelda, but the route I go is dependent on which of these two features I want to have in the game:
-Passively integrating nearby players in wireless range into your game world to interact with. (Preferable, probably something that would need to manually be enabled in-game)
-Procedurally generated world. (Backup plan, maybe for another game that is single-player oriented)

I know these two features can't really co-exist because the players would be on different generated maps, so I'm not even going to try that headache, nor do I want to have the game be server oriented. I'm only trying to find out if either of these are possible on the Zero's hardware at the moment.

I don't know how the GCW Zero handles wireless in games as far as connecting to nearby systems. Is it possible to have the game passively reach out to other GCW Zero systems, check if they're playing said game, then share character information across the two systems? Kind of like the passerby system in the new Pokemon games. Or do you have to manually get two systems to connect to each other regardless of what the game wants?

The reason I'm unsure about procedural worlds is that I am not sure if the GCW Zero's 1Ghz CPU and 512 MB of RAM can handle a procedurally generated world or not.

CSX

  • Posts: 59
Just make it for iOS and use GPS location.

mth

  • Posts: 317
It is possible for one Zero to act as a WiFi access point and another to connect to it. That's how you can play LAN games with two Zeroes when no WiFi network is nearby. However, this requires two players to actively divide the roles: who will run the access point and who will connect to it. I don't know enough about WiFi protocols to say how you'd make it auto-configure such a connection.

Once players are on the same network, you can find other players using DNS-SD (service discovery) via Avahi. This is the same protocol that Apple's Bonjour uses.

There aren't many Zeroes out there, so if your game works only on the Zero, the chances of running into a strange who not only owns a Zero but is also playing your game at the same time are very small. Even on Android or iOS those chances would be rather small, except if your game manages to become super popular.

RodrigoCard

  • Posts: 314
    • Mac Joystick Apps
Do you want something like 3DS's street pass?

Arvex (OP)

  • Posts: 2
Similar to the Street Pass, yes. Ideally, I would want this game to be on the 3DS, but I lack the means to get a license and developers kit for the 3DS. I think my best bet would be to join a team that already has those, but I doubt that will realistically happen for an upstart like me any time soon.

The only way I see it working on a Zero/Android/iPhone is if I could code the system to go into an access-point-like mode where it searches for other games and then forms a network with other games it finds. This might work for two games, but I see it getting absurdly complex, if not impossible, for more than two.

I could have one of the games decide it's the "lead" one when two games first meet which then becomes the access point all other games connect to. Then, I have to make sure the game uses little resources or the access point game client will end up being weighed down by everyone else in range. I don't know the limitations of Wi-Fi all that well, my knowledge of networking technologies is mostly in wired connections.

But, yeah, you hit the nail right on the head on the other issue. This whole feature would be pointless if only a handful of people have the game in the first place. This whole premise is what might make me shelf this idea for a long time.

I'll look further into Avahi, though, might be just what I need. If Avahi could be set up to run on the Zero/Android/iOS and allow all three to interconnect, that might just make the game accessible enough.

mth

  • Posts: 317
Similar to the Street Pass, yes. Ideally, I would want this game to be on the 3DS, but I lack the means to get a license and developers kit for the 3DS. I think my best bet would be to join a team that already has those, but I doubt that will realistically happen for an upstart like me any time soon.

If you can demo the concept using for example a Zero and a phone, you might be able to get some smaller studio interested. However, just an idea won't do it; there is no shortage of ideas. You'd have to demonstrate that it's technically feasible and that it would add something to the game play.

I could have one of the games decide it's the "lead" one when two games first meet which then becomes the access point all other games connect to. Then, I have to make sure the game uses little resources or the access point game client will end up being weighed down by everyone else in range. I don't know the limitations of Wi-Fi all that well, my knowledge of networking technologies is mostly in wired connections.

One problem you'd run into is that if A meets B and it is decided that A gets the lead role, when C comes along who is in range of B but not of A, there is no way to send directly from C to the leader. So you'd have to create some kind of mesh network, the complexity of which likely outweighs the gains you got from appointing a leader.

Another issue is that if the leader's connection drops, all other players will be without a working coordination until the drop is detected and a new leader is appointed.

A further issue is that if you route traffic across other nodes, one of those nodes disappearing will split the network, causing a lot of players to drop at once. IRC regulars are familiar with these net splits.

One way to avoid these kinds of problems is to do only point-to-point connections with people who are in direct range. This means you only have local consensus (between two nodes) about game state instead of global, but you could design your game around that.

Another approach is to do like CSX suggested and do networking over the internet and artificially appoint neighbours using locality information from GPS and other sources. This has the additional advantage that there is always someone nearby, for sufficiently large values of "nearby".

I'll look further into Avahi, though, might be just what I need. If Avahi could be set up to run on the Zero/Android/iOS and allow all three to interconnect, that might just make the game accessible enough.

I don't know about Android, but I've used NSNetService in iOS which should be interoperable with Avahi.