how to manage project for multi platforms on engine based or graoundup project

Started by
3 comments, last by Samith 9 years, 7 months ago

hi.

this may be a easy simple question but i dont know about it.

im starting a new project and i want to take output for ios android and pc. as a developer how should i think about my project?

should i work parallel ? for example when i implemented move forward for my character by up arrow for pc after that i implemnt touching a up arrow looking sprite for android and ios or its better to focus on a certain platform and after taking last output for it start working for next platform? what is the best way? i think what professional teams do is they have diffrent team for each platforms and they work parallel but as a indie little team what is best way to do?

thank you for helping

Advertisement

is this a wrong question? really no answer for it?

Where I work, its common to focus on one version first (iOS) and port it later (Android) but on some occurrences, we've worked on both at the same time.

Your code should be built in such a way that one platforms ignores the state of the other altogether so that not all builds break for unknown reasons. I'm assuming you are differentiating the 'device' at boot and use this stashed reference to handle controls, display, etc?

While being vigilant and making sure all platforms are functional at once from the very beginning sounds great, this is often an unrealistic goal. Often for deadlines/deliverables/shows you will end up picking a target platform to present on. That platform will then end up being more developed than others.
Imo it is good to get into the habit of making sure all platforms are at least buildable at all times, to avoid nasty surprises down the line when you find out that "Holy crap, the PS4/whatever code/data has been broken for months and now there's this giant mess of compile errors to detangle!". That, I think, is doable. But in terms of functionality and maintaining playability and stability of the game - unless you have QA resources (or personal time) to both test and fix each platform on a daily basis and build features at the same time you're likely to end up leaving some platforms by the wayside and coming back to them later.
One potential option to consider to mitigate this is automated testing. However, that's a whole other can of worms and requires plenty of initial work and ongoing maintenance in itself.

I am not sure about mobile development practices, but in general for console games teams that want to develop on multiple platform simultaneously will have some kind of platform abstraction layer that handles the platform specific stuff (input, sound, graphics, file system, etc). Then the rest of the game code will interact with the abstraction layer, which will then do the correct thing for each platform. The vast majority of a game's code should be platform agnostic, and only lower level file, io, graphics, sound, etc code will have to be written for each platform.

This is pretty easy on consoles, because the major consoles are so similar to one another. On mobile things might be a lot different, given the massive variation in screen size and performance that there is in the mobile marketplace.

This topic is closed to new replies.

Advertisement