Share this project

Done

Share this project

Done
Camelot Unchained is a counter-revolutionary RvR-focused MMORPG from Mark Jacobs and CSE set in a post-apocalyptic yet familiar world.
Camelot Unchained is a counter-revolutionary RvR-focused MMORPG from Mark Jacobs and CSE set in a post-apocalyptic yet familiar world.
14,873 backers pledged $2,232,933 to help bring this project to life.

Fast and Light: Meet the Engine - April 3, 2013

Posted by City State Entertainment (Creator)
1 like

Good afternoon from Andrew! Today’s Kickstarter update is a demo of some graphics tech. And it’s pretty neat, but more importantly it’s necessary. I want to talk a little about why that is. There’s a lot of good engine tech out there, so why roll our own?

First, to make something clear: We’re not going doing everything completely from scratch from the ground up! That’s would be, to put it mildly, suicidal. We’re using someone else’s physics engine. We’re using huge chunks of some very familiar open source for our UI. We’re using some industry-standard networking that allow us to run some well-known programs as part of our stack. We’re still evaluating our audio middleware, but we’re definitely using middleware. 

So what are the parts that we need to do ourselves? Basically, anything that involves scaling up to a whole lot of players at once. There are a lot of engines out there that can do a great job drawing around 100 characters at once, but then they start to lag. I’ve worked with a bunch of engines and/or middleware pieces, and there’s a common reason for that limit. They’re general-purpose tech. They have a lot of flexibility in what you can do with those 100 characters. The trouble is that every bit of flexibility has a tradeoff. In programming, especially optimized game engine programming, building in flexibility adds a cost in performance. There’s a cost to figuring out what you don’t want to do. There’s a cost to every polymorphic virtual function call just to figure out that “no, we don’t need this thing on this character at this time”. There’s a cost to generic data structures that can represent any custom possibility.

For games with 50-100 characters, that’s the right tradeoff. You can spend that time. Flexibility to do what you need, right out of the box, is worth a millisecond or two every frame. But what happens when you multiply that by 10? We’re not going for 50-100 characters in this game; we want to be EPIC. That was something we struggled with in Warhammer Online, where we inherited a renderering system and licensed someone else’s animation system and used a completely stock effects system. They all had great artist-friendly tools to bring whatever vision you had into the game, but by the time you got 200 characters going at once, the total overhead meant the game wasn’t running nearly as well as I would have liked. As I mentioned in the Foundational Principles, none of the shinies mean anything if the gameplay isn’t slick. We. Can. Do. Better.

What that means for us is that we need something purpose-built. We need tech defined not by all the things it can do, but by what we can leave out for this particular game. Think of it as tossing things overboard to lighten a ship, or taking the back seats out of a race car. We’re going to do one thing, but if that’s the only thing we need to do then we can do it really, really well. One of the other programmers here saw the “Electra 10000” demo and said, “I really want to see the code for that!”

The truth is, there’s almost no code to see. But the code that’s there is the right code. It’s a small, clean, straight line that does exactly what’s needed and absolutely no more. That’s part of why it’s feasible to do this ourselves. We don’t need to spend months writing hundreds of thousands of lines of flexible code. We have a clear vision of what we are and aren’t using for this game, and we just need a few smart people to write the little bit of code that we’ll actually use. I’ve spent enough years doing this, and learned enough about the right (and wrong!) ways to put those things together, that I believe we can do that.

But that’s a bold statement to make, so we also made a demo and a video to prove it. There’ll be more of these to come over the next month.

-Andrew

  •  project video thumbnail
    Replay with sound
    Play with
    sound

Francis courant likes this update.

Comments

Only backers can post comments. Log In
    1. Missing avatar

      William Reid on

      Woot looking forward to it!

    2. Nameless on

      Thanks for the update. I am glad you are focusing on getting it to run smooth before having it shinie with lots of bling! Big epic battles are where its at and a slideshow kills the experience.

    3. Missing avatar

      Nathanael on

      A lot of these comments are a bit ridiculous haha... Did you guys even watch the video? In the first few seconds he answered quite a few questions in the comments... Not everything will be in house. And they understand the idea of the game is the mass player battles. In other words they are thinking about it being able to handle the amount of players they'd like.

      Everyone at City State Entertainment... I love how transparent you are being with your development and hope you guys continue through ALL stages of game. Even beyond release. I plan to stay with you guys the whole way! Good luck on your Kickstart!

    4. KimGee on

      I was a bit disheartened to read some of the comments about this update. For me, the number one, most important thing I want the engine to do is to not choke with too many players on the map. If that means doing away with sparkly spell effects or making the character models much less complex, so be it. I accept that trade-off and I hope most of you do, as well. Great job, Andrew! Can't wait to see it in action!

    5. Nanulak on

      Would be cool to see two opposing armies rushing towards each other and then have the black rain from the 100 archers off screen fall into the fray.

    6. Jeremy Hinkle on

      Will we see a Mac client?

    7. Missing avatar

      Anonymous on

      I hope you're leveraging on open source for some components, like Bullet for physics, OpenAL for sound, ... keeps the cost down and it's proven tech.

    8. John (Rallo) on

      Thanks for the demo! Picking up on the pbaoe, (I had the same thought as AJ when I saw all of those "targets" bunched up)! Will we able to AOE as many of them as possible (i.e. only limits are area of effect type: target, cone, point blank, or other and spell range etc) or will AOE be limited to a certain number of targets (cough)? I'm hoping with the more robust engine we would not need to implore this (limited target) technique :)

    9. BoMbY on

      Thought a little about the collision detection: Could be really unpleasant with lots of people around you. If there will be a collision detection, there should be at least a decent push system as well (something like opposed strength checks, to push someone out of the way) - but this still wouldn't help if you're standing in the middle of a crowd.

    10. Wildbill (Bors/Mid) on

      nm...tablet browser fail. Will be great to see the models on that as well as some effects thrown around.

    11. Wildbill (Bors/Mid) on

      Hey is the black box at the bottom supposed to be the demo video or am I overlooking a link to it.

    12. Cody Loe on

      Keep it up guys! Cannot wait to see the CU models in action!

    13. Peter McKenzie (Mirelind Alb Merlin) on

      Nice demo, for a MASSIVE scale pvp game you need allies and enemies on the screen. Also you need it to be smooth. I have seen the recent pretty games and those with sweet looking environments. They get such bad frame rate drops on my system that i played DAOC on when i could afford a computer. Now days i don't have that cash to throw away on a system to meet those demands from tripple A games. So this is all really refreshing to hear. BIG TY to Andrew. Now i await to see the CU character models.

    14. Zachary Carter on

      I don't think this video shows us enough. I'm not really concerned with whether your rendering engine can handle rendering millions of animated polygons, most rendering engines these days can. I'll be convinced you guys have some decent home rolled tech when you slap in particle effects, client / server communication (and the network i/o that will accompany it), sounds, and all the other requirements the client will need to support.

    15. xavier muylaert on

      can't wait till january 2014 :)

    16. Patrick T. Marasco on

      Very exciting stuff! Glad to see the updates and hearing from you and your crew. Looking forward to more!

    17. idser on

      Looks great keep up the work. I have also have worked on game development kits. A lot in UDK work and some in Direct X. That video with that many models on looks great and it killing the notebook/Apple at the same time

    18. Missing avatar

      anthony cosentino on

      In theory 10,000 peeps in the same area is very awesome. I know that this is just in testing at the moment, my question is how will spell cast graphics, and other graphics interlaced into the game going to effect lag/mass battles and crashes? Being a player that likes to see my targets ignite and explode on impact I was just curious how this would be effected.

    19. Missing avatar

      david kerns on

      Yes, Mac client PLEASE!!

    20. Romiek(Romeo Geworkan) on

      Collision detection being an extra lvl of tactics in a rvr game so i eould love to see it implemented. I liked it alot in WAR. You got my vote!

    21. Jonathon Baxa on

      Please don't eliminate too much of the "pretty". And please tell me we won't be playing on highly generic looking characters. Thats one of my biggest fears of this game, that in 2013 we're going to have character models that look like League of Legends or Heroes of Newerth models.

      I know none of the character models have been finished or anything like that, and that its very early, and maybe I'm jumping to conclusions here, but there really hasn't been much clarification on how much "visual and environmental sacrifices" you're going to have to make here, and maybe you don't even know yet, which is understandable.

      In all 100% honesty it could be the best game ever, mechanics wise, but if we have to play it with models that look like League of Legends I will be utterly heartbroken. Please tell me I'm just being a bit paranoid lol.

    22. Jelle Bosma on

      I wonder how collision detection will turn out in practice. When roaming with a full group in RvR with a speeder class in your group, it might turn out quite a hassle being 'stuck' behind groupmates.

    23. BoMbY on

      @Coen: In theory this shouldn't be such a big problem anymore, because of compute add-on cards like Intel Xeon Phi or Nvidia Tesla. They can do about 1 to 2 TFLOPS each, and you can put several into one server.

      @Tim: I bet it will, because when it will be released in 2015 you can count the 32bit computers still remaining with one hand.

    24. Tim Rice on

      Any chance the game will be native 64bit?

    25. Missing avatar

      Michael Winslow on

      Is that a Macbook Pro he's working on?? If So, can we get a Native Mac Client for a change??

    26. Missing avatar

      Coen Elbersen on

      Impressive! Now you got me curious wether collision detection actually can be done server side on such a large scale...

    27. Missing avatar

      bruce sneddon on

      First chance for me to leave a comment here love the game engine but please please make the armour period realistic don't make the graphics like Japanese anime I want my tank to look like a medieval plate wearing knight I still play daoc and hate the way things like Texan hats are introduced into game for armsman to wear for gods sake check out war of the roses or assasins creed graphics like that please ok rant over excuse my punctuation and grammar writing on a I phone I know it's fantasy but make it Belivable fantasy x

    28. Missing avatar

      Mako482 on

      2015 can't come soon enough!

    29. Missing avatar

      Anthony Svingos on

      Awesome demo! It quite literally made me expel a nerdy giggle. Can't wait to see more!

    30. City State Entertainment Creator on

      [MJ] Great response to our first tech demo, thanks all! As to your questions/comments:

      @Brandon Barker - It gets ever better. Not too bad for less than a week's worth of coding. But then again, that's why he's Andrew.

      @Julian - Thank you.

      @Dusty - Thanks. FYI, that's a 2-year old MacBook.

      @Johan T. Raven - It's a pretty good start. As to running with actual models, well, Electra is a relatively low-poly model but there were 10K of her on the screen. :)

      @Yannick Van Broeck - Smooth gameplay needs smooth framerates an that is Andrew's main focus. That's why we started with this type of demo rather than using Unity, Unreal, etc. and putting a high poly model in there and then boasting about it. We need a very fast rendering engine geared to our type of game and that's why we did what we did. While we will show something in Unity in another demo, that was used so could test some early networked physics code.

      @Charles Remeikas - Andrew is awesome when he's talking about high-end engineer-type stuff, isn't he?

      @Joseph Zimmerman - No worries sir, we appreciate your backing us. Just help spread the word.

      @Frank A. King - And we will have a couple (at least) to show you.

      @Taylor Lemelin - TYVM. Hopefully we will continue to make your day for the next 29.

      @Drew - It's pretty good code, especially given the time he spent on it.

      @Luke A. Smith - CU won't look like Doom but it won't look like a Crytek game either. There are always trade-offs. We will happily trade a little bit of the pretty for a lot more of the "OMG, there are so many of them coming at me!" stuff.

      @Amber Curtis - Hey there Amber! Andrew says thanks as do I!

      @Nathan Pyle - We have to start somewhere and 10K models on the screen is a good start. :)

      @ Anders Kristensen - TYVM.

      @Josh Thatcher - LOL. Again, LOL. Well played sir!

      @Joel - TYVM. It's a good start and over the next 30 days Andrew will continue to iterate on it.

      @Joseph Chaney - Of course the engine will make adjustments on the fly, it has to if we want to maintain a high frame-rate. That is the absolute key to CU's success.

      @Chris Hiatt - Absolutely to optional settings. As to the models/style, we have our first pass to show our Kickstarters this week and we'll go from there.

      @Justin Bourgeois - Thanks, we will! Thank you for your support.

      @Adam St. Pierre - We'll just have to see what we can do about that, won't we?

      @Curtis D. Miller - He says you're welcome!

      @Jason - Thanks man, appreciate it.

      @Filth - It's a good start. The key is that our core rendering tech has to be lightning fast and then we build up from there. in terms of our network code, we have a fun little demo about that too but that isn't has technically impressive as what Andrew showed off today. It's fun, it's networked but since it was built on Unity, it isn't quite as awesome of a start.

      @SoCiAl DiStOrTiOn [TG] TYVM.

      @Negura - Thank you!

      @Michael Sarkissian - So nice you watched it twice! :)

      @Anders Kristensen - Yep. Applies to anyone in the industry. If you can't learn from the things you did wrong and grow from them, you won't succeed in development.

      @Christian DeMarco Wilson - Thank you!

      @Josh Taylor - It's a start. As I've said right from the beginning, it would have been so easy for us to cobble together a BS demo but that's not the way we wanted to go.

      @Brad Jenkins - Thanks, we appreciate it even more because it is a real tech demo.

      @oGGe - TYVM.

      @Mance Haines - Glad you liked it.

      @Lockinloaded - That was an older version of the demo, more is coming.

      @Altonymous - It is running natively under Windows 7 via BootCamp.

      @Rob Oglivy - 1K models of Electra, it holds nicely. We'll show more when we have our higher poly models in a later update.

      @Roq - Andrew is a great co-founder and as I've said elsewhere, there's is nobody I'd prefer to have handling the tech side of this studio.

      @Benjamin Stanley - As to creating your own content, depends on what you mean by that. As to getting your hands on the source, sorry, that's not an option.

      @Aaron Mulveney - 2 year old MacBook. :)

      @Maric - You will.

      @Dieedi Do - Everybody loves the ducks.

      @Amy Rankin - Well, more to come. :)

      @Daniel Faria - Gotta start somewhere.

      @Archie Sokolik - Bit too early for that but it's something we will discuss with our backers.

      @rexbinary - That model was designed for our iPad/Android game and the models for CU do not look athat way.

      @Eric Dovergne - Fortunately we won't have to worry about 10K players in one battle. :) That's why we wanted to show this demo first, overkill.

      @Alexander Jenner - LOL.

      Mark

    31. Missing avatar

      blackdaze on

      I know engines have a lot of issues and perks, definitely a sped up development time by using an out of box engine but I definitely notice the lag in those engines. Gamebyro is kind a name that scars my mind from DAoC (loved the game but the engine always felt clunky) but even 10+ years old I think it looks amazing, warhammer, fallout 3, oblivion, etc. The guys who made gemstone made the swtor engine which I thought was great but then again you never see those kinds of crowds in the game, they have instances zones. Guild Wars 2 I had really good experience and it was built to support huge hoards of mobs and it was fairly fluid for me. However, surprising but I always figured this game would be built with q custom engine, figure warhammer and vampire would have taught something :P

    32. BoMbY on

      I really hope they _don't_ build collision detection and hit detection and the like into the _client_. These things should be done on the server.

    33. Missing avatar

      Sean McDonald on

      Interesting and I';m glad you guys are lookking at many players on screen at once from teeh very beginning. 'm curious how it will hold up with things like ability lag etc. For example another PVP centric MMO just eliminated culling and you can now see all the players (if you're system is beefy enough to render them), mine is, but what we are now seeing is ability lag even though I'm surrounded by alot of people, 80+, and moving at 50-70 FPS, my character doesn't cast an ability for like 3-5 seconds. Time will tell, great start!

    34. Alexander Jenner on

      awesome update - but ne thing sprang into my mind seeing so many chars in such a close space:

      GET THE PBAOE STARTED! ;) ;)

    35. Solaris on

      I'm with Archie on collision detection. IMO RvR needs collision detection.

    36. Goras on

      Interesting preview of the engine and the massive multiplayer possibilities but are you sure that servers and internet connections could support that ?
      The other things have already been said. So, continue and show us real models ;p Please :)

    37. Skylar Kohagen on

      @Archie Sokolik

      It has been discussed, and is still up in the air! Visit the quakenet channel #camelotunchained also any of the communities.

    38. rexbinary on

      I know the model you used is from another game and is just a placeholder, but please.......NO CARTOON GRAPHICS!

    39. Archie Sokolik on

      I don't believe I've seen it asked, anywhere, yet... Collision Detection?

      There must be collision detection in CU, and as such, have you factored that into your engine's latency yet?

    40. Daniel Faria (Phoxx) on

      Can't wait to see it with some lighting and CU models instead of that cartoon avatar.

    41. Ice Queen on

      That's pretty nice, but I'm wondering would it be that smooth with say 400-1000 people on the same screen swinging weapons, arrows flying about, and spell effects bouncing about, seige weaponry{catapults/balistas}, crumbling walls, etc.

    42. Dieedi Do on

      okay, that's nice, but i think that everyone forget something...
      Mister Andrew, where are those little cute ducks ? Are there only reserved to Mark ? :p

      Anyway i'm really happy to see that sample of what you can do, and i'm eager to see what will be the CU models :)

    43. Solaris on

      Ooh I can't wait to see CU assets running on that script!

    44. Aaron Mulveney on

      Amazing start - all running on a mac book pro (likely quad core and middle of the road GPU as far as non-enthusiast GPU's are concerned?). In 3 years even budget computers will get amazing frames rates with this type of demo.

      As other have said, time will tell if the animations and network protocol can support actual GAMEPLAY with that many characters on the screen.

    45. Benjamin Stanley on

      I love this engine so far!

      Question - Will we be able to create our own content for Camelot Unchained? I know that a few MMOs do this (NeverWinter, WW2: Online, etc.)

      Question - Is there anyway that I can get my hands on this engine? I would pay more than my current pledge (25.00 USD) for this even if it is just to toy around with.

      Question - What middle ware are you using? Havok Cloth, Havok Destruction, etc.

    46. Roq on

      Great explanation Andrew! Thoroughly see now why you need to do custom graphics for combat interactions ... and I played Warhammer Online too :).

    47. Missing avatar

      Rob Ogilvy on

      This is really cool. I wonder how the framerate holds when it has to load 1000 models at once?

    48. Altonymous on

      Is that actively running in a virtual machine or is pre-recorded from a Windows machine?

    49. Missing avatar

      Lockinloaded on

      Finally an MMO that gets it! Crate something around the game, Instead of make the game around it, makes much more sense, maybe we can see some people doing some actions next time round, keep up the good work.