Discuss games on Apple platforms.

Posts under Games tag

75 Posts
Sort by:
Post not yet marked as solved
6 Replies
629 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
717 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
660 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
455 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
324 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
1.2k 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
1.2k 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
306 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
338 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
4 Replies
1.1k 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
.
Post not yet marked as solved
0 Replies
336 Views
Hi, do you have some documents how to implement native ads in Xcode but using ObjectiveC or Swift for mobile game exported through Unity. What is the best way? If you have some projects, can you share them just to see implementation? The main problem is when I export game using Unity the whole concept of Xcode is different. I need to make "framework or pattern" for all games I want to export. Thanks in further!
Posted Last updated
.
Post not yet marked as solved
1 Replies
456 Views
Background: This is a question asking for a good example of SpriteKit from a very new iOS developer who is investigating for starting an iOS 2D game project. As I explored in the official apple development doc, to dev a 2D game SpriteKit is the very framework I am looking for. There have been some clear and succinct words for any API and class documented in the reference spec when I started a project in Xcode. However I haven't been able to finish the project as having no any general idea about what is always needed of a typical game using the framework. Question: As an experienced Java Spring programmer I believe that I am needed a brief example to get started with the SpriteKit framework which provides me an idea of necessary steps for a 2D game.
Posted
by JungNg.
Last updated
.
Post not yet marked as solved
1 Replies
452 Views
Hello, I am reaching out for assistance with a problem I've encountered while developing an iOS app using Unity. Recently, in apps built with Unity versions 22.03.14 and 22.03.17, we have been experiencing issues with AudioSource not properly playing background music (BGM) and TTS MP3 files received from the server. Here is the situation: In the initial map scene, BGM and TTS files play normally. However, from the next scene onwards, no sound from AudioSource can be heard. This issue persists even if we return to the first scene. Interestingly, sounds from an external video call asset called Agora SDK are audible. This issue has occurred in Xcode versions 14.3.1, 15, and 15.2. The app functions correctly on other OSs (Windows, Mac, Android). Additionally, when the app is moved to the background and then reactivated, the BGM starts to work again normally. At this point, briefly hearing the previous BGM suggests a potential issue with iOS audio initialization. Furthermore, we use Addressables.LoadSceneAsync for scene loading. Here, scenes are loaded in Additive mode, and after the loading scene covers the screen, the previous scene is deleted before the next scene is loaded (using the Unload method provided by Addressables). The AudioListener is attached to a camera in a DontDestroy state. Considering that this setup worked previously, the cause of the current issue is unclear. For scene loading and unloading: Loading: Addressables.LoadSceneAsync(resourceName, LoadSceneMode.Additive, true); Unloading: Addressables.UnloadSceneAsync(sceneInstance); We are managing the code flow using async/await. Could you provide any advice or solutions for this issue? Thank you.
Posted
by dev_slash.
Last updated
.
Post not yet marked as solved
0 Replies
366 Views
In our multiplayer game prototype, we experience a ping of 300 ms (at best) when using Game Center and GKMatch to send data between players, over the GKMatch.SendDataMode.unreliable channel. This latency is not suitable for a real-time game. When we tested alternative services like Unity's Relay under identical conditions (location, devices, and Wi-Fi), we achieved a ping of 120 ms. Is a ping value of 300 ms typical when using Game Center? I can think of possible reasons in case it's not typical, but I can't be sure: Is there a different behavior (servers relaying peer-to-peer connections) when the game is not yet released on the store? We're in Europe, maybe this is normal in Europe and better in US?
Posted
by martin243.
Last updated
.
Post not yet marked as solved
2 Replies
350 Views
Good afternoon, I had a developer account and for years I developed several gaming applications for Apple. And a few years ago I went to look at my old developer email and there was a confirmation of Apple's payment debit to me for the profit I earned on my apps. Could you check if Apple left any payments pending on my old developer account? I would like you to give me an answer because even my old games were removed from the Apple store. Thank you!
Posted Last updated
.
Post not yet marked as solved
1 Replies
482 Views
Post not yet marked as solved
0 Replies
452 Views
Post not yet marked as solved
4 Replies
1.1k Views
According to UIRequiredDeviceCapabilities documentation https://developer.apple.com/documentation/bundleresources/information_property_list/uirequireddevicecapabilities/, the value iphone-performance-gaming-tier has been added. The description is quoted below. iphone-performance-gaming-tier Requires the graphics performance and gaming features equivalent to the iPhone 15 Pro and iPhone 15 Pro Max. Available in iOS 17.0 and later. Unavailable in visionOS. In Info.plist of Xcode 15.0 (15A240d), setting iphone-performance-gaming-tier is correctly displayed in human readable format. However, when archiving a build containing this value and submitting it to App Store Connect, I receive an email stating that the bundle is invalid. The iphone-performance-gaming-tier is not available at this time, although its documentation states that it is available in iOS 17.0 and later. How can I use this value? For example, do I need a special entitlement?
Posted Last updated
.