Discuss games on Apple platforms.

Posts under Games tag

71 Posts
Sort by:
Post not yet marked as solved
0 Replies
52 Views
Hi everyone, Last month, my endless runner game set in a crypto world was rejected for using the Bitcoin logo, labeled as a "Copycats" issue. We were asked to remove the logo and Bitcoin prices, even though the Bitcoin logo is public domain. I noticed other Bitcoin games on the AppStore were updated recently without any problems. I couldn't find any rules against using Bitcoin in the guidelines. When I appealed, they just told me to remove it again but didn't explain why. We've updated our game several times before, and only this small bug fix was rejected. Any advice on what are the next step? Anyone experienced this? Cheers
Posted
by audasy.
Last updated
.
Post not yet marked as solved
0 Replies
681 Views
I need clarification on the GKLocalPlayer.local.isMultiplayerGamingRestricted behavior which check's user's device capability (whether it is set up to allow or disallow multiplayer) I am referring to this from Apple documentation at : https://developer.apple.com/documentation/gamekit/authenticating_a_player if GKLocalPlayer.local.isMultiplayerGamingRestricted { // Disable multiplayer game features. } The issue is that this is a boolean (true/false value ) However I have noticed that iOS ( latest version and preceding versions) allow people to have the following options: ( you can set these under screen time -> content restrictions -> Multiplayer games ) Disallow all multiplayer games - presumably your API returns a false for this. Allow multiplayer with friends only -???? what does GKLocalPlayer.local.isMultiplayerGamingRestricted return here?? if True, how is the Friends only restriction handled? Are we supposed to do something to force it? Note: So far I am relying on Apple's Game Center native experience and have not added wrappers to do additional filtering etc. I hope that I shall be able to keep doing so. Allow all multiplayer games - presumably your API returns a false for this. You can see how there are three choices but this is modeled as a boolean. Choice number 2. is not addressed. Has anyone come across this? Note: This is very different from checking for underage users. No matter what I do, in my post above, it won't set the correct numbers for numbered bullet -points. I call them 1, 2, 3 it posts 1,1,2 or 1.,2,1 etc. ( side nit ) Apologies if this isn't as readable as it should be.
Posted Last updated
.
Post not yet marked as solved
0 Replies
82 Views
I am developing a mobile gaming app where players can either collect the app's virtual currency through winning tournaments or by purchasing virtual currency, which will be used to purchase real prizes and gift cards/vouchers. The application will be cross-platform where players can access their account on other platforms outside of the mobile app. My question is whether the purchase of the virtual currency would be treated as an IAP or not since there is a physical value of the virtual currency outside of the app because it can be used to purchase gift cards and other real prizes? Any guidance would be greatly appreciated it. Thanks!
Posted Last updated
.
Post marked as solved
5 Replies
232 Views
Detecting touching a SKSpriteNode within a touchesBegan event? My experience to date has focused on using GamepadControllers with Apps, not a touch-activated iOS App. Here are some short code snippets: Note: the error I am trying to correct is noted in the very first snippet = touchesBegan within the comment <== shows "horse" Yes, there is a "horse", but it is no where near the "creditsInfo" SKSpriteNode within my .sksfile. Please note that this "creditsInfo" SKSpriteNode is programmatically generated by my addCreditsButton(..) and will be placed very near the top-left of my GameScene. override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { if let ourScene = GameScene(fileNamed: "GameScene") { if let touch:UITouch = touches.first { let location = touch.location(in: view) let node:SKNode = ourScene.atPoint(location) print("node.name = \(node.name!)") // <== shows "horse" if (node.name == "creditsInfo") { showCredits() } } } // if let ourScene } // touchesBegan The above touchesBegan function is an extension GameViewController which according to the docs is okay, namely, touchesBegan is a UIView method besides being a UIViewController method. Within my primary showScene() function, I have: if let ourScene = GameScene(fileNamed: "GameScene") { #if os(iOS) addCreditsButton(toScene: ourScene) #endif } with: func addCreditsButton(toScene: SKScene) { if thisSceneName == "GameScene" { itsCreditsNode.name = "creditsInfo" itsCreditsNode.anchorPoint = CGPoint(x: 0.5, y: 0.5) itsCreditsNode.size = CGSize(width: 2*creditsCircleRadius, height: 2*creditsCircleRadius) itsCreditsNode.zPosition = 3 creditsCirclePosY = roomHeight/2 - creditsCircleRadius - creditsCircleOffsetY creditsCirclePosX = -roomWidth/2 + creditsCircleRadius + creditsCircleOffsetX itsCreditsNode.position = CGPoint(x: creditsCirclePosX, y: creditsCirclePosY) toScene.addChild(itsCreditsNode) } // if thisSceneName } // addCreditsButton To finish, I repeat what I stated at the very top: The error I am trying to correct is noted in the very first snippet = touchesBegan within the comment <== shows "horse"
Posted
by JohnLove.
Last updated
.
Post not yet marked as solved
0 Replies
177 Views
Hello, I've a team for developing game in my small company. And we've developed an Obstacle game in Unity from scratch. every single UI, logic & even sound is implemented by our own developers and musicians. It means, every single element is proprietory of our own. I suggest you folks to try out the game in Android playstore by searching the game name as "Cherry Blossom Hills Obstacle" . But once I submitted the same game in iOS App store, the reviewers continously saying, it's a 4.3.0 Design Spam without any to the point feedback basically :( Could you anyone help me resolving this issue? A definitive but even single help/suggestion would be highly appreciated. Regards, Md. Rezoanul Alam.
Posted Last updated
.
Post not yet marked as solved
0 Replies
168 Views
We noticing below crash mainly happening in iOS 17. Can someone check and confirm what is the root cause for this and how to fix the crash. GKAppLevelSignInVisibility fetchAppLevelVisibilityConstraintsWithHandler Thread 36 Crashed: 0 CoreFoundation 0x00000001904a9d6c -[__NSDictionaryM setObject:forKeyedSubscript:] + 452 (NSDictionaryM.m:202) 1 GameCenterUICore 0x000000020fe6d508 __76+[GKAppLevelSignInVisibility fetchAppLevelVisibilityConstraintsWithHandler:]_block_invoke_3 + 84 (GKAppLevelSignInVisibility.m:82) 2 GameCenterFoundation 0x00000001c8b8971c @objc closure #1 in LimitedPresentationManager.presentationDisabled(config:context:) + 268 3 GameCenterFoundation 0x00000001c8b8b111 partial apply for @objc closure #1 in LimitedPresentationManager.presentationDisabled(config:context:) + 1 4 GameCenterFoundation 0x00000001c8b8b101 thunk for @escaping @callee_guaranteed @Sendable @async () -> () + 1 5 GameCenterFoundation 0x00000001c8b8b105 partial apply for thunk for @escaping @callee_guaranteed @Sendable @async () -> () + 1 6 GameCenterFoundation 0x00000001c8b8aa0d specialized thunk for @escaping @callee_guaranteed @Sendable @async () -> (@out A) + 1 (:0) 7 GameCenterFoundation 0x00000001c8b8ab6d partial apply for specialized thunk for @escaping @callee_guaranteed @Sendable @async () -> (@out A) + 1 (:0) 8 libswift_Concurrency.dylib 0x000000019b78da41 completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1 (Task.cpp:463) Full iOS crash log
Posted
by EshwarZy.
Last updated
.
Post not yet marked as solved
6 Replies
377 Views
How to integrate UIDevice rotation and creating a new UIBezierPath after rotation? My challenge here is to successfully integrate UIDevice rotation and creating a new UIBezierPath every time the UIDevice is rotated. (Please accept my apologies for this Post’s length .. but I can’t seem to avoid it) As a preamble, I have bounced back and forth between NotificationCenter.default.addObserver(self, selector: #selector(rotated), name: UIDevice.orientationDidChangeNotification, object: nil) called within my viewDidLoad() together with @objc func rotated() { } and override func viewWillLayoutSubviews() { // please see code below } My success was much better when I implemented viewWillLayoutSubviews(), versus rotated() .. so let me provide detailed code just for viewWillLayoutSubviews(). I have concluded that every time I rotate the UIDevice, a new UIBezierPath needs to be generated because positions and sizes of my various SKSprieNodes change. I am definitely not saying that I have to create a new UIBezierPath with every rotation .. just saying I think I have to. Start of Code // declared at the top of my `GameViewController`: var myTrain: SKSpriteNode! var savedTrainPosition: CGPoint? var trackOffset = 60.0 var trackRect: CGRect! var trainPath: UIBezierPath! My UIBezierPath creation and SKAction.follow code is as follows: // called with my setTrackPaths() – see way below func createTrainPath() { // savedTrainPosition initially set within setTrackPaths() // and later reset when stopping + resuming moving myTrain // via stopFollowTrainPath() trackRect = CGRect(x: savedTrainPosition!.x, y: savedTrainPosition!.y, width: tracksWidth, height: tracksHeight) trainPath = UIBezierPath(ovalIn: trackRect) trainPath = trainPath.reversing() // makes myTrain move CW } // createTrainPath func startFollowTrainPath() { let theSpeed = Double(5*thisSpeed) var trainAction = SKAction.follow( trainPath.cgPath, asOffset: false, orientToPath: true, speed: theSpeed) trainAction = SKAction.repeatForever(trainAction) createPivotNodeFor(myTrain) myTrain.run(trainAction, withKey: runTrainKey) } // startFollowTrainPath func stopFollowTrainPath() { guard myTrain == nil else { myTrain.removeAction(forKey: runTrainKey) savedTrainPosition = myTrain.position return } } // stopFollowTrainPath Here is the detailed viewWillLayoutSubviews I promised earlier: override func viewWillLayoutSubviews() { super.viewWillLayoutSubviews() if (thisSceneName == "GameScene") { // code to pause moving game pieces setGamePieceParms() // for GamePieces, e.g., trainWidth setTrackPaths() // for trainPath reSizeAndPositionNodes() // code to resume moving game pieces } // if (thisSceneName == "GameScene") } // viewWillLayoutSubviews func setGamePieceParms() { if (thisSceneName == "GameScene") { roomScale = 1.0 let roomRect = UIScreen.main.bounds roomWidth = roomRect.width roomHeight = roomRect.height roomPosX = 0.0 roomPosY = 0.0 tracksScale = 1.0 tracksWidth = roomWidth - 4*trackOffset // inset from screen edge #if os(iOS) if UIDevice.current.orientation.isLandscape { tracksHeight = 0.30*roomHeight } else { tracksHeight = 0.38*roomHeight } #endif // center horizontally tracksPosX = roomPosX // flush with bottom of UIScreen let temp = roomPosY - roomHeight/2 tracksPosY = temp + trackOffset + tracksHeight/2 trainScale = 2.8 trainWidth = 96.0*trainScale // original size = 96 x 110 trainHeight = 110.0*trainScale trainPosX = roomPosX #if os(iOS) if UIDevice.current.orientation.isLandscape { trainPosY = temp + trackOffset + tracksHeight + 0.30*trainHeight } else { trainPosY = temp + trackOffset + tracksHeight + 0.20*trainHeight } #endif } // setGamePieceParms // a work in progress func setTrackPaths() { if (thisSceneName == "GameScene") { if (savedTrainPosition == nil) { savedTrainPosition = CGPoint(x: tracksPosX - tracksWidth/2, y: tracksPosY) } else { savedTrainPosition = CGPoint(x: tracksPosX - tracksWidth/2, y: tracksPosY) } createTrainPath() } // if (thisSceneName == "GameScene") } // setTrackPaths func reSizeAndPositionNodes() { myTracks.size = CGSize(width: tracksWidth, height: tracksHeight) myTracks.position = CGPoint(x: tracksPosX, y: tracksPosY) // more Nodes here .. } End of Code My theory says when I call setTrackPaths() with every UIDevice rotation, createTrainPath() is called. Nothing happens of significance visually as far as the UIBezierPath is concerned .. until I call startFollowTrainPath(). Bottom Line It is then that I see for sure that a new UIBezierPath has not been created as it should have been when I called createTrainPath() when I rotated the UIDevice. The new UIBezierPath is not new, but the old one. If you’ve made it this far through my long code, the question is what do I need to do to make a new UIBezierPath that fits the resized and repositioned SKSpriteNode?
Posted
by JohnLove.
Last updated
.
Post not yet marked as solved
1 Replies
336 Views
help me understand the crash report this started happening from last update only Translated Report (Full Report Below) Process: dota2 [7353] Path: /Users/USER/Library/Application Support/Steam/*/dota2.app/Contents/MacOS/dota2 Identifier: com.valvesoftware.dota2 Version: 1.0.0 Code Type: X86-64 (Translated) Parent Process: launchd [1] User ID: 501 Date/Time: 2024-02-18 18:00:45.9766 -0500 OS Version: macOS 14.3.1 (23D60) Report Version: 12 Anonymous UUID: 0F5E4D0D-9839-DF78-5C28-93F6D26A5763 Sleep/Wake UUID: 52D18CB1-ADD8-4A75-B6A1-C0CF4CF2A306 Time Awake Since Boot: 85000 seconds Time Since Wake: 1722 seconds System Integrity Protection: enabled Notes: PC register does not match crashing frame (0x0 vs 0x1032D1C08) Crashed Thread: 0 MainThrd Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000441f0f660002 Exception Codes: 0x0000000000000001, 0x0000441f0f660002 Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [7353] VM Region Info: 0x441f0f660002 is not in any region. Bytes after previous region: 48357375344643 Bytes before following region: 65536781844478 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL Memory Tag 255 1823fb340000-1823fb380000 [ 256K] rw-/rwx SM=PRV ---> GAP OF 0x67960cc80000 BYTES MALLOC_MEDIUM 7fba08000000-7fba10000000 [128.0M] rw-/rwx SM=PRV Error Formulating Crash Report: PC register does not match crashing frame (0x0 vs 0x1032D1C08) Kernel Triage: VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
Posted Last updated
.
Post not yet marked as solved
1 Replies
382 Views
I developed games on the Apple App store for about half a decade or 5 years with 0 recognition from Apple. We developed a lot of games over the wasted years. Our company was forced to quit because we don't have any more money to invest on the App Store. We couldn't get even 1 of our games featured by the headquarters of Apple. We localized 22 languages for most of our games, used their latest features, latest technologies, unique, Gamepad enabled etc..... We pretty much did everything you need to do to get featured in accordance with their criteria listed and of course after we filled out the feature form so over and over and over and over even after updating the version with no reply from Apple for featuring any of them. It was a waste of time and investment for us. If I knew how impossible it was to get featured by Apple, I would have never pursued this as a full-time career. We lost more money than gained anything. We probably made approximately only $12-$14 dollars in 5 years (PEANUT SHELLS, not even the peanuts). We basically went broke, and we owed more money than we made. We were getting very close to getting reprocessed. I could have worked at McDonalds and flipped burgers for 5 years then waste more money on the App Store as a developer. Apple doesn't seem to care about their developers in my opinion. They only care about the big publishing companies. I believe that they sometimes feature simple games in order to target new developers. So basically, this might be their marketing strategy to target new developers so they can make more money $$$$. They make billions of dollars on developers who pay those $100 yearly developers' fee. I believe they may only help developers they know or met, so I suspect they are playing favoritism with their developers. I've seen new developers with no experience get promoted immediately by the App store promotion team. Some even got promoted with no ratings, no reviews, on their launch period etc... That was very suspicious for me to see as if they are taking bribes under the table. Some games are very dull and boring, 2 color, poor design and controls. It felt as if 3rd grader developed them, and they get featured right away by Apple, and of course our hard work with a bigger game app, better controls etc. goes down the drain. When we decided to quit the App Store because it was pointless to fill out the feature form at this point after 5 years of nothing. So, we left our account untouched meaning we weren't going to give them the $100 renewal fee, they all of a sudden started to send out emails that our account is expiring, so we ignored them like they ignored us for the past 5 years (treat people the way they treat you). They gave us an extra month so that we will think about out. We ignored them again, why should we give a Trillion-dollar company $100 to get rich off of us and they give us no recognition!! They made the decision not to help keep us as developers, so why should we renew our license with them. I won't even give them $1 dollar if they Offred us to renew our license. They basically seem to only care about developers when they want money from them. So, they ended up losing not only a developer, but they also lost a customer as well (loyal developer and customer). That's shameful on Apple's part and they seem to be shameless because they don't seem care anyway. We can't afford to buy their products we invested it all on the App Store for half a decade. I will never develop for Apple ever again!! I learned my lesson not to fall into their traps they use to lure you into being a developer. The odds of them helping you as a developer is nil. You can even read articles online about odds of getting featured by Apple (my opinion 0% chance or even -% chance: meaning never). Some of the games they feature on the App Store, I personally delete them after playing them for a few seconds. BORING just like Apple is. I suspect in my opinion that they only feature developers they know like I mentioned earlier in this blog. Who knows they could be bribes under the table even though Apple would deny it. I lost all my integrity with Apple and being a developer on the App Store. Other developers should be aware and careful. They should be cautioned if they are thinking of being a developer on the App Store. They are likely more than not to fail as developers. Apple wants you to believe you will be the next hit game developer, so they can target new developers and cash in on them when they pay the yearly fee. In my opinion I believe being app game developer seems to be more like a sweepstakes scam. They seem to choose whoever they want whenever they want. There is no way you can earn a spot to get featured or promoted by the App Store. Getting your game featured by Apple is basically "An Impossible Dream."
Posted
by Ddps.
Last updated
.
Post not yet marked as solved
0 Replies
280 Views
Hi Apple and Swift friends. I'm not really a fluent Swift programmer (or any language) just knowledgable, I just a vague logic of what's going on. This is a gamepad controller remapper similar to DS4Windows on the PC and DSX on Steam gaming. On macOS Sonoma, it successfully compiled and connected the amazing Sony Playstation DualSense but because it has 33 yellow warning, the Setting doesn't show. It says something about outdated something and needs to be replaced by a newer framework.network. It also says it can't use self: It should look like these: What could be the syntax changes that won't produce the 30+ yellow warnings? The file can be had here: [https://github.com/marcowindt/ds4macos) God bless.
Posted
by alvin777.
Last updated
.
Post not yet marked as solved
0 Replies
199 Views
Hi, I'm building a simple game for iOS. I have background music. The ring/silent switch is not disabling sound when switched to silent. So far I'm testing on devices through TestFlight (still internal testing, not beta). Do I need to code this function myself or does iOS know it's a game and disable sound automatically? and/or would my game be rejected if the switch doesn't disable sound? (I have an internal setting to enable/disable sounds in the game) Due to the way it's coded (capacitor app), I can't access the ring/silent switch to disable/enable sound. Thanks, this problem makes me feel like a preserved moose.
Posted
by OnionHair.
Last updated
.
Post not yet marked as solved
2 Replies
933 Views
Hello community this post is for show my complete unsatisfied with Apple specially on developing games for Apples platforms there is lack of support for it for example some new gaming technologies and still that there is no profit or worth from all the work and money invested to develop for it I will close the journey with Apple very unsatisfied I'm going to give opportunities with my business to other platforms that are really worth it and give support to all new technologies in gaming and yes Apple destroyed other gaming makers with their new services like arcade and seems no future for gaming in Apples platforms. Quit goodbye and good luck to everyone.
Posted Last updated
.
Post not yet marked as solved
1 Replies
865 Views
I tried twice to install homebrew and I got a error message twice: Error: apple/apple/game-porting-toolkit 1.1 did not build Logs: /Users/omarzunun/Library/Logs/Homebrew/game-porting-toolkit/00.options.out /Users/omarzunun/Library/Logs/Homebrew/game-porting-toolkit/01.configure /Users/omarzunun/Library/Logs/Homebrew/game-porting-toolkit/01.configure.cc /Users/omarzunun/Library/Logs/Homebrew/game-porting-toolkit/02.make /Users/omarzunun/Library/Logs/Homebrew/game-porting-toolkit/wine64-build If reporting this issue please do so to (not Homebrew/brew or Homebrew/homebrew-core): apple/apple
Posted
by omiisdope.
Last updated
.
Post not yet marked as solved
0 Replies
223 Views
I’m really sorry if this is not the proper place for this. I’m developing a game with online mode what works just fine in WiFi mode but not in mobile network. If someone has two Apple devices and can try if with the mobile network the multiplayer mode works I will appreciate A LOT https://apps.apple.com/es/app/ufo-snowboard/id6474542185
Posted
by positrons.
Last updated
.
Post not yet marked as solved
0 Replies
253 Views
My team is building an SDK to release to game developers. Does our SDK require to meet the same IOS App store submission checklist? Wondering if there is any SDK checklist for IOS
Posted
by Apeachie.
Last updated
.
Post not yet marked as solved
3 Replies
721 Views
Hello everyone! I'm completely new to Apple. So my Situation is the following: In the company I work we have a Virtual Reality Educational Game made in Unreal Engine 4.27. Now with the release of the Apple Vision Pro we plan on making our game available on VisionOS, but like I said, we're kinda new to the Apple Enviroment and I already encountered some Problems with Building Unreal Engine 4.27 on XCode 15.2, which is a requirement for VisionOS if I understand correctly. So what I wanted to ask is, if anyone has some experiences with porting an Unreal Engine Game into VisionOS already, what's the best guideline to accomplish that everything works out correctly. Maybe some access to a Tutorial or Guide, etc. Our progress is the following: I'm using a MacBook Pro with Sonoma 14.2.1 with Xcode 15.2. I was following this Guide to setup Unreal Engine on the Mac: https://docs.unrealengine.com/5.3/en-US/downloading-unreal-engine-source-code/ The first problem I encountered was some weird Errors when building the ShaderCompileWorker. Errors like "variable 'x' set but not used [-Werror,-Wunused-but-set-variable]" and "use of bitwise '&' with boolean operands [-Werror,-Wbitwise-instead-of-logical] I know the reason why those errors are happening but I didn't want to reassamble the whole Unreal Engine Code so I was looking for a general solution but the only thing I found was People reverting to XCode 13.4.1, which is not possible when I want to use VisionOS I believe. So now I'm thinking if a Unreal Engine 4.27 Game Port to VisionOS is a reasonable thing to do, or if it's just hardly possible to do. I would like to have some more insight about that topic, before putting a lot of work and resources into that task, only to realize that it maybe won't work at the end. I'd appreciate any kind of advice or help on that topic, just to have a better view on the whole issue - like I said, we're new to Apple :) Thanks a lot in advance!
Posted
by Itama22.
Last updated
.