Share this project

Done

Share this project

Done
An RPG, RTS, and sandbox space exploration game all-in-one.  Explore, trade, build, and fight in a beautiful, procedural universe.
An RPG, RTS, and sandbox space exploration game all-in-one.  Explore, trade, build, and fight in a beautiful, procedural universe.
An RPG, RTS, and sandbox space exploration game all-in-one. Explore, trade, build, and fight in a beautiful, procedural universe.
5,449 backers pledged $187,865 to help bring this project to life.

Limit Theory Development Summary: May & June 2017

46 likes

Hey everyone!

May and June were uniquely busy months for LT, with some major and unprecedented changes to development that I’m excited to reveal to those who haven’t kept up with the dev logs :) Unfortunately, since they’ve been so busy, I fell a bit behind on the KS updates and devlogs, but am here to rectify that at once!

---

May saw the biggest change to LT’s development since the beginning: the team of LT programmers tripled in size! Yes indeed, where once there was but a lone coder, now there are three. This came about through a series of exceptional little coincidences. I used to think it impossible that I would find other developers who would be both capable of contributing and willing to work with a ‘doing it for the love of it’ budget. Turns out I was wrong...allow me to introduce the new team members!

[ Adam ]

Early in May, a highly-talented game/engine programmer who also works in the Louisiana Tech Park walked into my office and subtly inquired about a job. You will all come to know him as the other guy on the team who gets excited about spatial partitioning schemes, memory layouts of component systems, and C without the ++. We did a trial run to test the waters with respect to whether it would work, and within a week it was basically a no-brainer. I made him an offer (thankfully, like me, Adam’s primary concern is not money), and he accepted.

[ Sean ]

Over the past school year, I taught a programming class for high-schoolers at LSU every Sunday. During that time, I encountered a senior with a talent for learning quickly and ‘just getting it.' His performance in the competitions in which we participated was so impressive that when the class came to an end in May, I had a chat with him about interning with me and working on Limit Theory. Since he’s got a particularly-keen interest in AI, it was...an easy sell ;)

Old Roadblocks Meet New Weapons

Now, as for what this super-sized development team has been up to! For the most part, Adam and I have been collaborating on engine-level features in an attempt to lock the code on which LT rests once and for all. When we first got LT running on his machine, I was a bit horrified with the performance. Granted, I’ve let optimization slip out of focus lately, and he's not running the most powerful machine ever. Still, coming off of two years of trying to solve ‘FPLT,’ it wasn’t exactly comforting. It was clear that we needed to rein in the Lua and bring more of the code over to C.

To that end, we revisited many of the old performance bottlenecks and collaborated on new solutions to them. Our work yielded more than a little success, including an industrial-strength ECS, new battle-tested physics acceleration structures, and a LOT of features pulled over from Lua to C that have resulted in significant speed gains. I’m particularly excited about the ECS. I know I’ve belabored that point in the past, and we’re all getting tired of hearing those letters. Here’s the great news: our new ECS design seems to be the nail in the coffin! It’s multiple orders of magnitude faster than I thought possible. It blew my expectations clear out of the water (some reference: 10K objects being created and deleted per frame is absolutely no problem; managing 100K component-based objects whose memory layouts are specified at run-time is no problem…! Can you say…massive battles??). Honestly, it wouldn’t have been possible without Adam, as having two brain iterating on architectural ideas was the only way it happened. Expanding the team has already paid major dividends.

Let me emphasize how much our work paid off by stating clearly: FPLT is solved. We have successfully obtained tremendous performance with very high numbers of dynamic, non-hard-coded entities whose logic is defined in a high-level, easy-to-write language. C & LuaJIT was the winning lottery ticket. It’s an incredible relief to me! I can write gameplay code with the assurance that it won't be thrown away later. Major LTdev obstacle down!

Fast BSP Raycasts. Maybe a Little Too Fast...
Fast BSP Raycasts. Maybe a Little Too Fast...

 

The Birth of Lil'T

With our success in the performance department, we set out on a new task: a mini LT -- or, as Adam ingeniously dubbed it -- "Lil'T." Our goal is to take all the work we've done up to this point and build a small LT out of it, the central idea being that we do everything the way we will do it for release, which means, theoretically, no throw-away code. We're using the actual ECS, the actual physics, the actual AI, the actual modding system, and so on, locking in code as we go to ensure that irrevocable progress toward release is accrued at a steady rate.

Sean's Supremely-Satisfying Secret (AI) Sandbox

As for Sean, I’ve been working with him to get his obviously-powerful brain thinking about and solving the AI problems that need solved. To allow him to do so as effectively as possible, I built a small visualization program that’s driven by Lua, allowing him (or any of us) to quickly see the results of Lua code when we don’t need complex rendering. Since starting, Sean has already covered a lot of territory: the high-level LOD simulation, colony dynamics, universe/system/planet generation dynamics (and their relationship to colonies), colony market dynamics, etc. With the birth of the visualization program, he has moved into ‘low-level’ AI code, working on algorithms for path-finding, obstacle avoidance, formation cohesion, and more.

Visualization of Sean's Flow Fields, Used in AI Maneuvering
Visualization of Sean's Flow Fields, Used in AI Maneuvering

 

 

 Real Team, Real Tools

It’s worth mentioning that LT's general organization and development ecosystem have seen total overhauls, since my old one-man-dev setup wasn’t tractable for more than one dev. We have real version control, better project management tools, milestones with dates, task allocation, analytics…you know, all that stuff that fancy folk use!

All three of us have done more in the past two months than I can possibly squeeze into a KS update, so do check out the dev logs if you want more (oh, and enjoy the shiny new forum upgrade while you’re there! Nathan aka Talvieno and I spent quite some time on that...)

Shiny New Forum Upgrade is Shiny!
Shiny New Forum Upgrade is Shiny!

 

Featured: Nathan's Full-Featured LT Feature List

As a final note, Nathan and I have collaborated on a feature list that gives a rough, line-item overview of LT 1.0’s feature status. I’d like to bring attention to one element in particular, since it’s the sole element on the list that was promised during the KS but is unlikely to ship at release: the OS X build. For the moment, I'm going to have to postpone an OS X port until after LT 1.0 releases on PC and Linux. Several factors drove the decision, but ultimately it came down to time consumption. The OS X build became by far the most cumbersome to support, up to the point that day-one Mac support no longer made sense. This doesn't mean that there won't be an OS X port at all, just that it will come later. (Day-one Linux support is still very much guaranteed.)

---

Sean and I both just finished volunteering at a three-week-long summer camp that teaches code to high-schoolers (it’s part of the same program through which I discovered Sean!) The reason for this update’s lateness is, in fact, the remarkable lack of time induced by having to prepare lessons and coding projects for the students. As of this morning, however, we’re both back in the office and pumping out LT code.

Thank you all for your patience in waiting for this update; I hope the news is as exciting to you all as it has been for me. Since July will be comparatively light on such news, I’m going to plan on rolling July and August together into one update as I did with June and July, after which we’ll resume the usual monthly schedule.

Thanks :)

~The LTeam

PS ~ Although not as visually exciting as usual, you can find a gallery of a few more screenshots of the physics and AI work here!

Gratuitous Cool Screenshot, Demonstrating that Adam is as OCD About Performance as I Am!
Gratuitous Cool Screenshot, Demonstrating that Adam is as OCD About Performance as I Am!

 

Magnus Skarvøy, Jörn Huxhorn, and 44 more people like this update.

Comments

Only backers can post comments. Log In
    1. Nathan Weeks Collaborator on August 17

      @Victor Correia - Sorry I'm a bit late on this. I was originally expecting Josh to give a response, as I'm not actually sure whether the Metal API is being considered. I'm glad you mentioned it, though, as I can now bring it to Josh's attention (if it hasn't already been considered)! Hopefully it will help in our struggle toward making LT performant enough on MacOS!

    2. Victor Correia on August 3

      @Nathan Weeks : Regarding this statement "particularly their outdated support of OpenGL", is using the Metal API being considered?
      I would prefer to wait a a little longer if LT performance was improved using the Metal API.
      UE4 and Unity 5 appear to be leveraging this API on the macOS, I am assuming it is to eck out every last drop of performance from the GPU.

    3. Missing avatar

      Kaeroku on August 1

      You keep making moves that absolutely need to be made. It took you a long time, Josh, but you're getting the help you need and taking responsibility for the promises you make - and *delivering.*

      This is very reassuring. Thank you again, keep up the good work!

    4. JC Ford on July 29

      @ Peter Kersbergen - what a very selfish and narrow minded post.

    5. Missing avatar

      Robert Silesius on July 29

      This is surprising and impressive to read. I wonder which will be completed first, this or Star Citizen? ;)

      I know the videos took too much to produce, but perhaps one per year would be possible?

      I'm usually sour about uncompleted Kickstarters, but in this case I think I've gotten my money's worth just from the dev updates (similar to Double Fine). It's been (and continues to be) a fascinating process, and if nothing else, Kickstarter is to thank for giving people who before only got information from magazines, now instead an unprecedented deep and detailed look in to the realities of game development.

    6. Peter Kersbergen on July 26

      Very happy with the drop in support for OS X at least at launch. Focusing on the relevant gaming platforms first and not compromising in order to support OS X is a really good decision.

      Whilst I appreciate this is disappointing for those who game on OS X, you really should get yourself a proper PC to begin with. You certainly can afford it if you bought anything Apple.

    7. Nathan Weeks Collaborator on July 25

      @Dax Mickelson - Josh does have an internal release date set, but we're avoiding announcing it to the public just yet in case he overshoots again (which has happened often enough at this point to not be unthinkable). The plan is to make it known only when we get very close to releasing beta access (within a month or so of release). This way, when we say it's coming out soon, there won't be any doubts.

      @JC Ford - We are absolutely NOT planning on dropping Mac support entirely. An OSX release will most likely be Josh's top priority after the game releases on Linux and Windows. At the moment the OSX build is projected to take multiple extra months to build and optimize. Delaying it to post-release will help the official release come out a little sooner, which is the only reason we're doing it like this; we're trying to shave as much time off of this already overly-long development process as possible.

      If you have no further interest in this project, PM me and we'll try to work something out.

      @Saluk - Quite so! Project management and teamwork are incredibly important. I'm happy with the way things are progressing now.

    8. Missing avatar

      Dax Mickelson on July 25

      My previous comment was too short and abrupt. I guess I was asking for a targeted release date. If you don't set a date to aim at, how will you ever know when you reach it? Showing us how cool all the tech is is great but many of us would also like to play with said tech too. It concerns me that you've given up on releasing anything and are just planning on forever tinkering in the "lab". I poke at you with this to help remind you to keep your customers' needs/wants in mind when sending updates. Give us a date to hope for, at least.

    9. JC Ford on July 25

      Mac OS - I really hope we're not going to end up with another Elite Dangerous, where they squeezed a Mac version out and then dropped support! Please look at Metal2 on the Mac and at least start planning for it!

    10. Missing avatar

      saluk on July 25

      Best update in, like, ever. Glad to hear there is a team now and you have a plan to start reeling things in. Lone wolf prototyping is great for seeing what new ideas you can bring to the table (see the buzz that was generated when the project started) but I think this project is a great example of why solid project management and teamwork are so important.

    11. JC Ford on July 25

      Really disappointed to hear that the Mac OS is no longer a priority and will not be supported at launch - it's the only reason I backed and have been following for this long!

    12. Thomas on July 25

      While a release date would of been welcome by now I'm happy to see these updates. Just knowing you are able to work on something you love and still working towards the goal you set out is good enough for me.

    13. Josh Pimental on July 24

      Well it's nice to see the team expanding. But a bit worried as even Star Citizen is coming together and has a decent road map of what's what and what's next.

    14. Greg Love on July 24

      Great stuff, keep going! Ignore the detractors, I don't care when the game is released, just as long as it happens ' some day' (plenty of other spacey games to keep me busy).

      Good luck!

    15. JimM on July 24

      Hello Josh and team. Can you publish another update with a Project Road Map? Nothing fancy, just a list of high-level milestones in the order they need accomplished. It would help give the project focus and reassure backers that there is a path to completion that is being followed. It's fine if one or more of those items becomes a bit of a rabbit hole, leading to "needs this...and this...and this", but at least everyone would have the project road-map and could see/celebrate "We've finished Task L!! On to Task M!" rather than letting everyone guess about what you (and now you-all) are doing. Given how many years this project has gone on, I don't think that's alot to ask.

      Also, keep a public list of "Version 2" items. That way, any "wouldn't it be cool if [fill in enormous development effort here]" conversations can be tabled and noted on that list to prevent the project from distraction and further delay.

    16. Missing avatar

      Dax Mickelson on July 24

      No mention of a release date yet? Are we still that far out?

    17. Bram Starink on July 24

      Keep up the awesome work guys!!

    18. Nathan Weeks Collaborator on July 24

      @Al Billings - it's not a decision made lightly. There are a number of factors that make development much more difficult on OSX - particularly their outdated support of OpenGL, as I understand it. We're certainly planning on releasing for your OS, but in the interest of releasing LT as soon as possible, it will come later. It would come about as late either way, the only real difference is that we're releasing for Linux and Windows sooner.

    19. Josh Parnell Creator on July 24

      @Al Billings - That makes me really sad to hear. I will do all that is in my power to make sure the OS X build comes as quickly as possible. Please don't mistake "some time after release" for "someday." You're not the only backer who is disappointed by this, so the OS X build will absolutely be prioritized above other post-release features.

      I will be sure to let everyone know if the situation changes, because it very well may, so please don't write LT off just yet.

    20. Akryum on July 24

      Amazing update! Welcome to new LTers! :)
      Very much still looking forward the release!

    21. Al Billings
      Superbacker
      on July 24

      I'm disappointed that I've LITERALLY been reading these updates for years now and you just dumped my OS as "some time after release."

      Thanks a lot.

    22. BruceP - Chameleon Prime
      Superbacker
      on July 24

      Welcome Adam and Sean! :)

    23. Josh Parnell Creator on July 24

      @Shane - I understand your sentiment; it's a long time to wait for a game. I look forward to LT exceeding those expectations of non-release :)

    24. Missing avatar

      Shane Gleeson on July 24

      Had completely forgotten about this. So glad I sold my stake on the forum for a nominal amount. Sorry, I don't doubt your enthusiasm, but I don't expect to ever see this being released. If it is ill gladly pay retail. Enjoy.