Jump to content

Brand new game engine!


Firenibbler
 Share

Recommended Posts

  • 4 weeks later...

Hello, everyone! the engine code is up so check it out! Because it is still in beta, there is very little in the way of tutorials or examples. However, feel free to check out the code and make recommendations on everything from API, to wanted features, to how to improve what we already have.

Link to comment
Share on other sites

10 hours ago, rich said:

Can I strongly suggest you run over the code base with a spell checker? Things like this:


this.visable

Is going to really confuse developers who can spell :)

 

Lol, thanks for pointing it out. I just hate using a spell checker when programming because it marks most of the variables that use numbers, or multiple words. 

 

Link to comment
Share on other sites

8 hours ago, mattstyles said:

No test cases? Or perf benchmarks? 

How are you testing anything without these? Or maybe they are in a different repo?

I have done most of the tests using chrome devtools, and because this is an early beta I have not gotten around to actually making many public tests.

Link to comment
Share on other sites

7 hours ago, Firenibbler said:

I have done most of the tests using chrome devtools, and because this is an early beta I have not gotten around to actually making many public tests.

Ok, thats a good start.

Probably best to get automating some tests now, particularly if you have any aspirations of being a quick and useful library. Without reliable, consistent, repeatable tests you don't know if any optimisations or new code you are writing is good for your library (and hence your users). Also, your code is classical in nature with many many tightly coupled components, without tests you can't be sure that a change in one place is not creating side effects in another, tests don't eliminate this concern but they help mitigate it by providing you some feedback when you've broken something. This also greatly speeds up development.

Link to comment
Share on other sites

9 hours ago, mattstyles said:

Ok, thats a good start.

Probably best to get automating some tests now, particularly if you have any aspirations of being a quick and useful library. Without reliable, consistent, repeatable tests you don't know if any optimisations or new code you are writing is good for your library (and hence your users). Also, your code is classical in nature with many many tightly coupled components, without tests you can't be sure that a change in one place is not creating side effects in another, tests don't eliminate this concern but they help mitigate it by providing you some feedback when you've broken something. This also greatly speeds up development.

ok, I have been looking into making some tests like that, do you have any recommendations on how to set up tests like that? (Like what types of tests, and better ways of monitoring them) What I have done is every time I work on a new feature I document the average FPS for that feature I see in chrome devtools, and run several different tests to see what the resulting FPS is. Such as rendering 1000 sprites at the same time. Then, I slowly make a few performance modifications then move onto the next feature.

For example, before I added some rendering optimizations I could render 1000 sprites with an image size of 500px x 1000px at about 20-30 FPS. After some simple optimizations, I could get it up to 30-40 FPS. I run the test on multiple browsers on multiple computers, including an old pentium 4 and a brand new chromebook.

It would be amazing if I new a couple libraries for watching JS code, and performance optimization. I have looked at a few engines, but would like to know what you think.

Link to comment
Share on other sites

Yep, exactly what I meant.

There are even remote services such as BrowserstackTestling (not sure this is still going) or Sauce Labs  that can run your tests on multiple platforms that would be expensive to run yourself. You can automate this all to happen whenever you push a commit to git, or have it as a manual step. You can also bolt on other services such as code coverage or reporting into your test suite. It can add up to a lot of work!

Automated unit tests, try to incorporate some perf/benchmark tests if you can. Depending on your code style and how you have set up your project writing succinct, robust tests can be difficult.

A game engine is a huge project, maybe have a look at how some smaller modules run their tests as the larger the project, the harder and more time-consuming it is to write tests for.

I'd say start with small unit tests that test one very specific piece of functionality before moving on to more complex tests that might test how several components interact.

Link to comment
Share on other sites

14 minutes ago, mattstyles said:

Yep, exactly what I meant.

There are even remote services such as BrowserstackTestling (not sure this is still going) or Sauce Labs  that can run your tests on multiple platforms that would be expensive to run yourself. You can automate this all to happen whenever you push a commit to git, or have it as a manual step. You can also bolt on other services such as code coverage or reporting into your test suite. It can add up to a lot of work!

Automated unit tests, try to incorporate some perf/benchmark tests if you can. Depending on your code style and how you have set up your project writing succinct, robust tests can be difficult.

A game engine is a huge project, maybe have a look at how some smaller modules run their tests as the larger the project, the harder and more time-consuming it is to write tests for.

I'd say start with small unit tests that test one very specific piece of functionality before moving on to more complex tests that might test how several components interact.

ok, thanks for the references I will check them out :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...