Trending Games | The Crew | Neverwinter | Lichdom: Battlemage | ArcheAge

  Network:  FPSguru RTSguru
Login:  Password:   Remember?  
Show Quick Gamelist Jump to Random Game
Members:2,837,997 Users Online:0
Games:732  Posts:6,220,975
Recent forum postsRSS
Active threads
Cloud view
List all forums
General Forums
Developers Corner General Discussion
Popular Game Forums
Click a status to find game forum
Game Forums
Click a letter to find game forum
A-C
2029 Online 2112: Revolution 2Moons 4Story 8BitMMO 9 Dragons A Mystical Land A Tale in the Desert III A3 ACE Online ARGO Online Aberoth Absolute Force Online Absolute Terror Achaea Adellion Aerrevan Aetolia, the Midnight Age Age of Armor Age of Conan Age of Empires Online Age of Mourning Age of Wulin Age of Wushu Aida Arenas Aika Aion Albion Online Alganon All Points Bulletin (APB) Allods Online Altis Gates Amazing World Anarchy Online Ancients of Fasaria Andromeda 5 Angels Online Anime Trumps Anmynor Anno Online Applo Arcane Hearts Arcane Legends ArchLord ArcheAge Archeblade Archlord X Asda 2 Asda Story Ashen Empires Asheron's Call Asheron's Call 2 Astera Online Astonia III Astro Empires Astro Lords: Oort CLoud Asura Force Atlantica Online Atriarch Aura Kingdom Aurora Blade Auto Assault Avatar Star Battle Dawn Battle Dawn Galaxies Battle for Graxia Battle of 3 Kingdoms Battle of the Immortals Battlecruiser Online Battlestar Galactica Online Battlestar Reloaded Beyond Protocol Black Aftermath Black Desert Black Gold Black Prophecy Black Prophecy Tactics: Nexus Conflict Blacklight Retribution Blade & Soul Blade Hunter Blade Wars Blazing Throne Bless Blitz 1941 Blood and Jade Bloodlines Champions Bounty Bay Online Brain Storm Brawl Busters. Brick-Force Bright Shadow Bullet Run Business Tycoon Online CTRacer Cabal Online Caesary Call of Camelot Call of Gods Call of Thrones Camelot Unchained Canaan Online Cardmon Hero Cartoon Universe CasinoRPG Castle Empire Castlot Celtic Heroes Champions Online Champions of Regnum Chaos Online Chrono Tales Citadel of Sorcery CitiesXL Citizen Zero City of Decay City of Heroes City of Steam City of Transformers City of Villains Civilization Online Clan Lord Clash of Clans Cloud Nine Club Penguin Colony of War Command & Conquer: Tiberium Alliances Company of Heroes Online Conquer Online Conquer Online 3 Continent of the Ninth (C9) Core Blaze Core Exiles Corum Online Craft of Gods Crimecraft Crimelife 2 Cronous Crota II Crusaders of Solaris Cultures Online Cyber Monster 2 Céiron Wars
D-F
D&D Online DC Universe DK Online DOTA DOTA 2 DUST 514 DV8: Exile Dalethaan Dance Groove Online Dark Age of Camelot Dark Ages Dark Legends Dark Orbit Dark Relic: Prelude Dark Solstice Dark and Light DarkEden Online DarkSpace Darkblood Online Darkest Dungeon Darkfall Darkfall: Unholy Wars Darkwind: War on Wheels Das Tal Dawn of Fantasy Dawntide DayZ Dead Earth Dead Frontier Deco Online Deepworld Defiance Deicide Online Dekaron Demons at the Horizon Desert Operations Destiny Diablo 3 Diamonin Digimon Battle Dino Storm Disciple Divergence Divina Divine Souls Dofus Dominus Online Dragon Ball Online Dragon Born Online Dragon Crusade Dragon Empires Dragon Eternity Dragon Nest Dragon Oath Dragon Pals Dragon Raja Dragon's Call Dragon's Call II Dragon's Prophet DragonSky DragonSoul Dragona Dragonica Dragons and Titans Dream of Mirror Online Dreamland Online Dreamlords: The Reawakening Drift City Duels Dungeon Blitz Dungeon Fighter Online Dungeon Overlord Dungeon Party Dungeon Rampage Dungeon Runners Dynastica Dynasty Warriors Online Dynasty of the Magi EIN (Epicus Incognitus) EVE Online Earth Eternal Earth and Beyond Earthrise Eclipse War Ecol Tactics Online Eden Eternal Edge of Space Einherjar - The Viking's Blood Elder Scrolls Online Eldevin Elf Online Elite: Dangerous Embers of Caerus Emil Chronicle Online Empire Empire & State Empire Craft Empire Universe 3 EmpireQuest Empires of Galldon End of Nations Endless Ages Endless Blue Moon Online Endless Online Entropia Universe EpicDuel Erebus: Travia Reborn Eredan Eternal Blade Eternal Lands Eternal Saga Ether Fields Ether Saga Online Eudemons Online EuroGangster EverEmber Online EverQuest Next EverQuest Online Adventures Evernight Everquest Everquest II Evony Exarch Exorace F.E.A.R. Online Face of Mankind Fairyland Online Fall of Rome Fallen Earth Fallen Sword Fallout Online Family Guy Online Fantage Fantasy Earth Zero Fantasy Realm Online Fantasy Tales Online Fantasy Worlds: Rhynn Faunasphere Faxion Online Ferentus Ferion Fiesta Online Final Fantasy XI Final Fantasy XIV: A Realm Reborn Firefall Fists of Fu Florensia Flyff Football Manager Live Football Superstars Force of Arms Forge Forsaken World Fortnite Fortuna Forum for Discussion of Everlight Freaky Creatures Free Realms Freesky Online Freeworld Fung Wan Online Furcadia Fury Fusion Fall
G-L
GalaXseeds Galactic Command Online Game of Thrones: Seven Kingdoms Gameglobe Gate To Heavens Gates of Andaron Gatheryn Gauntlet Gekkeiju Online Ghost Online Ghost Recon Online Gladiatus Glitch Global Agenda Global Soccer Gloria Victis Glory of Gods GoGoRacer Goal Line Blitz Gods and Heroes GodsWar Online Golemizer Golf Star GoonZu Online Graal Kingdoms Granado Espada Online Grand Chase Grand Fantasia Grepolis Grimlands Guild Wars Guild Wars 2 Guild Wars Factions Guild Wars Nightfall H1Z1 Habbo Hotel Hailan Rising HaloSphere2 Haven & Hearth Hawken Hearthstone: Heroes of Warcraft Helbreath Hellgate Hellgate: London Hello Kitty Online Hero Online Hero Zero Hero's Journey Hero: 108 Online HeroSmash Heroes & Generals Heroes in the Sky Heroes of Bestia Heroes of Gaia Heroes of Might and Magic Online Heroes of Thessalonica Heroes of Three Kingdoms Heroes of the Storm Hex Holic Online Hostile Space Hunter Blade Huxley Illutia Illyriad Immortals USA Imperator Imperian Inferno Legend Infestation: Survivor Stories Infinite Crisis Infinity Infinity Iris Online Iron Grip: Marauders Irth Worlds Island Forge Islands of War Istaria: Chronicles of the Gifted Jade Dynasty Jagged Alliance Online Juggernaut Jumpgate Jumpgate Evolution KAL Online Kakele Online Kaos War Karos Online Kartuga Kicks Online King of Kings 3 Kingdom Heroes Kingdom Under Fire II Kingdom of Drakkar Kingory Kings and Legends Kings of the Realm KingsRoad Kitsu Saga Kiwarriors Knight Age Knight Online Knights of Dream City Kothuria Kung Foo! Kunlun Online L.A.W. LEGO Universe La Tale Land of Chaos Online Landmark Lands of Hope: Phoenix Edition LastChaos League of Angels League of Legends - Clash of Fates Legend of Edda: Vengeance Legend of Golden Plume Legend of Katha Legend of Mir 2 Legend of Mir 3 Legendary Champions Lego Minifigures Online Life is Feudal Light of Nova Lime Odyssey Line of Defense Lineage Lineage Eternal: Twilight Resistance Lineage II Linkrealms Loong Online Lord of the Rings Online Lords Online Lost Saga Lucent Heart Lunia Lusternia: Age of Ascension Luvinia World
M-Q
MU Online Mabinogi Maestia: Rise of Keledus MagiKnights Magic Barrage Magic World Online Manga Fighter MapleStory Martial Heroes Marvel Heroes Marvel Super Hero Squad Online Marvel: Avengers Alliance MechWarrior Online Megaten Meridian 59 : Evolution Merlin MetalMercs Metaplace Metin 2 MicroVolts Midkemia Online Might & Magic Heroes: Kingdoms MilMo Minecraft Mini Fighter Minions of Mirth Ministry of War Monato Esprit Monkey King Online Monkey Quest Monster & Me Monster Madness Online MonsterMMORPG Moonlight Online: Tales of Eternal Blood Mordavia Mortal Online Mourning My Lands Myst Online: URU Live Myth Angels Online Myth War Myth War 2 Mytheon Mythic Saga Mythos N.E.O Online NIDA Online Nadirim Naviage: The Power of Capital Navy Field Need for Speed World Nemexia Neo's Land NeoSteam Neocron Nether Neverwinter Nexus: The Kingdom Of The Winds NinjaTrick NosTale Novus Aeterno Oberin Odin Quest Odyssey RPG Ogre Island Omerta 3 Online Boxing Manager Onverse Order & Chaos Online Order of Magic Original Blood Origins Return Origins of Malu Orion's Belt Otherland Forums OverSoul Overkings Oz Online Oz World Pandora Saga Pantheon: Rise of the Fallen Panzar Parabellum Parallel Kingdom Parfait Station Path of Exile Pathfinder Online Perfect World Perpetuum Online Phantasy Star Online 2 Phantasy Star Universe Phoenix Dynasty Online Phylon Pi Story Picaroon Pirate Galaxy Pirate Storm Pirate101 PirateKing Online Pirates of the Burning Sea Pirates of the Caribbean Online Pixie Hollow Planeshift Planet Arkadia Planet Calypso PlanetSide 2 Planetside Planets³ Playboy Manager Pocket Legends Pockie Ninja Pockie Pirates Pockie Saints PoxNora Prime World Prime: Battle for Dominus Priston Tale Priston Tale II Prius Online Project Blackout Project Powder Project Titan Forums Project Wiki Puzzle Pirates Quickhit Football
R-S
R2 Online RAN Online RF Online ROSE Online Rage of 3 Kingdoms Ragnarok Online Ragnarok Online II RaiderZ Rakion Rappelz RappelzSEA Ravenmarch Realm Fighter Realm of the Mad God Realm of the Titans Realms Online Reclamation Red Stone Red War: Edem's Curse Regnum Online Remnant Knights Renaissance Repulse Requiem: Memento Mori Rift RiotZone Rise Rise of Dragonian Era Rise of Empire Rise of the Tycoon Rising of King Risk Your Life Rivality Rockfree Rohan: Blood Feud Role Play Worlds Roll n Rock Roma Victor Romadoria Rosh Online Roto X Rubies of Eventide Ruin Online Rumble Fighter Runes of Magic Runescape Rust Rusty Hearts Ryzom S4 League SAGA SD Gundam Capsule Fighter Online SMITE SUN Sagramore Salem SaySayGirls Scarlet Blade Scions of Fate Seal Online: Evolution Second Life Secret of the Solstice Seed Serenia Fantasy Seven Seas Saga Seven Souls Online Sevencore Shadow of Legend Shadowbane Shadowrun Online Shaiya Shards Online Shattered Galaxy Sho Online Shot Online Shroud of the Avatar SideQuest Siege on Stars Sigonyth: Desert Eternity Silkroad Online Skyblade Skyforge SmashMuck Champions Smoo Online Soldier Front Soul Master Soul Order Online Soul of Guardian Space Heroes Universe Sparta: War of Empires Spellcasters Sphere Spiral Knights Spirit Tales Splash Fighters Squad Wars Star Citizen Star Sonata 2 Star Stable Star Supremacy Star Trek Online Star Trek: Infinite Space Star Wars Galaxies Star Wars: Clone Wars Adventures Star Wars: The Old Republic StarQuest Online Stargate Worlds Starlight Story Starpires State of Decay SteelWar Online Stone Age 2 Stormfall: Age of War Storybricks Stronghold Kingdoms Sudden Attack Supremacy 1914 Supreme Destiny Sword Girls Sword of Destiny: Rise of Aions SwordX Swords of Heavens Swordsman
T-Z
TERA TS Online Tabula Rasa Tactica Online Tales Runner Tales of Fantasy Tales of Pirates Tales of Pirates II Tales of Solaris Talisman Online Tamer Saga Tank Ace Tantra Online Tatsumaki: Land at War Terra Militaris TerraWorld Online Thang Online The 4th Coming The Agency The Aurora World The Black Watchmen The Chronicle The Chronicles of Spellborn The Crew The Division The Hammers End The Legend of Ares The Lost Titans The Matrix Online The Mighty Quest for Epic Loot The Missing Ink The Mummy Online The Myth of Soma The Pride of Taern The Realm Online The Repopulation The Secret World The Sims Online The Strategems The West Theralon There Therian Saga Thrones of Chaos Tibia Tibia Micro Edition Tiger Knight Titan Siege Titans of Time Toontown Online Top Speed Topia Online Torchlight Total Domination Transformers Universe Traveller AR Travia Online Travian Trials of Ascension Tribal Hero Tribal Wars Tribes Universe Trickster Online Trove Troy Online True Fantasy Live Online Turf Battles Twelve Sky Twelve Sky 2 Twilight War Tynon U.B. Funkeys UFO Online URDEAD Online Ultima Forever: Quest for the Avatar Ultima Online Ultima X: Odyssey Ultimate Naruto Ultimate Soccer Boss Uncharted Waters Online Undercover 2: Merc Wars Underlight Unification Wars Universe Online Utopia Valkyrie Sky Vampire Lord Online Vanguard: Saga of Heroes Vanquish Space Vector City Racers Vendetta Online Victory - Age of Racing Vindictus Virtonomics Vis Gladius Visions of Zosimos VoidExpanse Voyage Century Online W.E.L.L. Online WAR (Warhammer Online) WAR2 Glory WYD Global Wakfu War Thunder War of 2012 War of Angels War of Legends War of Mercenaries War of Thrones War of the Immortals WarFlow Waren Story Wargame1942 Warhammer 40,000: Eternal Crusade Warhammer 40K: Dark Millennium Online Warhammer Online: Wrath of Heroes Warkeepers Warrior Epic Wartune WebLords Wild West Online WildStar Wind of Luck WindSlayer 2 Wings of Destiny Wish Wizard101 Wizardry Online Wizards and Champions Wonder King Wonderland Online World Golf Tour World of Battles World of Darkness World of Heroes World of Kung Fu World of Pirates World of Speed World of Tanks World of Tanks Generals World of Warcraft World of Warplanes World of Warships World of the Living Dead WorldAlpha Wurm Online Xenocell Xiah Xsyon Xulu YS Online Yitien ZU Online Zentia Zero Online Zero Online: The Andromeda Crisis Zodiac Online Zombies Ate My Pizza eRepublik

MMORPG.com Discussion Forums

Camelot Unchained

Camelot Unchained 

General Discussion  » Is the custom engine an unnecessary risk for a problem that does not yet exist?

3 Pages « 1 2 3 Search
60 posts found
  tlear

Novice Member

Joined: 12/15/07
Posts: 143

4/05/13 10:07:37 PM#41
BTW there is a another reason to build one.. lets say CU is moderately succesful well now you have somethign you can license to people, it will be special purpose but since nobody else has it you can charge decent amount for it
  PRX_sklurb

Novice Member

Joined: 2/28/13
Posts: 167

If you can't do something well, enjoy doing it poorly.

4/05/13 10:13:45 PM#42
Originally posted by Hokibukisa

I have to say that what andrew meggs found as cool, making his own graphics engine, I think its solving a problem that doesn't exist and is an unnecessary risk.

 

There are entire companies that devote their whole existance to making videogame engines and fine tuning them. If you use their engines, you get to upgrade your videogame to the next big improvements they make with future hardware. Nvidia/Ati might invent some new great technologies and those engine developing companies will jump on the ball and take advantage of them.

 

Whereas when andrew meggs "finishes" his little engine experiment will he continue to fine tune it? To keep it updated with the times? Easy to work with so that content designers and artists can easily and joyfully work with it?

And in years down the road when the creme hardware is now considered old, will CSE be the ones to constantly be tuning and updating this custom engine?

 

And remind me again why one of the rocksolid engines aren't good enough? Because they don't handles thousands of players on the screen at the same time? This isn't eve online is it? The game will have servers with character limits will it not? People will expect a degraded experience when hundreds of characters are on the screen at the same time. This happens in PS2 at a much lower threshold than what we saw on megg's screen during his demo. Players are ok with it. It is expected.

 

Most of all for why I don't like this idea is, I see it as wasting valuable resources on a problem that doesn't exist, compromising on engine quality/support for a problem that doesn't exist, and where an established and fine-tuned  liscensed engine is relatively future-proof and forward thinking, making your own engine is not.

 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?

Have you played an RvR game before that gave you staggering lag or major culling issues when massive amounts of people were onscreen at once?  Not trolling, I am genuinely curious.

CLICK: »»» http://CamelotUnchained.net «««

  Hokibukisa

Novice Member

Joined: 3/25/06
Posts: 190

 
OP  4/05/13 10:25:09 PM#43
Originally posted by gylnne
Originally posted by Hokibukisa

I have to say that what andrew meggs found as cool, making his own graphics engine, I think its solving a problem that doesn't exist and is an unnecessary risk.

 

There are entire companies that devote their whole existance to making videogame engines and fine tuning them. If you use their engines, you get to upgrade your videogame to the next big improvements they make with future hardware. Nvidia/Ati might invent some new great technologies and those engine developing companies will jump on the ball and take advantage of them.

 

Whereas when andrew meggs "finishes" his little engine experiment will he continue to fine tune it? To keep it updated with the times? Easy to work with so that content designers and artists can easily and joyfully work with it?

And in years down the road when the creme hardware is now considered old, will CSE be the ones to constantly be tuning and updating this custom engine?

 

And remind me again why one of the rocksolid engines aren't good enough? Because they don't handles thousands of players on the screen at the same time? This isn't eve online is it? The game will have servers with character limits will it not? People will expect a degraded experience when hundreds of characters are on the screen at the same time. This happens in PS2 at a much lower threshold than what we saw on megg's screen during his demo. Players are ok with it. It is expected.

 

Most of all for why I don't like this idea is, I see it as wasting valuable resources on a problem that doesn't exist, compromising on engine quality/support for a problem that doesn't exist, and where an established and fine-tuned  liscensed engine is relatively future-proof and forward thinking, making your own engine is not.

 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?

I think you just answered your own question. Are not the licensing fees on using someone else's engine a large cost? You also seem to think Andrew is stupid.

Maybe look up Andrew's bio and realize this guy knows his stuff?

Don't put words in peoples mouths, the people on this forum are intellegent, this isn't fox news.

My doubt is whether andrew can:

1) dedicate enough of his time to maintain a custom engine over the years to come, doing his due dilligence to keep the game up to date with technology and..

2) Create the quality, powerful tools with which to work on the game for the various content systems. As well and efficient as the tools for other engines and..

3) Guarantee to stay with CSE over the next several years in order to maintain his engine.

  Corinthian-X

Novice Member

Joined: 3/03/13
Posts: 87

4/05/13 10:29:34 PM#44
Originally posted by Hokibukisa
Originally posted by gylnne
Originally posted by Hokibukisa

I have to say that what andrew meggs found as cool, making his own graphics engine, I think its solving a problem that doesn't exist and is an unnecessary risk.

 

There are entire companies that devote their whole existance to making videogame engines and fine tuning them. If you use their engines, you get to upgrade your videogame to the next big improvements they make with future hardware. Nvidia/Ati might invent some new great technologies and those engine developing companies will jump on the ball and take advantage of them.

 

Whereas when andrew meggs "finishes" his little engine experiment will he continue to fine tune it? To keep it updated with the times? Easy to work with so that content designers and artists can easily and joyfully work with it?

And in years down the road when the creme hardware is now considered old, will CSE be the ones to constantly be tuning and updating this custom engine?

 

And remind me again why one of the rocksolid engines aren't good enough? Because they don't handles thousands of players on the screen at the same time? This isn't eve online is it? The game will have servers with character limits will it not? People will expect a degraded experience when hundreds of characters are on the screen at the same time. This happens in PS2 at a much lower threshold than what we saw on megg's screen during his demo. Players are ok with it. It is expected.

 

Most of all for why I don't like this idea is, I see it as wasting valuable resources on a problem that doesn't exist, compromising on engine quality/support for a problem that doesn't exist, and where an established and fine-tuned  liscensed engine is relatively future-proof and forward thinking, making your own engine is not.

 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?

I think you just answered your own question. Are not the licensing fees on using someone else's engine a large cost? You also seem to think Andrew is stupid.

Maybe look up Andrew's bio and realize this guy knows his stuff?

Don't put words in peoples mouths, the people on this forum are intellegent, this isn't fox news.

My doubt is whether andrew can:

1) dedicate enough of his time to maintain a custom engine over the years to come, doing his due dilligence to keep the game up to date with technology and..

2) Create the quality, powerful tools with which to work on the game for the various content systems. As well and efficient as the tools for other engines and..

3) Guarantee to stay with CSE over the next several years in order to maintain his engine.

Obviously Andrew is the only one that can give you answers to those specific questions, but as far as #3 he is co-founder of CSE, so I'd say he is very likely to be a part of the team for awhile.

  skyexile

Novice Member

Joined: 8/14/07
Posts: 701

4/05/13 10:47:07 PM#45


Originally posted by Hokibukisa


 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?


Mr Kokibukisa, do you know how much money it costs to buy a AAA commercial graphics engine? I give you a figure range, it has 7 digits.

SKYeXile
TRF - GM - GW2, PS2, WAR, AION, Rift, WoW, WOT....etc...
Future Crew - High Council. Planetside 1 & 2.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

4/05/13 10:49:47 PM#46
Originally posted by Stromm
Originally posted by Quizzical
Originally posted by Kuppa
And to all the folks talking about the gw2 culling issue, it wasn't a graphical problem it was netcode.

Guild Wars 2 still has a variety of culling bugs, most or all of which are graphical problems.  They just fixed one particular culling bug that was network-related.

Culling shouldn't be a dirty word in game engines.  Any respectable game engine will cull things in a bunch of different places for a bunch of different reasons.  Your performance will be absolutely terrible if you don't.  The basic principle is that if you can figure out that continuing to process some data won't affect the final image that appears on the screen, then you cull it--that is, you stop processing that data.  You do that CPU-side for several different reasons, and then GPU-side at several different places in the graphics pipeline.

Culling only becomes a bug if you do it improperly, and cull something that should have appeared on the screen.

Culling is a tool. Like all tools if you use it incorrectly you're not going to get a good result.

Also, I'm not a game dev (I do Enterprise ERPs and DW/BI), but the gfx engine is only one part of the client. If they choose to go custom, they are taking on Networking/Comms, data management, UI's, asset formats and related tools, debug/profiling tool development, distribution/patching and packaging, version control, Customer Service interfaces, logging, web interfaces, 3dMax/Maya plug-ins, scripting engines, etc etc etc. You're in the industry, is that not accurate? Seems to me that is a LOT of re-inventing the wheel for a small team on a small budget.

Some things are 10 lines of code here, 50 lines of code there, 300 lines of code for this, 150 lines of code for that, and not a big deal.  Some things have code that isn't much harder to type out than paragraphs of a forum post.  Even if you make a list of 50 things that you have to do, if none of them are very hard, then doing all 50 doesn't add up to something impractical, either.  Other things are 10,000 lines of spaghetti code if you're good, and much, much worse if you're not.  That's the sort of thing that makes you ask, "Do I really want to do this feature?"  And sometimes it can be hard to tell what is what until you actually try to do it yourself.

And some things can easily be very simple or a complete mess depending on how efficient you are.  I had one function in my game engine that was once about 1500 lines of code, on top of calling a number of other very messy functions to do various things.  After a series of simplifications, it's now under 60 lines of code and the only external functions it calls are some very simple things that are only a few lines each.

Furthermore, some things that would be easy if you built the game around them become nearly impossible if you want to tack them on to some other game engine that isn't built for them.  For example, if you want to be able to have 100 players moving around on your screen at a time and still make the game run smoothly on modern low-end hardware, it's easy to do if that's your top priority.  The character models won't be very detailed (e.g., 2D sprites with a few frames of animation each can surely work; rudimentary 3D models with few vertices and few, low resolution textures probably can, too), and player movement won't be updated from the server very often, but if you build the game around it, you can make it work and it's fine.  If you have a semi-turn based game where players can only move at most once every five seconds anyway, then keeping 100 players updated of what everyone else is doing becomes practical.

If, on the other hand, you take an existing game engine that is designed with very good looking models in mind and never meant to show more than 20 characters on a screen at a time and want to modify that to allow 100 players running around at once on lower end hardware, it's going to be a complete nightmare.  You'll probably be better off scrapping large swaths of the code and redoing them from scratch than trying to modify code that isn't even trying to do what you're looking for.

-----

The basic principle is that, if you need to do exactly the same thing that lots of other games need to do, then you can probably find or license something to do it for you.  If you want to do something different, even if it's kind of similar to what a lot of other games do, then you'll have to code it yourself.

Some things intrinsically have to be different from game to game, and you're going to have to do that on your own.  Some things are sufficiently performance-sensitive that, even if you could license code to do it for you, it's a bad idea, as it won't be optimized for your particular game, so it will kill your performance.  Some things are simple enough to do from scratch yourself that there's no real point in looking for an external solution.  And some things make a ton of sense to either find some free code somewhere or license something to do what you want.

To answer your question directly, no, I don't work in the gaming industry.  My real-life situation is complicated at the moment.  I have written my own game engine basically from scratch, though.  Well, at least the graphics part of it; there's a lot of stuff still missing.  I was surprised that it was a lot easier than I expected.  I do some really unorthodox things, though, such as making all artwork procedurally generated, rather than having art assets stored on the hard drive and loaded as needed.

-----

Reinventing the wheel is a bad idea if it's a lot of work and the wheel you'd create isn't any better for your particular purpose than some other wheel that you could get cheaply elsewhere.  But if the tools that you could license can't do what you want, then maybe you shouldn't license them.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

4/05/13 10:58:44 PM#47
Originally posted by Hokibukisa

Don't put words in peoples mouths, the people on this forum are intellegent, this isn't fox news.

My doubt is whether andrew can:

1) dedicate enough of his time to maintain a custom engine over the years to come, doing his due dilligence to keep the game up to date with technology and..

2) Create the quality, powerful tools with which to work on the game for the various content systems. As well and efficient as the tools for other engines and..

3) Guarantee to stay with CSE over the next several years in order to maintain his engine.

1)  Who says you have to keep your game up to date with technology?  If the graphics API that you're using can do everything you want to do, then why do you need to change to a different API later?  What will graphics APIs five years from now be able to do that DirectX 11.1 and OpenGL 4.3 can't do today?  Probably order-independent transparency that isn't a complete nightmare to deal with, and a bunch of minor tinkering around the edges that gives you slightly more efficient ways to do old things.  Anything else?

For that matter, they're still launching DirectX 9.0c games today.  That's a lot more stifling today than DirectX 11 or OpenGL 4.3 is likely to be a decade from now.  Or even worse, have you seen what browser-based games are stuck with using?  Besides, OpenGL generally makes the new version a superset of the old, so if OpenGL 5 offers something new that you really want, you just write it in and it works.  With DirectX, it's a little more complicated.

2)  He doesn't need to create a bunch of general-purpose tools just as good for a bunch of other games that he's never heard of as game engines that one can license.  He only needs to create tools at least as good for the particular things that Camelot Unchained wants to do as the tools created by people who hadn't heard of the game and had no clue what games mechanics it wanted when they were creating the tools.  That's not a trivial thing to do, but neither is it outlandishly hard.

  Hokibukisa

Novice Member

Joined: 3/25/06
Posts: 190

 
OP  4/05/13 11:05:44 PM#48
Originally posted by skyexile

 


Originally posted by Hokibukisa

 


 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?


 

Mr Kokibukisa, do you know how much money it costs to buy a AAA commercial graphics engine? I give you a figure range, it has 7 digits.

That would be possible cost depending on the studio and liscense but this simply isn't true for a small studio. Every engine I've seen have very reasonable liscenses. Most get paid through royalties on earnings. While looking at costs you need ot keep in mind the cost of building your own, which believe it or not almost always costs more.

  Stromm

Apprentice Member

Joined: 4/14/06
Posts: 250

4/05/13 11:20:02 PM#49
Originally posted by Quizzical
Originally posted by Stromm
Originally posted by Quizzical
Originally posted by Kuppa
And to all the folks talking about the gw2 culling issue, it wasn't a graphical problem it was netcode.

Guild Wars 2 still has a variety of culling bugs, most or all of which are graphical problems.  They just fixed one particular culling bug that was network-related.

Culling shouldn't be a dirty word in game engines.  Any respectable game engine will cull things in a bunch of different places for a bunch of different reasons.  Your performance will be absolutely terrible if you don't.  The basic principle is that if you can figure out that continuing to process some data won't affect the final image that appears on the screen, then you cull it--that is, you stop processing that data.  You do that CPU-side for several different reasons, and then GPU-side at several different places in the graphics pipeline.

Culling only becomes a bug if you do it improperly, and cull something that should have appeared on the screen.

Culling is a tool. Like all tools if you use it incorrectly you're not going to get a good result.

Also, I'm not a game dev (I do Enterprise ERPs and DW/BI), but the gfx engine is only one part of the client. If they choose to go custom, they are taking on Networking/Comms, data management, UI's, asset formats and related tools, debug/profiling tool development, distribution/patching and packaging, version control, Customer Service interfaces, logging, web interfaces, 3dMax/Maya plug-ins, scripting engines, etc etc etc. You're in the industry, is that not accurate? Seems to me that is a LOT of re-inventing the wheel for a small team on a small budget.

Some things are 10 lines of code here, 50 lines of code there, 300 lines of code for this, 150 lines of code for that, and not a big deal.  Some things have code that isn't much harder to type out than paragraphs of a forum post.  Even if you make a list of 50 things that you have to do, if none of them are very hard, then doing all 50 doesn't add up to something impractical, either.  Other things are 10,000 lines of spaghetti code if you're good, and much, much worse if you're not.  That's the sort of thing that makes you ask, "Do I really want to do this feature?"  And sometimes it can be hard to tell what is what until you actually try to do it yourself.

And some things can easily be very simple or a complete mess depending on how efficient you are.  I had one function in my game engine that was once about 1500 lines of code, on top of calling a number of other very messy functions to do various things.  After a series of simplifications, it's now under 60 lines of code and the only external functions it calls are some very simple things that are only a few lines each.

Furthermore, some things that would be easy if you built the game around them become nearly impossible if you want to tack them on to some other game engine that isn't built for them.  For example, if you want to be able to have 100 players moving around on your screen at a time and still make the game run smoothly on modern low-end hardware, it's easy to do if that's your top priority.  The character models won't be very detailed (e.g., 2D sprites with a few frames of animation each can surely work; rudimentary 3D models with few vertices and few, low resolution textures probably can, too), and player movement won't be updated from the server very often, but if you build the game around it, you can make it work and it's fine.  If you have a semi-turn based game where players can only move at most once every five seconds anyway, then keeping 100 players updated of what everyone else is doing becomes practical.

If, on the other hand, you take an existing game engine that is designed with very good looking models in mind and never meant to show more than 20 characters on a screen at a time and want to modify that to allow 100 players running around at once on lower end hardware, it's going to be a complete nightmare.  You'll probably be better off scrapping large swaths of the code and redoing them from scratch than trying to modify code that isn't even trying to do what you're looking for.

-----

The basic principle is that, if you need to do exactly the same thing that lots of other games need to do, then you can probably find or license something to do it for you.  If you want to do something different, even if it's kind of similar to what a lot of other games do, then you'll have to code it yourself.

Some things intrinsically have to be different from game to game, and you're going to have to do that on your own.  Some things are sufficiently performance-sensitive that, even if you could license code to do it for you, it's a bad idea, as it won't be optimized for your particular game, so it will kill your performance.  Some things are simple enough to do from scratch yourself that there's no real point in looking for an external solution.  And some things make a ton of sense to either find some free code somewhere or license something to do what you want.

To answer your question directly, no, I don't work in the gaming industry.  My real-life situation is complicated at the moment.  I have written my own game engine basically from scratch, though.  Well, at least the graphics part of it; there's a lot of stuff still missing.  I was surprised that it was a lot easier than I expected.  I do some really unorthodox things, though, such as making all artwork procedurally generated, rather than having art assets stored on the hard drive and loaded as needed.

-----

Reinventing the wheel is a bad idea if it's a lot of work and the wheel you'd create isn't any better for your particular purpose than some other wheel that you could get cheaply elsewhere.  But if the tools that you could license can't do what you want, then maybe you shouldn't license them.

Thanks for the answer, and understand about the licencing. Guess we'll see how they fare when they start development.

  thubub

Novice Member

Joined: 12/11/07
Posts: 58

4/06/13 12:11:48 AM#50
Originally posted by Quizzical

There are really only three good reasons to license a game engine rather than building your own.

1)  You want to make a fairly generic clone game, so existing game engines will have nearly all of the capabilities that you need.

2)  You don't have anyone on staff capable of making a game engine.

3)  You need to have an early pre-alpha build that you can show quickly, to make it look like you're making progress.

Of course, #1 is a good reason to cancel the project outright rather than licensing the game engine, and #2 will greatly restrict what you can do with your game.

Every game engine is built to do particular things that the engine designers think that a lot of games will need.  If you want to go off the beaten path and do something unique, then no game engine will have the capabilities that you need built in.  At that point, you basically have three options.

1)  Abandon most of the cool things that you wanted to do with your game and settle for what off-the-shelf game engines can do.

2)  Write your own game engine.

3)  License a game engine, buy access to the full source code, and heavily modify it to do what you want.

I hope you're not advocating #1.  Because you should never advocate #1 as a gamer hoping someone will make cool games for you to play.  #1 is really only acceptable as a first project for an aspiring game designer to get his feet wet before moving on to something more ambitious.

That leaves us with making your own game engine or heavily modifying an existing one.  The latter option is expensive, however, and can easily cost more than making your own.

Remember that if you make your own game engine, then you just happen to have someone on staff who understands exactly how everything in it works:  the person who wrote the game engine in the first place.  If you license an existing game engine, you have to put so much work into figuring out exactly what it's doing so that you can optimize it for your particular game and change it to do what you need that it's far from clear that this will be less work than just making your own game engine.  Licensing a game engine certainly lets you get started faster, but it will slow you down later when you create bugs by modifying one part of a game engine while misunderstanding how it interacted with another.

-----

Making your own game engine isn't that expensive.  I read somewhere that Hero Engine has 60 shaders built in.  I haven't seen those 60 shaders, but a typical shader may be about 20 lines of code.  Of those 20 lines, maybe half will amount to declaring variables.  (More technically, declaring which uniforms the shader needs access to, which inputs it will read in from vertex data or a previous stage, and which outputs it will pass on to the next stage.)  So you've only got maybe 10 or so real functional lines of code.  Multiply that by 60 shaders and you have, well, not really all that much code.

And that's intrinsic to the way shaders are done.  You have to execute shaders hundreds of millions of times per second.  Now, that could be 10 million shader invocations per second for this shader, 50 million for that one, 100k for this other, and so forth.  But in total, you're easily looking at hundreds of millions of shader invocations per second.  If your shaders are 200 lines long, you have a problem.  You can have some longer shaders that don't get run that many times, so there isn't some fixed cap.  But most of your shaders are going to need to be short.

Now, that's not to say that writing shaders is easy.  While you might have 10 or so functional lines where the real computations are done, they're very dense lines.  For some purposes, you might have more comments than code.  And figuring out how to do the code is very mathematically intensive.  An excellent understanding of linear algebra and multivariable calculus is basically the entry level, you can't do anything without this for 3D graphics.  That's not "passed a class in it once".  That's "would have a good chance of acing a final that would be unreasonably difficult to give to normal students" worth of excellent understanding.  Well, you don't actually need everything from linear algebra and multivariable calculus, but you do need a good chunk of each.  And quite a bit of higher mathematics is useful to know, too.

Here, let me give you a quick example with the comments removed:

#version 420

layout(triangles, equal_spacing, ccw) in;
uniform vec3 moveVector;
uniform mat3 camMatrix;
uniform mat3 objMatrix;
uniform mat2x4 axes;
uniform vec4 persVector;
in mat3 tePosition[];
out vec3 gPosition;
out vec3 gNormal;
out vec2 gTexCoord;
out bool gFront;
void main() {
 vec4 faxes = axes[0];
 vec4 maxes = axes[1];
 vec3 pos = tePosition[0] * gl_TessCoord;
 pos.xy = normalize(pos.xy);
 gTexCoord = vec2(fma(pos.z, 0.5f, 0.5f), atan(-pos.x, pos.y) * 0.159154943f);
 float curveX = fma(fma(fma(fma(fma(faxes.z, pos.z, faxes.w), pos.z, maxes.x), pos.z, maxes.y), pos.z, maxes.z), pos.z, maxes.w);
 vec2 curveN = normalize(vec2(1.0f, -fma(fma(fma(fma(5.0f * faxes.z, pos.z, 4.0f * faxes.w), pos.z, 3.0f * maxes.x), pos.z, 2.0f  maxes.y), pos.z, maxes.z) / faxes.x));
 gNormal = camMatrix * (objMatrix * vec3(curveN.x * pos.x, pos.y, curveN.y * pos.x));
 gPosition = camMatrix * (objMatrix * vec3(fma(faxes.y * pos.x, curveN.x, curveX), faxes.y * pos.y, fma(faxes.x, pos.z, curveN.y * faxes.y * pos.x)) + moveVector);
 gl_Position = vec4(gPosition.xy * persVector.xy, fma(persVector.z, gPosition.z, persVector.w), -gPosition.z);
 gFront = (dot(gPosition, gNormal) < 0.0f);
}

If you can parse that, then good for you.  And if you can't, well, I probably wouldn't, either, if I hadn't written it.  Video cards have no clue what a shader is trying to do at a high level.  They just run the desired instructions as quickly as possible and let the programmer worry about whether it's what he wants.

Shaders are also very performance sensitive, so it's critical that you heavily optimize them to do exactly what you need and nothing more, and to do it as efficiently as possible.  Some chunks of code will only run once in a while, or even once per frame.  If those run a little slower than they could, oh well.  But when you need something to run many millions of times per second, taking a microsecond longer than necessary is a problem.

Now, you might say, why am I focusing on "shaders"?  What about the rest of the game engine?  You know what the technical name for the portion of a game engine that runs on the video card is?  Shaders.  Everything else runs on the CPU.

Now, there is a good chunk of work in setting up data on the CPU to pass to shaders, and in the rendering thread that directly passes that data to the video card.  For the latter, think thousands of lines of source code--as opposed to tens of thousands.  Most of what the rendering thread has to do isn't nearly as dense as shaders, though, and there is a lot of copy and paste.  Much of it is just passing through data set up by other threads.

So while writing a graphics engine isn't necessarily easy, neither do you need 10 employees working on it.  All you need is one good one.  For that matter, if you try having 10 people work on the DirectX/OpenGL and HLSL/GLSL portions of the game engine at once, they'll probably trip over each other so much that you just get a huge mess.  It's easy to have a bunch of people working in parallel on creating art assets.  The graphics engine part of a game, not so much.

There is the problem that artists can't really do much until a good chunk of the game engine is already done.  But that's easy enough to handle:  if you're going to make your own game engine for a game, you don't hire 50 artists the day you start work on the game.  That's as wasteful as hiring a bunch of customer service representatives a year before the beta starts.  You get the game engine in place with a handful of employees, and then you hire the artists later.  If you only have 3 or 5 employees for the first year, that's not outlandishly expensive, even on a $5 million budget with a game that will have dozens of employees by launch day.

-----

You might think, but wouldn't licensing a game engine get you a better quality engine, because you can license one from the people who are the very best at it, not just who you have on your staff?  But it's often the other way around.  The engine that they create for Camelot Unchained won't be nearly as good as, say, the Unity Engine, for the games that Unity is used for.  Other games will need lots of things in a game engine that your particular game doesn't.  If you're making an engine for one particular game, you include the features that your game needs, and not the features that you don't.  That lets you completely skip tons of stuff--and thereby avoid a bunch of unnecessary bloat.  Making an engine for a particular game is vastly less work than trying to make a general-purpose game engine.

Furthermore, there's a general principle that a given amount of effort to create a tool to do one particular thing will often get you something much better at that one particular thing than putting the same amount of effort into a general-purpose tool and using it for that one purpose.  If you compare some random tool to a Swiss Army Knife, the latter can do a bunch of things that the former can't.  But the Swiss Army Knife won't be as good of a screwdriver as a dedicated screwdriver that can't do anything else besides turn screws.  It won't be as good of a pair of scissors as a dedicated pair of scissors that can't do anything else besides cut flat surfaces between its blades.  It won't be as good at any particular purpose as a single-purpose tool built for that particular purpose.

Or to take another example, a CPU is a general purpose tool, and a GPU is more special purpose to handle specific types of computations.  A CPU can do all of the computations that a GPU can do.  You can write a software renderer that is fully OpenGL 4.3 compliant without even having the video card do any work other than pass through the completed image.  But you don't because it will kill your performance.  Even if you've got an extremely high end, $1000 CPU and a $70 budget gaming card, offloading work to the GPU properly might increase your frame rates by an order of magnitude.

In order for a game engine that you make from scratch to be better for your particular game than a game engine you could license, you don't need to have someone in-house who is just as good as the people who make off-the-shelf game engines.  You only need someone in-house who isn't really all that much worse than they are.  You'll get a ton of mileage out of being able to optimize for your particular game, rather than trying to create a bunch of general-purpose capabilities without knowing how games can use them.

 

So here is what will happen tomorow morning at the Camelot Unchained office.  Some poor sap will grab a cup of coffee, head over to the work station, pull up the mmorpg.com forum to see what is happening and read this thread.  That person will spit coffee all over their monitor as they read this and call an "emergency" meeting.  The jist of that meeting will be, "Why the hell would anyone want to make a game for these nerds!  SERIOUSLY!!  Your wall of text includes CODE!?!?!?  Let's go back to making ipod games where the customers say things like 'Look!  A shiny!'"

  Heartspark

Novice Member

Joined: 2/14/13
Posts: 69

4/06/13 2:07:41 AM#51

Last I checked Unity is a a free engine they are using (well they can pay $1800 for "expanded" version).   What Andrew was saying is he is making his own tools for it, not actually making a whole new engine.

Could be wrong here, but that is what I got out of the videos. 

Making game engines from scratch is very  time/cost consuming.

Heartspark: Animist rr12, bors, Lone Enforcer, Retired

Dranzerk: Berzerker (kay) retired
Dhei: Spiritmaster (Kay) retired
Goblinking : Hunter (Kay) retired
Moongoose: Shadowblade (Kay) retired

  Eunuchmaker

Novice Member

Joined: 10/08/07
Posts: 201

. . .

4/06/13 2:28:31 AM#52
Originally posted by thubub
Originally posted by Quizzical

There are really only three good reasons to license a game engine rather than building your own.

1)  You want to make a fairly generic clone game, so existing game engines will have nearly all of the capabilities that you need.

2)  You don't have anyone on staff capable of making a game engine.

3)  You need to have an early pre-alpha build that you can show quickly, to make it look like you're making progress.

Of course, #1 is a good reason to cancel the project outright rather than licensing the game engine, and #2 will greatly restrict what you can do with your game.

Every game engine is built to do particular things that the engine designers think that a lot of games will need.  If you want to go off the beaten path and do something unique, then no game engine will have the capabilities that you need built in.  At that point, you basically have three options.

1)  Abandon most of the cool things that you wanted to do with your game and settle for what off-the-shelf game engines can do.

2)  Write your own game engine.

3)  License a game engine, buy access to the full source code, and heavily modify it to do what you want.

I hope you're not advocating #1.  Because you should never advocate #1 as a gamer hoping someone will make cool games for you to play.  #1 is really only acceptable as a first project for an aspiring game designer to get his feet wet before moving on to something more ambitious.

That leaves us with making your own game engine or heavily modifying an existing one.  The latter option is expensive, however, and can easily cost more than making your own.

Remember that if you make your own game engine, then you just happen to have someone on staff who understands exactly how everything in it works:  the person who wrote the game engine in the first place.  If you license an existing game engine, you have to put so much work into figuring out exactly what it's doing so that you can optimize it for your particular game and change it to do what you need that it's far from clear that this will be less work than just making your own game engine.  Licensing a game engine certainly lets you get started faster, but it will slow you down later when you create bugs by modifying one part of a game engine while misunderstanding how it interacted with another.

-----

Making your own game engine isn't that expensive.  I read somewhere that Hero Engine has 60 shaders built in.  I haven't seen those 60 shaders, but a typical shader may be about 20 lines of code.  Of those 20 lines, maybe half will amount to declaring variables.  (More technically, declaring which uniforms the shader needs access to, which inputs it will read in from vertex data or a previous stage, and which outputs it will pass on to the next stage.)  So you've only got maybe 10 or so real functional lines of code.  Multiply that by 60 shaders and you have, well, not really all that much code.

And that's intrinsic to the way shaders are done.  You have to execute shaders hundreds of millions of times per second.  Now, that could be 10 million shader invocations per second for this shader, 50 million for that one, 100k for this other, and so forth.  But in total, you're easily looking at hundreds of millions of shader invocations per second.  If your shaders are 200 lines long, you have a problem.  You can have some longer shaders that don't get run that many times, so there isn't some fixed cap.  But most of your shaders are going to need to be short.

Now, that's not to say that writing shaders is easy.  While you might have 10 or so functional lines where the real computations are done, they're very dense lines.  For some purposes, you might have more comments than code.  And figuring out how to do the code is very mathematically intensive.  An excellent understanding of linear algebra and multivariable calculus is basically the entry level, you can't do anything without this for 3D graphics.  That's not "passed a class in it once".  That's "would have a good chance of acing a final that would be unreasonably difficult to give to normal students" worth of excellent understanding.  Well, you don't actually need everything from linear algebra and multivariable calculus, but you do need a good chunk of each.  And quite a bit of higher mathematics is useful to know, too.

Here, let me give you a quick example with the comments removed:

#version 420

layout(triangles, equal_spacing, ccw) in;
uniform vec3 moveVector;
uniform mat3 camMatrix;
uniform mat3 objMatrix;
uniform mat2x4 axes;
uniform vec4 persVector;
in mat3 tePosition[];
out vec3 gPosition;
out vec3 gNormal;
out vec2 gTexCoord;
out bool gFront;
void main() {
 vec4 faxes = axes[0];
 vec4 maxes = axes[1];
 vec3 pos = tePosition[0] * gl_TessCoord;
 pos.xy = normalize(pos.xy);
 gTexCoord = vec2(fma(pos.z, 0.5f, 0.5f), atan(-pos.x, pos.y) * 0.159154943f);
 float curveX = fma(fma(fma(fma(fma(faxes.z, pos.z, faxes.w), pos.z, maxes.x), pos.z, maxes.y), pos.z, maxes.z), pos.z, maxes.w);
 vec2 curveN = normalize(vec2(1.0f, -fma(fma(fma(fma(5.0f * faxes.z, pos.z, 4.0f * faxes.w), pos.z, 3.0f * maxes.x), pos.z, 2.0f  maxes.y), pos.z, maxes.z) / faxes.x));
 gNormal = camMatrix * (objMatrix * vec3(curveN.x * pos.x, pos.y, curveN.y * pos.x));
 gPosition = camMatrix * (objMatrix * vec3(fma(faxes.y * pos.x, curveN.x, curveX), faxes.y * pos.y, fma(faxes.x, pos.z, curveN.y * faxes.y * pos.x)) + moveVector);
 gl_Position = vec4(gPosition.xy * persVector.xy, fma(persVector.z, gPosition.z, persVector.w), -gPosition.z);
 gFront = (dot(gPosition, gNormal) < 0.0f);
}

If you can parse that, then good for you.  And if you can't, well, I probably wouldn't, either, if I hadn't written it.  Video cards have no clue what a shader is trying to do at a high level.  They just run the desired instructions as quickly as possible and let the programmer worry about whether it's what he wants.

Shaders are also very performance sensitive, so it's critical that you heavily optimize them to do exactly what you need and nothing more, and to do it as efficiently as possible.  Some chunks of code will only run once in a while, or even once per frame.  If those run a little slower than they could, oh well.  But when you need something to run many millions of times per second, taking a microsecond longer than necessary is a problem.

Now, you might say, why am I focusing on "shaders"?  What about the rest of the game engine?  You know what the technical name for the portion of a game engine that runs on the video card is?  Shaders.  Everything else runs on the CPU.

Now, there is a good chunk of work in setting up data on the CPU to pass to shaders, and in the rendering thread that directly passes that data to the video card.  For the latter, think thousands of lines of source code--as opposed to tens of thousands.  Most of what the rendering thread has to do isn't nearly as dense as shaders, though, and there is a lot of copy and paste.  Much of it is just passing through data set up by other threads.

So while writing a graphics engine isn't necessarily easy, neither do you need 10 employees working on it.  All you need is one good one.  For that matter, if you try having 10 people work on the DirectX/OpenGL and HLSL/GLSL portions of the game engine at once, they'll probably trip over each other so much that you just get a huge mess.  It's easy to have a bunch of people working in parallel on creating art assets.  The graphics engine part of a game, not so much.

There is the problem that artists can't really do much until a good chunk of the game engine is already done.  But that's easy enough to handle:  if you're going to make your own game engine for a game, you don't hire 50 artists the day you start work on the game.  That's as wasteful as hiring a bunch of customer service representatives a year before the beta starts.  You get the game engine in place with a handful of employees, and then you hire the artists later.  If you only have 3 or 5 employees for the first year, that's not outlandishly expensive, even on a $5 million budget with a game that will have dozens of employees by launch day.

-----

You might think, but wouldn't licensing a game engine get you a better quality engine, because you can license one from the people who are the very best at it, not just who you have on your staff?  But it's often the other way around.  The engine that they create for Camelot Unchained won't be nearly as good as, say, the Unity Engine, for the games that Unity is used for.  Other games will need lots of things in a game engine that your particular game doesn't.  If you're making an engine for one particular game, you include the features that your game needs, and not the features that you don't.  That lets you completely skip tons of stuff--and thereby avoid a bunch of unnecessary bloat.  Making an engine for a particular game is vastly less work than trying to make a general-purpose game engine.

Furthermore, there's a general principle that a given amount of effort to create a tool to do one particular thing will often get you something much better at that one particular thing than putting the same amount of effort into a general-purpose tool and using it for that one purpose.  If you compare some random tool to a Swiss Army Knife, the latter can do a bunch of things that the former can't.  But the Swiss Army Knife won't be as good of a screwdriver as a dedicated screwdriver that can't do anything else besides turn screws.  It won't be as good of a pair of scissors as a dedicated pair of scissors that can't do anything else besides cut flat surfaces between its blades.  It won't be as good at any particular purpose as a single-purpose tool built for that particular purpose.

Or to take another example, a CPU is a general purpose tool, and a GPU is more special purpose to handle specific types of computations.  A CPU can do all of the computations that a GPU can do.  You can write a software renderer that is fully OpenGL 4.3 compliant without even having the video card do any work other than pass through the completed image.  But you don't because it will kill your performance.  Even if you've got an extremely high end, $1000 CPU and a $70 budget gaming card, offloading work to the GPU properly might increase your frame rates by an order of magnitude.

In order for a game engine that you make from scratch to be better for your particular game than a game engine you could license, you don't need to have someone in-house who is just as good as the people who make off-the-shelf game engines.  You only need someone in-house who isn't really all that much worse than they are.  You'll get a ton of mileage out of being able to optimize for your particular game, rather than trying to create a bunch of general-purpose capabilities without knowing how games can use them.

 

So here is what will happen tomorow morning at the Camelot Unchained office.  Some poor sap will grab a cup of coffee, head over to the work station, pull up the mmorpg.com forum to see what is happening and read this thread.  That person will spit coffee all over their monitor as they read this and call an "emergency" meeting.  The jist of that meeting will be, "Why the hell would anyone want to make a game for these nerds!  SERIOUSLY!!  Your wall of text includes CODE!?!?!?  Let's go back to making ipod games where the customers say things like 'Look!  A shiny!'"

You know, I've often thought the same myself reading these forums.  Half of the people on here think they know what makes a good mmo, the other half think they're wrong, and neither side can even agree on what the common ground is, e.g., What is a sandbox?  LULZ

 

Yeah, I'd push out crappy, money-grabbing, make-a-quick-buck games too . . . less effort, more reward.

 

Man I love this site.

  waynejr2

Elite Member

Joined: 4/12/11
Posts: 3732

RIP City of Heroes!

4/06/13 2:38:27 AM#53
Originally posted by Hokibukisa
Originally posted by skyexile

 


Originally posted by Hokibukisa

 


 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?


 

Mr Kokibukisa, do you know how much money it costs to buy a AAA commercial graphics engine? I give you a figure range, it has 7 digits.

That would be possible cost depending on the studio and liscense but this simply isn't true for a small studio. Every engine I've seen have very reasonable liscenses. Most get paid through royalties on earnings. While looking at costs you need ot keep in mind the cost of building your own, which believe it or not almost always costs more.

 Please list these engines, and provide all the costing details for licensing them in the context of what CU is trying to do.  Tell us how each can provide the level of pvp numbers they are hoping for.

  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

4/06/13 10:31:40 AM#54
Originally posted by Heartspark

Last I checked Unity is a a free engine they are using (well they can pay $1800 for "expanded" version).   What Andrew was saying is he is making his own tools for it, not actually making a whole new engine.

Could be wrong here, but that is what I got out of the videos. 

Making game engines from scratch is very  time/cost consuming.

Game engines sometimes have what effectively amounts to a trial version, where you can use the engine for a small fee, but can't modify it yourself.  That's fine for a dinky little project where you're not trying to do anything remotely innovative, but not a serious option if you're trying to make a real commercial game.

The idea is to let you get started cheaply, so that you're a ways into the project when you discover something that you need the game engine to do but it can't.  At that point, vendor lock-in kicks in, and your choices are to pay what it costs to get access to the full source code or start over with a different game engine.  The former is expensive, and if you try the latter, you'll soon hit the same problem with the other engine you try.

If you want to make a serious commerical game and you want to license a game engine for it, then you need full access to the source code so that you can modify it however you like.  You need to plan on that right up front, and not assume that you can actually launch a game on a trial version of a game engine.  Getting the full source code that tends to be expensive.  I don't know what Unity charges for it, but it's presumably where they make their money.

  Thane

Hard Core Member

Joined: 8/14/03
Posts: 1864

I'm a leaf on the wind. Watch how I soar.

4/06/13 10:35:10 AM#55
Originally posted by Hokibukisa

I have to say that what andrew meggs found as cool, making his own graphics engine, I think its solving a problem that doesn't exist and is an unnecessary risk.

 

There are entire companies that devote their whole existance to making videogame engines and fine tuning them. If you use their engines, you get to upgrade your videogame to the next big improvements they make with future hardware. Nvidia/Ati might invent some new great technologies and those engine developing companies will jump on the ball and take advantage of them.

 

Whereas when andrew meggs "finishes" his little engine experiment will he continue to fine tune it? To keep it updated with the times? Easy to work with so that content designers and artists can easily and joyfully work with it?

And in years down the road when the creme hardware is now considered old, will CSE be the ones to constantly be tuning and updating this custom engine?

 

And remind me again why one of the rocksolid engines aren't good enough? Because they don't handles thousands of players on the screen at the same time? This isn't eve online is it? The game will have servers with character limits will it not? People will expect a degraded experience when hundreds of characters are on the screen at the same time. This happens in PS2 at a much lower threshold than what we saw on megg's screen during his demo. Players are ok with it. It is expected.

 

Most of all for why I don't like this idea is, I see it as wasting valuable resources on a problem that doesn't exist, compromising on engine quality/support for a problem that doesn't exist, and where an established and fine-tuned  liscensed engine is relatively future-proof and forward thinking, making your own engine is not.

 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?

if you are about to make a propper game, you use your own engine. quite simple.

"I'll never grow up, never grow up, never grow up! Not me!"

  SBE1

Novice Member

Joined: 6/05/06
Posts: 339

4/06/13 10:57:50 AM#56

Not sure what the heck the original poster is talking about.  I have yet to see an MMO game not completely drop FPS when there are like 50-100 players on the screen.  Most games become a slide-show at that point.  The reason is that almost every game engine is designed to render very good graphics with about 25-50 people.  There simply isn't a game engine that is designed to handle large scale battles.  So, if the vision of the game is large scale battles, why would you buy an engine (like say, the Hero Engine) that would make it impossible to do such a thing?  That's extremely dumb.   Ever try playin in Ilum on SWTOR with that Hero Engine?  Just terribad, which is why all the PvP now is instanced.

 

  Kuppa

Novice Member

Joined: 9/24/10
Posts: 3443

The problem with censorship is ********

4/08/13 10:54:08 AM#57
Originally posted by redcapp
Originally posted by Kuppa
And to all the folks talking about the gw2 culling issue, it wasn't a graphical problem it was netcode.

GW2 is exactly what I don't want to see, regardless of the culling.  All of your enemies are clones of one another.  You're not actually seeing the other player's avatar.  Totally ridiculous and a huge step backwards.

Where the heck did you get that idea?? It's not how it works.


  Hokibukisa

Novice Member

Joined: 3/25/06
Posts: 190

 
OP  4/08/13 7:14:46 PM#58
Originally posted by waynejr2
Originally posted by Hokibukisa
Originally posted by skyexile

 


Originally posted by Hokibukisa

 


 

With a proposed budget of $5mil, why the fuck is a tiny assed game studio making it's own graphics engine?


 

Mr Kokibukisa, do you know how much money it costs to buy a AAA commercial graphics engine? I give you a figure range, it has 7 digits.

That would be possible cost depending on the studio and liscense but this simply isn't true for a small studio. Every engine I've seen have very reasonable liscenses. Most get paid through royalties on earnings. While looking at costs you need ot keep in mind the cost of building your own, which believe it or not almost always costs more.

 Please list these engines, and provide all the costing details for licensing them in the context of what CU is trying to do.  Tell us how each can provide the level of pvp numbers they are hoping for.

The burden of proof / effort calling up each provider and finding out how much it would cost CSE, in order to say that it would be too expensive, goes on you, not me. Their websites (hero engine, unreal) say to call them for pricing. Having liscensed plenty of software and addons, my experience is they work with you to negotiate a reasonable price.

 

Of all the software that I have liscensed, making our own in-house solution for something you can get off the shelf is an order of magnitude (or several) more expensive.

CSE will have $5 million if funded.

$5 million is not a lot of money. A startup will burn through that i notime.

  tlear

Novice Member

Joined: 12/15/07
Posts: 143

4/09/13 12:03:03 AM#59
The only candidate that comes to mind is Lineage 2 engine you could/can have fight on order of 1k people in that game. I have no idea if it is licensable and what the cost would be.
  Quizzical

Guide

Joined: 12/11/08
Posts: 13305

4/09/13 9:27:50 AM#60
Originally posted by tlear
The only candidate that comes to mind is Lineage 2 engine you could/can have fight on order of 1k people in that game. I have no idea if it is licensable and what the cost would be.

The question isn't how many people can loosely be in the same battle.  The question is how many people can be fighting that are close enough that you need to draw them on your screen and the server needs to tell you what they're doing.  If game mechanics force players to spread out enough that even in a 1000 player battle, a given client never needs to be aware of more than 20 players, then for most purposes, the engine only needs to handle 20 players in a "battle".

3 Pages « 1 2 3 Search