Advertisement

Cost / Time analysis in Casino Games

Started by April 21, 2006 09:17 PM
5 comments, last by cathode26 18 years, 7 months ago
I am a computer science student, and I have 1 year experience in programming video games in DirectX and C++. I recently applied for a job at an up and coming casino game company. They outsourced all of the software development to other companies and they dont have the rights to any of the source code. They dont have a lot of money and they dont want to outsource for their software anymore. They have told me that they need a jack of all trades, programmer, director, and manager. They have told me to figure out how long I need to develop a video keno game and how many employees I think I need. I have no experience developing a game from the ground up, but I have access to a game engine that I have used in the past. My job would be converting the engine from C++ to C#, or possibly trying to just port it over using a dll because the casino machines are set up for C#. The next job would be making the keno game. It is going to be all 2D with billboarding. It is going to need to be really pretty, using shaders and cool lighting. But it is just a keno game. I know that no one can give a solid estimate on time. But, if you were a programmer with 3 years experience in C++ and 1 year experience in game programming how long do you think it would take you to do it. I would also have help from my game programming professor because he is thinking about doing consulting on the game. Also I need to tell them how much I want as an hourly wage, I was going to say 15, but some people tell me 30, others say 25, and I kind of want to say 20 an hour. -Vince P.S. I am very very afraid
Well, you're in over your head, but that's okay. We learn sometimes by being tested.

Before we start talking about time estimates, a few words on remuneration. $25/hr is waaaaay too low for this. Consider: You're going to be Team Lead, Chief Architect and Project Manager. For $25/hr? How much do you propose they pay the team, $10? They might as well work at Friendly's!

Nothing less than $40. If they're smart, they'll just pay you a salary instead ($40/hr at 40 hr/week over 52 weeks > $76,000!) I should know, I earn $40/hr now (though I don't work anywhere near 40 hours a week).

Now, to the time considerations. The key is to come up with a design for the system, decomposing each complex unit into simpler units. Once you have a collection of strictly simple units, you can estimate the time per programmer per task, allot additional time for testing and integration, and a bit more for team coordination and communication issues.

This, after all, is why you took those Software Engineering classes! [smile]
Advertisement
Hi Vince, you wrote:

>I am a computer science student, and I have 1 year experience in programming video games
>They have told me that they need a jack of all trades, programmer, director, and manager.
>I am very very afraid

Sounds to me like you shouldn't take that job, even if they offer it. They're looking for someone more experienced, and if they hire you that doesn't say good things about the future prospects there.

You'd be getting in way over your head if you got that job. I had a job like that once - I learned a lot, but it was the worst job I ever had in the video game biz.

Don't be afraid - just look elsewhere. Walk, don't run, away. (That's my advice, for what it's worth.)

Good luck,
Tom

-- Tom Sloper -- sloperama.com

I dunno, I think I'd do it and take my lickin's and learn everything I could from it. The worst you can do is waste their money (since it won’t be a waste of your time).

You need to stop thinking about hourly rates. Think salary, stock options, royalties, and fixed-price, fixed-time, fixed-deadlines. Ask for $80k. When they say that's too much offer to take stock options or royalties as an alternative form of payment. Get it in writing. Playing hardball here will hurt your chances if there's a ton of people lined up ready & willing to do the job. It will help if they are trying to find someone to take control of the project and get things done.

If you bring a game-engine to the table, that's money in their pocket. Ask them to pay for it as a bonus, when they refuse that, instead ask for an incentive bonus for when you finish the job on time (do NOT say “if” say when). Be calm and completely assertive that the work will be done, done well, and done on time. Be completely confident that you can do the work. Do not gripe about the technicalities or development schedule; its your job to shield them from that. Higher level managers sweat bullets about the work getting done, getting done on time, and being able to sell it. Every bit of anxiety you can take off their shoulders will reflect off you in a positive light. Shortly you will be setting the schedule or reducing scope so can meet the deadline; that is how you rationalize it in your head so you can be completely convincing.

There's a GameDev Legal Kit that advertises on the site, it would useful to have a good contract prepared for both parties to sign. You could show them the key legal phrases that need to be in contract so they own the source code to prevent their current situation from happening again.

Make a spec, list everything the game needs to do and make a list of use-cases.
If you do not know how to play Keno (it that a lottery game or a card game? I have no idea what it is), you need to get a definitive source and learn.
The purpose here is to completely understand how Keno works and to generate a list of task so you can begin to estimate how much work it is.
Ensure you understand all of the business goals.
Put together a plan and timeline to build the game.
This is the most time you will have to plan. Once development begins you will be under constant pressure to make progress, make deadlines, and keep everyone else busy.

Do not; Do not create more scope of work than what is necessary. It will be your schedule and your time that will suffer. It is better to have reduced scope and a solid product. If Keno has optional rules, do not implement them. If Keno has esoteric rarely used rules, do not implement them.

- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
There are two major parts to casino software. There is the front-end, which is what you are describing. Cool shaders, pizazz, whatever. This part draws the actual numbers and lottery information from the back-end server. This back-end server is what government authorities will want to have a say into, and must follow strict laws in many parts of the world. If your job is solely to make the front-end cute, then that's fine. If it also means you have to design and implement the back-end, then I would worry a lot. Depending on your employment contract, you could potentially expose yourself to a lot of trouble.
I'm going to repeat two of the earlier posters:

Walk away from the job.


Although I haven't done it, I have worked with several people who worked the Nevada Gaming Commission and described it well enough.

There are many laws, and they are constantly being updated. There are strict certifications the software must pass. The software must be auditable, and irregularity between audits, certification, and actual playing is a Really Bad Thing™. If you don't conform to the law of the day and the complete set of certifications, the company will face serious fines and can (in some cases) pass civil-suit liability down onto the designer's and programmer's heads.

It sounds like you have never worked with those laws. You have never run software through the certification processes. You probably don't already have your own E&O insurance that you probably ought to personally have on yourself for that specific job. You have never managed a team, nor (it sounds like) never completed a commercially viable product.

Unlike most other game programming jobs, a few legal mistakes on this particular job could ruin your career plans.

In addition to just the legal aspect of it, there is a lot of experience needed to build a successful team and to lead them toward a successful product. Without having a few years of real-world experience, you will stumble on minor problems; you will mis-estimate facets of the work; you will probably have management problems; you may have difficulty keeping delegated tasks and workflows moving smoothly; etc. Since you *will* be called on to do parts of everthing, you need to have enough experience with all the parts that you can step in and at least help the person you employ as a specialist in the area. If you don't know specifics of how everything works, you probably aren't ready to lead.

There are safer and easier jobs out there with the experience you have.
Advertisement
Thanks everyone for responding, I really appreciate your input. I know the job is out of my league. I am posting this because I really dont want to give the job up. I am asking for the knowledge of people that have done this project already so I can get an idea on how these projects are managed. If anyone knows of any websites or books that can teach me how to take on a task like this please let me know. Dont worry about it being out of my league. :)

Thanks

-Vince

This topic is closed to new replies.

Advertisement