Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   PlayerWorlds Main Forum (https://forums.graalonline.com/forums/forumdisplay.php?f=15)
-   -   iOS format (https://forums.graalonline.com/forums/showthread.php?t=134266750)

greggiles 06-29-2012 08:03 PM

iOS format
 
Will someone please explain the steps on to making an Iphone server.
I have been reading up and it seems like IOS platform is where the playerbase is.

Is there a certain way I should script?
How should I set up controls?
Who do I contact for exporting to app store?

I have been working on Runa Online but I feel like I won't get the player base I am hoping for.

Emera 06-29-2012 08:36 PM

I don't think there's any official steps. You'll have to get Stefan and co interested for starters.

Chompy 06-29-2012 09:45 PM

The thing about iphone servers is that GraalOnline has to follow Apple's rules when releasing stuff on the servers as it's an app in Apple's AppStore. This results in the globals and Stefan himself having to be in change of the server to maintain control of what is being released to players and not. This requires a lot of trust seeing as Apple's rules has to be followed or the app goes down.

greggiles 06-29-2012 09:51 PM

Quote:

The thing about iphone servers is that GraalOnline has to follow Apple's rules when releasing stuff on the servers as it's an app in Apple's AppStore. This results in the globals and Stefan himself having to be in change of the server to maintain control of what is being released to players and not. This requires a lot of trust seeing as Apple's rules has to be followed or the app goes down.
I know what your saying, but as far as development goes, is there a certain way things should be scripted?

Crow 06-29-2012 09:59 PM

Quote:

Originally Posted by greggiles (Post 1698627)
I know what your saying, but as far as development goes, is there a certain way things should be scripted?

Try to not use any/too many timeouts. Event based stuff should work way better on iDevices.

cbk1994 06-29-2012 10:06 PM

Quote:

Originally Posted by greggiles (Post 1698627)
I know what your saying, but as far as development goes, is there a certain way things should be scripted?

There are some general common-sense guidelines for lots of players, and some specific things to keep in mind on mobile devices as well:
  • Use as few timeouts as possible. Try using scheduleevent when you need to schedule something, but avoid 0.05 second scheduled events, too.
  • Use the default movement system.
  • Avoid as much scripting as possible in level NPCs.
  • Avoid as much scripting as possible in general.
  • Set player.ani directly instead of using setAni. This only works on v6/iPhone.
  • Design everything to be run by touch.
  • Keep in mind that there are multiple mice (contact points with fingers) and use the mouse ID included in touch events.
  • Use clientstats aggressively to profile your scripts.
  • Use as few timeouts as possible.
  • Use the new transitions in v6 when possible.
  • Use as few client/clientr variables as possible. If it's only needed serverside, store it in a player. variable.
  • Avoid quirky things like joining classes to the player clientside.
  • Do as many things serverside as possible.
  • Avoid triggers where possible for things that can be done serverside entirely (e.g. healing player while in a bed).
  • Avoid abusing SQLite. With so many players, you need to be careful not to use too many queries.
  • Avoid writing to files. Use player attributes to store stuff when possible.
  • Use as few timeouts as possible.

BlueMelon 06-30-2012 02:34 AM

I would also use as few timeouts as possible.

Emera 06-30-2012 02:53 AM

Quote:

Originally Posted by cbk1994 (Post 1698634)
There are some general common-sense guidelines for lots of players, and some specific things to keep in mind on mobile devices as well:
  • Use as few timeouts as possible. Try using scheduleevent when you need to schedule something, but avoid 0.05 second scheduled events, too.
  • Use the default movement system.
  • Avoid as much scripting as possible in level NPCs.
  • Avoid as much scripting as possible in general.
  • Set player.ani directly instead of using setAni. This only works on v6/iPhone.
  • Design everything to be run by touch.
  • Keep in mind that there are multiple mice (contact points with fingers) and use the mouse ID included in touch events.
  • Use clientstats aggressively to profile your scripts.
  • Use as few timeouts as possible.
  • Use the new transitions in v6 when possible.
  • Use as few client/clientr variables as possible. If it's only needed serverside, store it in a player. variable.
  • Avoid quirky things like joining classes to the player clientside.
  • Do as many things serverside as possible.
  • Avoid triggers where possible for things that can be done serverside entirely (e.g. healing player while in a bed).
  • Avoid abusing SQLite. With so many players, you need to be careful not to use too many queries.
  • Avoid writing to files. Use player attributes to store stuff when possible.
  • Use as few timeouts as possible.

Era iPhone and Delteria iPhone both use custom movement systems, and it doesn't have any performance impacts at all. It just makes movement smoother. Also, it's really easy for players to manipulate both the serverside and the clientside on iDevices, so the iPhone systems have a special way of communicating with the serverside that doesn't allow using triggers in classes and such. You'll really need to get hold of the iPhone systems first before you do anything.

cbk1994 06-30-2012 03:15 AM

Quote:

Originally Posted by Emera (Post 1698660)
Era iPhone and Delteria iPhone both use custom movement systems, and it doesn't have any performance impacts at all. It just makes movement smoother.

I just checked and you're right about Era iPhone. I based my recommendation on what Stefan told me a while back.

Not sure what you mean by "makes movement smoother". You can certainly make movement faster or slower but smoother would require running at a higher framerate than the default movement system, which isn't possible (and wouldn't matter, since the game still renders at 20 FPS).

Quote:

Also, it's really easy for players to manipulate both the serverside and the clientside on iDevices, so the iPhone systems have a special way of communicating with the serverside that doesn't allow using triggers in classes and such. You'll really need to get hold of the iPhone systems first before you do anything.
I'm not sure what you're saying here. If players could easily manipulate "the serverside", it would be a very good day for hackers.

A lot of things are handled via requestText and similar functions, but by no means have triggers been disabled. I just tested the systems on Kingdoms iPhone again on my iPhone, and our triggers are working fine.

Keep in mind that you cannot actually trigger classes, even on PC Graal. Perhaps this is the source of your confusion?

Emera 06-30-2012 03:20 AM

Quote:

Originally Posted by cbk1994 (Post 1698661)
I just checked and you're right about Era iPhone. I based my recommendation on what Stefan told me a while back.

Not sure what you mean by "makes movement smoother". You can certainly make movement faster or slower but smoother would require running at a higher framerate than the default movement system, which isn't possible (and wouldn't matter, since the game still renders at 20 FPS).



I'm not sure what you're saying here. If players could easily manipulate "the serverside", it would be a very good day for hackers.

A lot of things are handled via requestText and similar functions, but by no means have triggers been disabled. I just tested the systems on Kingdoms iPhone again on my iPhone, and our triggers are working fine.

Keep in mind that you cannot actually trigger classes, even on PC Graal. Perhaps this is the source of your confusion?

The reason we use a custom movement system is because it can offer a lot more features that the default system can't, and we can tweak it as we please to give smoother movement results, like speed setting, combination with the item and weapon systems, etc.

I don't really know as much as I'd like to about how iDevices can easily manipulate the serverside, but because of it, iPhone servers use a special way of contacting the serverside so players are unable to manipulate the serverside, or make it very hard for them to do so.

cbk1994 06-30-2012 03:33 AM

Quote:

Originally Posted by Emera (Post 1698662)
I don't really know as much as I'd like to about how iDevices can easily manipulate the serverside, but because of it, iPhone servers use a special way of contacting the serverside so players are unable to manipulate the serverside, or make it very hard for them to do so.

Uh, still not sure what you're saying. In the same paragraph you just said that iPhone clients both are and are not able to easily manipulate "the serverside".

You don't need anything special on your server to get started creating for the iPhone. Standard triggers work fine. The stuff you've heard about is likely just the requestText communication used for profiles and other special communications.

Crow 06-30-2012 07:05 AM

Quote:

Originally Posted by Emera (Post 1698662)
The reason we use a custom movement system is because it can offer a lot more features that the default system can't, and we can tweak it as we please to give smoother movement results, like speed setting, combination with the item and weapon systems, etc.

Speed can be set for the default movement system as well. Integrating it into other systems is not difficult either.

Chompy 07-01-2012 12:12 AM

Classic iPhone uses both the default and a custom movement system. Switches when needed.

Emera 07-01-2012 12:14 AM

Quote:

Originally Posted by Chompy (Post 1698723)
Classic iPhone uses both the default and a custom movement system. Switches when needed.

OO Never knew that.

MattKan 07-01-2012 02:13 AM

Quote:

Originally Posted by Emera (Post 1698620)
I don't think there's any official steps. You'll have to get Stefan and co interested for starters.

Which is most easily done by befriending Snk.


All times are GMT +2. The time now is 01:49 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.