|
Post by Adam Schmelzle on Apr 3, 2007 13:51:09 GMT -5
Hello everyone!
I am officially going to start on this game tomorrow(I think). There are a few points I'd like to raise, and have some opinions on:
1) Offline play? Should the game have offline play? I only ask this, because I fear that if there is offline play, people won't go "online" as much, and others may not be able to find opponents. On the other hand, if the game isn't popular anyway, nobody will play it without offline play.
I think the best option may be to have the game constantly in a "ready" state for whatever game you are playing (box game, connect 4, sos etc..) and pop up a message on-screen if somebody else is online and ready to play. So if you set "always ready for a challenge!" in the settings, it'll ask you if you would like to accept the challenge whenever there is another player ready to play.
2) Online ranking determining match-ups? So maybe something like the way "Halo" does it on the Xbox? So if you have a really good record, it'll try to match you with somebody else with a similar record when you play online? I think this is a good idea, but again, will only make a difference if there are enough people playing. I don't want to have a zillion options to wade through when starting a game, so any kind of player matching will be automatic anyways.
3) How should disconnects affect your record (wins/losses/rank)? Should there be some weird "player rating" determined by a formula like ...
rating = [ (totalGamesPlayed) - (losses) ] / (disconnects)
or maybe... rating = [ (wins) - (losses) ] / (disconnects) (this will be negative for half the players)
or... rating = [ (wins) - (losses + disconnects) ]
or... rating = [ (totalGamesPlayed) - (losses + disconnects) ] (only negative if you suck and have disconnects)
I just made those up on the spot as examples, I'm looking for ideas here. Maybe disconnects should simply count as a loss?
4) Chat lobby? This one is a VERY distant option. I do NOT plan on this, but if people want it I won't be able to ignore it. This would only be a VERY simple chat interface, like typing into a box and everyone can see it. Like IRC with NO options or fancy commands. Actually as I type this I am thinking that I WILL do it. To make life easy, I'll use the built in input-box's that most people use, but you probably won't be able to see what others are saying when you chose to type. I suppose I could grow my own fancy typing box...
5) Any ideas? Since this game is in it's brief 1 day planning stage, I am TOTALLY open to suggestions. I haven't done anything yet, so now's the time to speak up!
|
|
maach
Somebody who actually posted!
Posts: 3
|
Post by maach on Apr 4, 2007 9:58:14 GMT -5
Hmm... I dunno if the chat lobby would be all that popular for people with mobile devices that do not have a qwerty keyboard. As for the online ranking, if a confirmed disconnect was simply recorded as a loss, it should be all good. My vote goes for
rating = [ (wins) - (losses + disconnects) ]
|
|
|
Post by Adam Schmelzle on Apr 4, 2007 12:46:34 GMT -5
Well at least somebody replied. Thanks D'man.
|
|
|
Post by Adam Schmelzle on Apr 9, 2007 17:57:37 GMT -5
I've have a day to work on it now, and have a fully functional box game. Now I'm working on a 2-D scrolling engine that I can use to speed up the drawing of the boards. I'll be able to re-use this on every game I make from now on, and it's quite a challenge, so I may be stuck at this point for a few days.
I'm working on this so that I can make my 2D games run faster with less memory. It'll probably run slightly slower than "Attack Breaker Pro"'s custom engine, but that's only because it's made specifically to only scroll up and down, as well as it using more memory for the graphics than this new engine will.
When I'm done with this, I'll be able to have just about any scrolling background run nearly as fast as ABP, on any phone since it will use even less memory. It'd make the map screen in AC2 run about 50x faster(literally), and should at least tripple my framerate in this game.
Things get a bit slow when you have to draw 200+ dots, 200+ lines and 200+ squares on the screen at once.
|
|
|
Post by gnasher1001 on Apr 11, 2007 11:28:07 GMT -5
Most of the online (sports) games I play have a percent wins as a rating, so I suppose that means that disconnects are classed as a loss. Offline play - Yes!! Your idea of always ready for a challenge is a good idea. Offline play means that you can play at all times, as many places I frequent are often in crappy signal areas, so I'd have LOADS of disconnects ;D Chat lobbies are always annoying on mobiles, it's hard enough to use IM progs chatting to one person on them, let alone 3-4+ people!! Good luck with it all, I'm sure it'll be great
|
|
|
Post by Adam Schmelzle on Apr 11, 2007 14:44:01 GMT -5
I'm glad people arn't liking chat. It would be a PITA to do. Offline will likely consist of easy/medium/hard difficulty.
If I am going to have ranking based matchups, it'll have to be a separate option where you choose : "try to play with others of similar skill", and you'll have to wait for like 30 seconds or something for somebody else with "similar skill" to join, or you just continue to play against the AI while you wait. After 30 seconds(or waiting as long as you want) if it hasn't found an opponent, you can chose to just take the first matchup available.
The waiting time will vary depending on the number of players. At the start, if there arn't many regular players, you'll have to wait quite a while, so I think playing offline while you wait will help a lot.
Honestly, I've NEVER played an online mobile game. Do you have to wait long while waiting for opponents in other games? If so, do you have anything to do while waiting?
Please post any suggestions / improvements that can be made over the online / matchup systems of other games. I am only going by my own ideas at the moment, and they may not work out on a phone, though I don't see myself having any trouble.
|
|
|
Post by gnasher1001 on Apr 12, 2007 5:26:52 GMT -5
Maybe in early versions, you can stick a link in when people opt to play online, to come here and state times when they will be on or request opponents? Basic, but it'll mean people knowing when they can get an opponent till it picks up Then you can keep it in or update the game to remove it when there are loads of players. Don't know if all you're suggesting has been done on mobiles before to my knowledge, so good luck!
|
|
|
Post by damo666 on Apr 12, 2007 16:24:57 GMT -5
Have you looked at "WKN Kickboxing" from Nephin Games it would probably be a good game to play and get some ideas from. The game has a massive online and ranking system that allows users to send messages and fight each others stats (as opposed to real time online fighting) Im sure you will get some good ideas from it here's the download link: www.mocondi.com/product/productDetails.jsp?productId=19671best of luck
|
|
|
Post by Adam Schmelzle on Apr 12, 2007 19:38:20 GMT -5
I'd love to try that out, but it looks like I can't register outside of Norway, Sweden, Denmark or Finland I didn't have a chance to do any coding today, I've just been super crazy busy with other stuff. I've got one more day of work left on my new 2-D scrolling engine..... About my scrolling engine. To my knowledge, I don't know if anybody anywhere has a working efficient algorithm for scrolling backgrounds unrestricted in 2D using a SINGLE buffer. I'm not talking about just horizantal or just vertical, as those are trivial, I mean arbitrarily scrolling left/right/up/down and on angles, with no overdraw using a single back buffer. To the non-technical folks it may seem unimpressive, but I searched pretty hard for any kind of well-known standard way of doing this. You may notice that mobile games with small tiles draw VERY slowly on all but the quickest phones. Now, pure horizantal or pure vertical scrolling levels will of course be fast because of the afformentioned trivial scrolling algorithms that everyone uses. What I mean is that most people will experience very low framerates on just about all 'platformers' out there at the moment. When I say low, I mean at most 10fps like in AC1/AC2, unless you have a good phone. What my new algorithm will do for my games, is make them run as smoothly as 'Attack Breaker Pro' without the restriction of being purley vertical or purely horizantal. This of course is easily accomplished if you use several image buffers to cache data, but on the lower end phones, doing that eats a lot of runtime memory. Mine uses a single image buffer, allowing smooth scrolling on any phone, even the really crappy ones. This would also likely speedup AC1/2, so I'll utilize it if/when I make AC3. It also means if I make a sequel to ABP, I can make it with total freedom of movement, without hurting performance. That way, the levels could be wider than the screen as well as taller. Even if you are a developer, as a project, try to implement smooth scrolling using a single buffer with no overdraw, and without re-drawing all your individual tiles to the screen, and you see how hard it ends up being.
|
|
|
Post by damo666 on Apr 13, 2007 8:40:55 GMT -5
are you double buffering the images?
|
|
|
Post by Adam Schmelzle on Apr 13, 2007 8:57:58 GMT -5
Yeah, I double buffer. I do NOT use the hardware double buffering on phones though. It's buggy and doesn't work on all phones, even the ones that report supporting it. I software double buffer all my games. Ever play a mobile game that mysteriously had flashing graphics? That's the buggy hardware double-buffering being used.
|
|
|
Post by damo666 on Apr 13, 2007 9:02:41 GMT -5
ye strange the way device manufactureers get away with shoddy J2ME implementations, I think some large carriers are standardizing their JVM's now which will be a leap into the future, where porting becomes a doddle.
as for your 2d scroller are you displaying images and drawing? when do you load your images? on startup or during the game(startup being optimal ofcourse)
|
|
|
Post by Adam Schmelzle on Apr 13, 2007 9:06:15 GMT -5
In all my games so far, I do all my image loading/generating at startup. Except for the system's IO classes that get used when saving/loading/retrieving scores, I don't allocate any memory for the rest of the entire game after it hits the menu screen. Although I find that the emulators tell me the System's graphics routine creates an iterator for the screen buffers once per frame which I can't stop
|
|