Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 12 Mar 2005
Offline Last Active Yesterday, 02:57 PM

#5266842 Your development workflow

Posted by on 17 December 2015 - 06:33 PM

You might want to read up about Test Driven Development (TDD). It transformed the way I thought about test writing back when I first learned of it, which was also back before it picked up that name.

The best thing about it it is that it helps you be thoughtful about what you are doing and why you are doing it. If you can apply the thoughtfulness either way then it will be that much better for you.

You are right that it forces an interface, but it works out in a good way. You are basically writing the interface as you want to use it. You figure out all your function calls and use patterns that you want first, then you implement then functions to do it in the easiest way for you.

When building tests second I've found there are some awkward use cases and things that don't work quite as expected when I go to actually use the code. Writing the tests first gives a built-in framework for the thoughtfulness, developers tend to think about how they will use it because they are writing their own ideal use patterns and then filling in the insides with the details of how the process is accomplished.

#5266751 Your development workflow

Posted by on 17 December 2015 - 02:41 AM

Agreed. Some people read over the Agile Manifesto where they prefer "Responding to Change over Following a Plan" and wrongly interpret this to mean no planning.

As some famous general I won't bother to look up is quoted with, plans are useless but planning is invaluable.

In the longer version of the Agile Manifesto they go on to explain the point a little more: "We embrace modeling, but not in order to file some diagram in a dusty corporate repository. We embrace documentation, but not hundreds of pages of never-maintained and rarely-used tomes. We plan, but recognize the limits of planning in a turbulent environment." Or in other words, make plans that you are going to use, don't bother with plans you won't use or learn from. Constantly adapt, but have clear goals and plans in place.

Specify the destination clearly but allow for changes in the route.

For a big party you might know everyone is going to a major park on a specific date, but everyone can follow their own path to reach the destination. Some people may live in the area and will drive from their home, others will travel from distant areas, driving or flying and staying at their own individually planned locations. Each can vary their plan for what they bring, shopping at various stores or even bringing items from home, having their own implementation details for getting party items. Each can embrace their own changes, have flights that are delayed, visit tourist attractions, or otherwise do their own thing, react to their own turbulent lives, but still deliver on their commitments for being at the destination on time with their correct party items.

In this case we know the product (a well-specified game) and a series of dates, but Agile means we are not specifying by contract up front the path we go to reach the destination. We can take detours, we can re-arrange the order of many details, we can even swap out enormous implementation details if needed. Changes to the plan can mean cutting features that are not part of the big commitment or scaling things up or down to fit ever-changing constraints. But the plan still has the product with a list of features and we can deliver on our commitments while still adapting to change.

We plan, and we have a firm destination in mind. But when roads are closed we respond to the change and deviate from the plan by following detours rather than driving through freshly-poured concrete to strictly follow the plan.

#5266732 Paying someone to work on a "mod"?+ "games that started as "m...

Posted by on 16 December 2015 - 09:52 PM

Shop around and find a good, reasonably priced lawyer comfortable with this area of business law. Prices vary by location, around here it would be $150-$200 per billable hour.

Think of it like insurance. You are paying a few hundred dollars up front to hopefully save a fortune in the event something goes terribly wrong.

Also note how it would have been cheaper and fewer headaches if you had talked with a lawyer back in 2010 or 2011. If you let it fester it will be even more expensive and more work later.

#5266720 Paying someone to work on a "mod"?+ "games that started as "m...

Posted by on 16 December 2015 - 05:16 PM

1. As for the code, in our case, the coder was scripting (piecing together existing code from the game engine), not writing code from scratch. Not sure if or how that changes things?

Copyright, moral rights, related rights, and assorted other things all apply. These need to be addressed. Your lawyer will advise.  


As far as rights transfers and assignments go, they run the full range from "work for hire", which basically means the person loses all rights to it forever and rights are transferred to the company, to collaboration agreements that allow you to specify many different options including fun things like reserving a copy of nearly all the rights to the author and granting effectively a copy of the rights to the group, all the way through to limited licenses for a specific scope. 
Again, getting rights wrong ( smile.png  )can legally taint your group's project.  If you later want to be acquired or work with a major publisher you will need documentation that you actually own your stuff.  If you get those documents wrong then you don't actually own it, and you cannot legally sell or license what you don't own.


2. So to be clear, if there is no official legal contract, the author retains the rights, even if their former member, and even if  there are documented communications that explicitly state, in their own words, without prompting, that they're not interested, they don't care what happens to their work,  and they have moved on? 
(can that be treated as a surrendering of rights?)


It gets tricky, the answer is "maybe".
Some rights could be assigned or transferred through email. You made the request in plain language, he replied in plain language, the deal was accepted by both parties. That is a fully binding agreement.
Other rights (details depending on location) require specific wording to be transferred, or must be called out specifically and individually, or have additional requirements such as a signature.


Your timeline steps D, G, and J complicate matters.  The specific things that were communicated in writing are important.


What you have might be enough, or it might not. Your lawyer will need to read it and decide.



3. Would any of these details carry any legal ground in dismissing his intellectual property claims?


Maybe, your lawyer will advise.  


The things that I note are that against you are at one point he tried to delete everything he contributed, and he asked not to be contacted again. If he communicated that he refused or rejected your use that could come back to bite you badly. Something that may help  you is that he said "a few times" that he did not care what you did. What he wrote might be enough to give you all the rights you need.  When you talk it over with your lawyer, bring copies of all the messages.


The exact wording will be important. The general feeling of the communications will be important. This will mostly be a matter of risk assessment, potential damages and consequences if something goes wrong, and determining your level of risk tolerance.


4. if there is no response to a formal request to sign these kinds of contacts, is there any kind of statute of limitations? (that would wave his claim?)


Depends on location, but in the US it is 70 years plus the life of the author for the copyright. 


Copyright covers the right to reproduce the material; to prepare derivative works based on it; to distribute it to the public; to perform the work; or to display the work publicly.


That is one reason this gets complicated.  Even if the exact material was removed, if you have done things that are derivative on his work then he could make a claim against that derivative work.



Overall this is a lesson learned: Always get agreements in place before the work begins. 


Your lawyer might tell you what you have documented from the disgruntled person is enough. Or your lawyer might advise you that it is questionable but low risk. Or your lawyer might advise you that it is high risk and you really need to take some specific action. Or your lawyer might tell you something else entirely.  

#5266686 Paying someone to work on a "mod"?+ "games that started as "m...

Posted by on 16 December 2015 - 12:23 PM

For example, if a person did a piece of concept art, then we made a model from it, running it through the rest of the art pipeline, that might make that model useless?, if the original concept artist left?  Or if a coder scripted some code, broke it, and left, then a new coder adjusts that same code to get it working again.
That can't be right?

You may not like it, but it is correct.  Copyright and other IP law still applies. Those rights are retained by the person who created the work, not with your team.


The author of the code or art still owns the copyright and other creative rights. You and your team have no legal rights to derive from those works or to modify those works or to sell those works unless you get a proper assignment of rights.  


Many projects have died or become legally tainted when someone left without proper rights assignments.  There have been businesses who tried to get acquired only to learn they are un-purchasable because they failed to get proper agreements from all workers.  


Under pure application of #2, that would mean, every time a person left, we'd have to purge the entire project of all their work, which would not be feasible, nore logical.
I've been operating under the assumption that if a person leaves, they primarily surrender their work to the project, meaning they joint own it, but it still remains within the project, since others will likely have built on those foundations. (There's a document in our files, which they have access to which lays out expectations and how credit will be assigned, but it's not a "contract".

Your assumption is wrong. 


Without a proper written agreement assigning the rights, your team has no rights to the work. You need a collaboration agreement, an employment contract, or some other properly-crafted legal document that transfers those rights.


Without those documents in place you have no rights to their work and you would need to not only purge the project of their work, but also purge the project of anything derived from their work.


That is why experienced people and lawyers recommend you ALWAYS get written contracts up front.


none have explicitly asked that their work be removed, and my point is, even if they did, in some cases, we'd not be able to feasibly oblige.

If any have asked that of you, your project is probably legally tainted to the point it is no longer commercially viable.  If any of them decide to sue and have evidence that they contributed something you are still using, then your group would probably lose in court.


In my mind, if a person leaves, in a bad way or not, and the rest of the volunteer team decide to still consider their work as critical, and Cary out the original intentions of that author, that's an honor.
It's like if a CEO steps down and the VP is promoted, ... 

Companies have employment contracts in place. Those employment contracts transfer and assign various rights from the employee to the employer.  


Guess I better just talk to a lawyer



They will probably help you draft some legal agreements. Then they will have you track down everyone who ever contributed anything to your project and get them to sign the agreements.

#5266683 Your development workflow

Posted by on 16 December 2015 - 12:11 PM

Agile is a bunch of little waterfalls, usually called 'sprints'. 


Even so, sooner or later you need to actually ship a product. That is the final cutoff. 


(Unless you are a web developer on an endless continuous development cycle, which means you are never done.)

#5266564 Your development workflow

Posted by on 15 December 2015 - 05:07 PM

While on the Sims Store team we had this process, more or less:
  • Initial design.
  • Concept fleshed out
  • Concept art / sketch / photos from the internetz
  • Designs reviewed with modeling, animation, programming, audio, effects, QA, to ensure it fits budgets
  • Designs reviewed with production and marketing to see how they fit longer-term plans
  • Very simple prototypes built (time boxed to a few hours of work)
  • Iterate (back to #2, sometimes many times)
  • Initial approval, meeting with full team where we try to poke additional holes into the design. Far better to discover these flaws now rather than later.
  • Slightly bigger prototypes. Basic box models and rigs created. Empty animation trees created. Everyone does a small amount of work to identify all the risks and the full details of what we are adding, and to identify the limits and what we are not adding. These take place over a week or so.
  • Design approved, meeting with full team as the final design is presented and everyone presents their prototypes and concepts. Everyone should be comfortable with the design.
  • Modeling usually starts first, a few days earlier than the other teams.
  • Programming and animation enter main development, roughly 1-2 weeks for main development. Usually we show off each bit of functionality to designers and others as they walk past. Some minor iteration can happen if necessary.
  • QA joins after the first week, more or less.
  • Implementation review, we demo to the full team and give a final opportunity for changes
  • Audio gets busy when animation nearing completion
  • Text sent to localization
  • Final process, lots of QA, lots of tests against various configurations
  • Object packaged, prepped for marketing and deployment, and eventually deployed to store

#5266546 Paying someone to work on a "mod"?+ "games that started as "m...

Posted by on 15 December 2015 - 02:35 PM

Would we have to approach the original IP owning company in any way? (even though EA would likely not care to even respond)

Depends on the details.

Some games are designed for mods and provide tools for doing it. The game will have a license that talks about the legal details. Companies are fine with this as long as you follow the rules.

Some games can be easily modded but don't have direct support for it. Some games will have unofficial support from the company where a modding community is quietly supported but it technically is still unauthorized. This is a risky type of work since the company can shut you down at any time. Proceed with caution if this is the case.

And some games and their companies are strongly against mods. These will come after you with legal demands when they discover your work. Don't mod these games.

#5266521 Sell or development

Posted by on 15 December 2015 - 12:48 PM

How much is support costs (as fraction of budget during planning), in your experience? I knew marketing was equal to or greater than development, but I honestly haven't thought much about support in my own project beyond some cursory planning.

Depends on the game and the studio.
If you've got a slow-but-steady flow of updates, you need resources for that.  That could be considered a support cost.
If you've got a big game with a big-budget mass distribution (think EA and Activision scale) then there needs to be a call center that handles support requests.
If you've got a small game you will need to establish your own support methods.  That may mean emails and a web forum or something else. How much time you devote to that will depend on the size and scale of your customer base.
Social networks and communications (SoCom) may require more or less time, and might be considered part of marketing. On some projects that was about 5 hours per week from one individual, basically an hour a day. On other projects it was 2-4 individuals each actively developing the business through growth plans in conjunction with marketing and production.
For the ratios, I've usually seen approximately 1/3 main development, 1/3 marketing, 1/6 pre-production and prototypes and market research, 1/6 post-production and support.  

Our analysis show that in EU 1 paid user acquisition cost is 1.40 EUR (optimistically) and that 1 user can bring 4-5 users viral.   
With advertisement campaign 75,000 EUR  for 3 months and if we REinvest  60% of the revenues every month in the advertisement... in the end of the year the product will have 900,000 mau.
Which is extremely low for product that can easily have 10-20 mill MAU, but it will be challenge to raise target valuation from 1% for 5K EUR to 30K or something. Actually i do know what exactly money we need to reach for 10 or 20 MAUs, but our assumption can be wrong and need more or less.

That is always a tricky thing.

Brand recognition and brand loyalty helps. Cross-marketing helps. A large existing customer base helps.

It can be difficult because there are many different factors and they all multiply. So your marketing may be 2% effective at getting them to your web site, your web site might be 8% effective at getting them interested in a purchase, when they go to make a purchase only 4% might be willing to buy and enter their financial information or pay the cost, etc. So you get 0.02 * 0.08 * 0.04 = 0.000064 effective marketing plan. You need to remove all the barriers and make it as easy as possible for people to give you their money, but also to return frequently and to tell their friends.

In many aspects of business, making a game is the easy part.

#5266375 Sell or development

Posted by on 14 December 2015 - 06:46 PM

In the professional corporate world, the cost of main development usually represents about 1/3 of the total costs.  


Marketing is usually as much money or more money than development costs.  So perhaps $50K or $75K in marketing, but an exact amount is a business decision.


You will also have support costs once the project launches.


Your existing business plan should account for all these costs. If it does not, you really need to revise your business plan.



How you get money to fund your project is a decision you will need to make.  If it requires getting a business loan or selling a part of your business or changing plans, that is all your decision.  Angel investors are best, but often businesses fall back to the three "F's:  Friends, Family, and Fools, where "fools" means "private investors willing to invest in your project". 

#5266085 Question about creating a replay system

Posted by on 12 December 2015 - 09:07 PM

Screen captures are big, and reading from the screen's display takes time.

First, the size. A single screen capture image may be 1920x1280x24 = [Edit: Bath math originally, sorry] 7 MB uncompressed [end edit] . Or 2560x1600x24, or 2880x1800x24, or even more. You can spend compute power to compress it if you want. Multiply that by 50 or 60 or 75 or 120 frames per second.

Second, the speed. Graphics APIs are normally built as write-only systems. You write to the card, then discard the results and write the next frame. The card dumps the image to the display and you don't need to. Reading back from the graphics card is a moderately slow operation. A naive approach can take over a second per frame to read. Driver-assisted approaches can help give you faster results for recording rendered frames, but they will still consume a lot of time as data transfers across your hardware bus.

It is generally faster and easier to just record the source data stream.

#5266084 Android Game C++ SFML or Android Studios Or C# Monogame ?

Posted by on 12 December 2015 - 08:51 PM

Seconding the concerns about experience.

You've got this list:

* an MMORTS game like OGame but for Android.
* little animations (u know like blinking lights on buildings and some very basic and simple ship battle animation)
* text based just like Ogame 
* build buildings 
* research tech 
* build ships
* farm others 
* harvest resources 
* in app purchases
* ads
* premier memberships. 
* we are a team of 2 members 

Do you and your designer teammate know how to implement all those things? Those things look like a lot of work even for a professional team.

There is a reason developers should start small and slowly grow. Recommendations are generally to start with simple projects like a pong clone (a single bouncing ball) or tetris (a single falling block) and slowly increase your skills.

Do you, right now, have the experience and knowledge that you could immediately build those parts?

If you have the experience and background in creating all those pieces listed above then you wouldn't be asking the question of which libraries to use. You would know those really won't make much of a difference in the project you described.

Start much smaller. Then use either library, or both libraries in different small projects.

#5265988 What do I need to develop a game that runs online and connects multiple players?

Posted by on 12 December 2015 - 12:46 AM

The kind of game I'm looking to make is an open world with the ability to create stuff with physcis eg. flying vehicles, driving vehicles, weapons, etc... but does not need to be spectacular in graphics, just online capable.

It depends entirely on what you want to do. The field is wide open.

There are existing tools and infrastructure for many different kinds of games. You mentioned Unreal and Unity, both have online capabilities. Unreal is better suited to FPS-style games where shared precision is important, Unity is better for coarse-grained situations. Both require planning, thoughtful design, and careful implementation even though features are built in and available within the engines.

There are games that coordinate all they need through simple web servers and REST calls, other games that build comprehensive communications protocols for low-latency communications across the global Internet. Different approaches can work for different needs and different implementation details.

#5265987 (Research) Assuming I have 10000 concurrent players on a FPS Game, what would...

Posted by on 12 December 2015 - 12:35 AM

So you are discounting development costs? That is going to be huge up front, but it looks like you are only interested in the data center after development work is complete.

Server load is going to be highly dependent on the game. Some games rely on a large number of high-load machines doing much work. Other games can handle a large number of concurrent players but only do a tiny amount of work for each. Even though you say it is an FPS that does not mean all the effort is necessarily on the servers. Some servers simulate everything and do all the game's processing. Other games the servers are little more than a matchmaking service, score reporting tool, and community lobby. You will have costs for those machines, but it could be a cost for a few shared virtual servers or a cost for thousands of dedicated machines.

Bandwidth is also a concern, but it varies by game. One one extreme you get games with lots of people running around in communications-heavy simulations interacting with each other constantly, such as when EVE Online goes into 'time dilation' mode to handle all the communications and processing. On the flip side, if all you are doing is matchmaking and score reporting the servers will be mostly idle, just a few events at the beginning and ending of each play session. Network bandwidth could really be just about any scale you can come up with.

Redundancy will be a concern for both of those. If you need a large number of redundant machines, or multiple sites around the globe, you're looking at costs for each site. So if you have a single server in one spot it will be cheaper than if you have servers in Asia, US East, US West, UK, Italy, Germany, Australia, etc. More locations give you more cost but potentially better service.

Server support staff and monitoring is going to be a cost. Like above, the cost is going to vary by what you need. If you have a game with thousands of dedicated servers you will need people employed to watch the boxes. If you can instead use a few virtual machines they can co-exist in a place maintained by others. If your needs require a dedicated 24/7 staff it will be different than if you can get by with a small team on call.

If you want numbers for various data center configurations, go look up Amazon's AWS pricing. You can plug in different values for types and number of machines, storage volumes, bandwidth options, and more. Amazon is a great platform for servers like this because they offer automatic scaling up when you need it, and drop off servers when you don't. Large organizations can quickly spin up machines that cost tens of thousands of dollars every hour.

Based on details your answers on costs could range from under a hundred dollars a month on the cheap side to hundreds of thousands of dollars per month on an expensive side.

#5265804 Smartphone Game Resolution Query

Posted by on 10 December 2015 - 07:04 PM

I'd consider multiple sets of graphics, swapped out based on device details.