What do Coders need to know?

Started by
13 comments, last by Got_Rhythm 11 years, 1 month ago

Good evening, I am designing a game, and soon I will need to begin seeking out a coder or programmer (maybe several) to bring it to life.

I am very new to all of this, so what I am asking is- what would a programmer need to know in order to give a reasonable estimate of time and money they would charge to complete it (U.S dollars). Please allow me to give an outline, and let me know what more information is required.

Most of the headers contain links to my website, which have mock-ups of the game screens, for a better idea of the game format.

---------------------------------------------------------------------------------------------

Pack for Coders


Necromancer, The Fight For Life is a 2D RPG to be programmed in C++, C#, Unity or whatever

software is most appropriate, using sprites for animation and simple graphics. The game can be played

with mouse and keyboard and compatible with Microsoft Windows. In terms of mechanics and complexity

it is almost identical to Gameboy Pokemon games, the main feature of which is monster capturing and battling.


Screens-

Title Screen

Fade in and out company logo, fade in title screen with 4 options.


New- Starts a slideshow of 5 still slides with music and
voiceover, then the game begins.

Load- Restores a previously saved game state.

Options- Change music volume, sfx volume.

Website- Opens a separate window that shows the company website.


World Map

Character sprite can move up, down, left and right on a
tiled surface (using basic walking sprite animation). When the sprite
encounters a tile with a town on it, the game screen changes to a town, there
is also a “random chance” while moving of entering a battle with NPCs. On the
World Map screen at any time the player can enter the options screen with a
button press.


Towns

Character sprite can move up, down, left and right. When
standing next to an NPC sprite, a button press can initiate text on the screen
(the NPC speaking), occasionally there will be dialogue options (the equivalent
of Yes and No options) that will affect future dialogue options, story elements,
and also affect the game conclusion. There is a point in each town where the
player can Save the game state and also heal all of their minions to full
health points.


There will be approximately 50 towns, all using the same
structure, just different art. Through dialogue options the player can accept
and complete quests, progressing the story and unlocking new areas on the World
Map.


Battles

The battle screen will have 1 – 3 minion sprites controlled
by the player, and 1 – 3 sprites controlled by AI. The player can choose to Run
(having 50% chance of returning to the World Map), Info (which will cause
anything the Pointer is on to display explanatory text) and Action, which will
cause battle actions.


The battles are turn based (order determined by the minion’s
Speed value), each minion has the option of 4 attacks with the option of 3
targets (some high level attacks will affect all targets, and some attacks can
target allies). When an attack and a target is selected, a battle animation
will play (normally comprised of 4 sprites) and the next minion will be able to
act.


Some attacks cause a minion to lose health points, some
cause a minion to increase or decrease in stats (referred to as buffs and
debuffs, see below for stat details). When a minion reaches zero health points,
it can no longer act in battle. When all the minions on one side have zero
health points the battle is over, if the player lost, they are transported to
the last town they visited, if the player was victorious they are returned to
their location on the World Map.


NPC minions in battle can be controlled by simple AI or
simple random number generators (with 4 attacks to choose from, and 3 targets
to choose from, there is a total of 12 possible actions, so maybe random battle
actions would be just as effective, I have yet to learn enough about this).


Minion health points can be recovered by the act of walking
on the World Map. Something like 5 health points per step, or totally recovered
by resting in a town (talking to a certain NPC sprite like an innkeeper).


Minion Management

The minion management screen displays a simple list of all the minions
which the player has captured and currently owns. Each minion can be individually selected and the
player can use the following options.


Info- Displays a new screen with detailed minion stats.

Switch- a second minion must be selected, and then those two
minions switch spots in the list. The first three minions in the list are the
ones which will be used in battle.

Fuse- a second minion must be selected, and then both
minions are deleted and a new minion is created. Only specific combinations of
minions can be successfully fused, if non-compatible minions are selected then
a simple “not compatible” message is displayed.

Remove- Minion is permanently deleted from the list.


There are 150 different minions, and the player can own
multiple copies of the same minion.

Minions have 10 Stats (of numerical value from 0 – 1000)


Health Points- are the amount of points a minion can lose before being defeated.
Strength- determines physical damage output.
Constitution- lessens the amount of physical damage taken.
Dexterity- increases the chance an attack will connect with its target.
Finesse- increases the chance an incoming attack will miss.
Speed- determines how soon the minion can act in battle.
Willpower- determines magical damage output.
Resistance- lessens the amount of magical damage taken.
Luck- increases the potency of actions which effect the stats of minions (buffs and debuffs).
Fate- decreases the potency of incoming actions which effect the stats of minions.

After each successful battle, minions will gain experience
points. As experience points increase, minions' values increase, making them
more powerful in battles. After certain amounts of experience points, minions
gain new attacks and can eventually evolve into new more powerful forms.
There are 240 different attacks, each using a different calculation of stats,
for example-


Slice = Attacker’s Strength minus Target’s Constitution

Lightning = Attacker’s Willpower minus Target’s Resistance


With some involving more complicated calculations (nothing
more than basic algebra) such as...


Vines = Attacker’s Willpower plus Attacker’s Speed divided
by 2 minus Target’s Resistance with a chance to reduce the Target’s Speed by an
amount determined by a different calculation e.t.c...

I have not yet settled on the exact method of acquiring new minions,

I expect it will be similar to Pokemon games (reduce target to a low

health, then attempt to capture).


Pocket Necronomicon

A simple screen containing a virtual book, pages can be
turned and pages will show text information about minions (added as new minions
are encountered) similarly with people and places.

--------------------------------------------------------------------------------

Thank you for reading.

Advertisement

Given your project is a RPG, you have to consider your game fun factor and balance in combat and pacing of the game's action, adventure, movement, animation and story, system and code complexity. I would say it's hard to say but it's definitely going to be A LOT of time given what I mentioned earlier.

You won't really know how the game looks on screen despite how you know it already is on paper. Some design always change and when design changes time adds up.

The coder will mostly likely want to see your art given he/she needs to add the art to the game.

The game also need testing and fixing bugs, so the time will also adds up more

This is technically simple, but lots and lots of design iteration with a working prototype is necessary to make the game logic compelling and to balance the game. That's a job for the designer. Doing it by involving a programmer to manually make each change would require tight cooperation, not to mention a ton of programmer hours (expensive!). The sensible way to do this would be a data-driven one where all the data, and any logic that needs to be tuned, are exposed to the designer via scripting and/or data editor.

I'm inclined to ask: couldn't you do a prototype yourself in RPG Maker or similar easy-to-use software that already comes with editors, etc.? Then you'd be free to polish the game logic, accurately design and test the game world itself and do the balancing at your own pace. With a polished prototype where all or most of the game logic is in place, it is a much simpler task to buy the work of re-coding and porting the thing to other platforms. If you even need to.
Hi WN, thank you for the advice on next steps, I understand a great deal of time will be needed for balancing, so I understand it must be hard to give a real estimate.

Hi SK, thank you for your in depth response, I will look into putting together a prototype as a means of getting a solid foundation for a programmer to work on.

Follow up question-
Once the coding for one town is figured out, is it a relatively 'simple' case of replicating that code with different art and different values to create many towns?

Follow up question-
Once the coding for one town is figured out, is it a relatively 'simple' case of replicating that code with different art and different values to create many towns?


For a well-implemented system it is fairly easy.
For a badly-implemented system it can be as difficult -- or even more difficult -- than the original work.

Bidding simply on the minimum quality developers or the minimum bar to satisfy the requirements will often yield hard-coded, inflexible, badly implemented solutions that only meet the requirements by the barest technical margin, if at all.

That is just one of many reasons you cannot simply say "How much will it cost"? It can be done poorly but just barely up to spec, or it can be done with a rock-solid design and implementation that is easily extended. The two have very different cost structures.
Thank you frob, my original question was not 'how much will this cost?' - my original question was 'what would a programmer need from me in order to give a time and cost estimate?'

I understand even narrowing the time down to a number of months can be difficult, as much if it depends on balancing and bug fixing, however I am preparing to put a lot of money behind this, so when it comes time to ask for cost estimates I will not be asking 'what is the minimum price I can pay for this work?' - it will be 'what would I have to pay in order for this to be done to a high quality and standard.'

Right now the focus is just to get my design, writing and artwork to an appropriate state so I can even begin talking to coders intelligently.

A programmer who can tackle all that work solo and do a good job is going to be expensive. A team will be even more so.

Consider that you have two basic pools of people to draw from: those who can do this well, and probably already are doing this sort of work someplace; and people who can get a game out the door at significantly lower quality of work and possibly more net expense.

If you're content with hitting the second group, there's plenty of places you can pick up coders for minimal cost or even free. But getting a game produced - if you're serious about doing it and doing a good job - is going to be a lot more work than that.

For perspective, if an industry-quality programmer were to tackle this, they'd probably be asking for at least $70,000 USD a year, for probably a year or two of work, depending on how well your team gels and how efficient the programmer is. Anything less is pointless, since a qualified person could walk into an industry job instead the next day. If you want that caliber of people, you have to compete in the job space - and that means a lot more than just salary.

As soon as you start talking about putting money on the table, you have a lot of things to square away if you want to attract solid talent. You need a company structure to minimize personal liability. You need monetization plans, revenue projections, possibly guarantees of seed capital from some sort of investor. You need solid contracts and established working guidelines and clear leadership.


If you're not in a position to provide benefits like insurance coverage, retirement funding, profit sharing, etc. etc. then expect base salary to increase another 20-30% to compensate for that.
Here's another way to think of this. You're not proposing a contract gig where someone walks in, does a job as specified on paper, collects a paycheck, and walks out. If you want this done right, you need to have an iterative and relatively open-ended structure. What seems to work well as an abstract idea may turn out to be a flop once it's actually implemented; you need to build in padding to your schedule to anticipate that possibility. The less experienced you are as a game designer and creator, the more time you need to budget for getting a fun game out.
Of course, that's if you're really committed to producing something high quality and marketable. If you just want to make a game, you can find plenty of programmers who will happily hack on your project for cheap or free.

Wielder of the Sacred Wands
[Work - ArenaNet] [Epoch Language] [Scribblings]

Hello ApochPiQ, thank you for the insight, it is always useful to put myself in the shoes of someone I am considering employing, and trying to understand what would be fair compensation to them. $70k a year seems fair.

However, the purpose of this thread was - what more do I need to show to a programmer for them to be able to accurately assess the project themselves?

what more do I need to show to a programmer for them to be able to accurately assess the project themselves?

Scope. You've described a lot of the systems you want to have implemented, which is very helpful, and I can already get a feel for the kind of work this would require to get up and functional. Iterative testing and debugging is always an elusive target time-wise, but it would be nice to know "how big" this is supposed to be.

Also, what's the support structure for development like? How big will the team be, where are assets (art, music, etc) coming from? Are those secured? What quality?

What's the financial backing of the project? If you're picking up coders for free, and they want to work for free, good luck. If you're intending to pay the team, where's that coming from? (Nothing personal like bank information, but more a sense of "yes, I really can pay you" instead of elusive hand-wavey "percentage of sales" tripe)

What's the delivery plan? If this project gets wrapped up in 8 months or 2 years or however long we're about to invest in it, has anyone done any legwork in terms of sales/publishing research? Even as simple as "submitting to Steam Greenlight and Desura" or "direct sales from website" might be good enough there, just another data point that's nice to have. The more it looks like the whole system is being taken seriously, the more confidence you instill in your prospective coder(s) that their time and work investment will reach the finish line.

Hazard Pay :: FPS/RTS in SharpDX (gathering dust, retained for... historical purposes)
DeviantArt :: Because right-brain needs love too (also pretty neglected these days)

Thank you BCullis, that us exactly what I was looking for, I'm trying to put together a prototype now and then I'll focus more on the business side if things to get that in a more professional state :)

This topic is closed to new replies.

Advertisement