The Blog

State of the Engine

Since joining tri-Ace 2 years ago I have learned a lot about physically based rendering and from working on their in-house engine I have gleaned new ideas on engine design.  Not only that but I was building off a previous iteration of my engine which was mainly based on DirectX 9, meanwhile DirectX 11 has become mainstream.

It’s been over a year since I actually made the decision I am announcing now, but I decided that my current framework would be better served as a testbed for a newer and more advanced engine.  Since then I have not focused as heavily on optimizations as I normally would but instead on just the results.  I used that time to gain experience in different rendering techniques and post-processing techniques so that I could design a suitable next-iteration for the engine.

One thing that programmers should learn early is when to let go.  I want to make my engine more oriented towards DirectX 11, but instead of trying to salvage my efforts in my current project, I will be starting a new one, with the same name.  But planning to start over gives me a chance to keep using my current work for experimental purposes and experience.  I stopped worrying about performance over a year ago and started just focusing on implementing a range of techniques that would serve me well in my next iteration.

I will still continue to use my current engine for that purpose for a while; there are still a few rendering techniques I want to implement in order to get a good idea of the kind of rendering system I want to implement in the new design, which will be basically data-driven.

This does not mean I will be doing an entire rewrite.  Only a few parts of the engine need to be rewritten from scratch, so this decision does not set me back that far, but it will really help the final product, so it is the right decision to make.  Meanwhile I have made improvements on my graphics and more screenshots will soon be posted.



L. Spiro

About L. Spiro

L. Spiro is a professional actor, programmer, and artist, with a bit of dabbling in music. || [Senior Core Tech Engineer]/[Motion Capture] at Deep Silver Dambuster Studios on: * Homefront: The Revolution * UNANNOUNCED || [Senior Graphics Programmer]/[Motion Capture] at Square Enix on: * Luminous Studio engine * Final Fantasy XV || [R&D Programmer] at tri-Ace on: * Phantasy Star Nova * Star Ocean: Integrity and Faithlessness * Silent Scope: Bone Eater * Danball Senki W || [Programmer] on: * Leisure Suit Larry: Beach Volley * Ghost Recon 2 Online * HOT PXL * 187 Ride or Die * Ready Steady Cook * Tennis Elbow || L. Spiro is currently a GPU performance engineer at Apple Inc. || Hyper-realism (pencil & paper): || Music (live-played classical piano, remixes, and original compositions):

4 Awesome Comments So Far

Don't be a stranger, join the discussion by leaving your own comment
  1. Rupesh
    December 2, 2013 at 2:39 PM #

    Hi L.Spiro,

    I completely agree to what you said. In fact, am facing the same issue right now. Though not as extensive as your engine, my framework( I don’t call it an engine for obvious reasons ) was started with D3D9, and now D3D11 has become mainstream. I was actually reluctant to start making my engine D3D11 based as there are yet so many things that can be learned & achieved using d3d9. But looks like even i need to start learn to let things go at some moment :)

    The plan was the same, i.e. to use old framework as test bed, take the good design elements from it & start re-building with d3d11. The other thing that I might consider now is cross platform support (OpenGL) which I completely ignored in my earlier framework.

    Industry veteran like you as well face such issue so I can take learnings from you & move on :)

  2. Amro
    January 4, 2014 at 1:55 AM #

    Glad to see you’re back working on the engine. Don’t forget to let me know when it’s time to work on the editor! Good luck.

    • L. Spiro
      April 18, 2014 at 9:46 PM #

      You are going to love the new design of the engine, and by the time it is ready for you to work on the editor again there will already be features implemented for you to use your curving tool.

      L. Spiro

  3. migi0027
    January 5, 2014 at 7:08 AM #

    Hi L.Spiro,

    I’ve been experiencing the same issues with my engine, not that it’s even comparable to yours. But I’ve been implementing loads of features, but forgetting the organization and performance of the code I write (And just as you said, focusing on the results). Though I’m not going to rewrite it all, but some core sections are going to be rewritten, like the class which I like to call C3DEngineObject, basically the system, which sticks all the different elements together and creates a result, which looks like a bloody mess (Not the result).

    I hope you’ll get an even more optimized and organized engine.


Leave a Comment

Remember to play nicely folks, nobody likes a troll.