Code Monkey home page Code Monkey logo

Comments (10)

jerrygreen avatar jerrygreen commented on September 16, 2024 4

Would not be cool if it is :\
I found it real cool

from ecsy.

jerrygreen avatar jerrygreen commented on September 16, 2024 4

I just started a blog, and wrote a couple articles about starting game project with TypeScript:

In first article I'm starting an ECSY project, and in second I'm getting rid of ECSY part πŸ˜‚

Spoiler: official sample project performs much better now without ECSY. I indeed thought ECSY is cool, but soon figured that's not ECSY is cool, that's ECS is cool

from ecsy.

dumblob avatar dumblob commented on September 16, 2024 1

@jerrygreen couldn't find your ECS-inspired project on GitHub - do you still develop/maintain it?

Btw. feel free to take a look at advanced yet minimal ECS for JavaScript: Polyphony.

from ecsy.

jerrygreen avatar jerrygreen commented on September 16, 2024 1

@dumblob I am, secretly*, continue developing the thing, it changed a lot but the most important: I'm still not entirely happy with it to ship to the masses.

A lot changed since back then, for example I now use Svelte instead of React: still, it has react-ish look, very simple to design interfaces (unlike any gaming frameworks), but it has much more lean code than React (I have to admit it, even though I've spent many years developing with React). I also use Tauri to be able to ship the game for desktops (instead of Electron, so the total executable size is small). I made my own AssemblyScript loader, so I can load AssemblyScript directy from files without any other "glue"-code like WebAssembly.instantiateStreaming(...), just as lean as any other function I'd import from JS/TS, like this:

image
(Svelte code; you can see the imported code is WASM/AssemblyScript, you can say this by the shown types)

What's also important, I try not to just build some game engine in vacuum, but I am also in the process of designing my own game (medieval-fantasy rpg-rts). I can barely say I've even started actual "game" code: only the engine code. Because apart from the engine, I'm spending time to many other things: making Design Doc (I rewrote it few times from scratch already), the sketches, designing UI, making PRs or filing issues to other related libraries, and I also spend a lot of inspirational time too: I am re-playing many games I've played early, which inspired me to make a game in the first place (because initially I'm more a software dev than game dev, and most of my professional work I spent on software other than games), and many other things like tinkering with UDP in web tech (it doesn't seem UDP is hugely used in web-based games, though it is technically possible... just unpleasant). So this engine I'm coming up, - still doesn't look to me to be ready for the masses. Particularly, I want this engine to better support client-server architectures, with dedicated servers, while as of now I mostly have spent time on client-side yet, and server-side is poorly supported and needs more thought.

Also I'm in doubt in overall if I should release this engine or any libs without an actual game. I would like the idea to be my own first customer of my own tool, and if I release the engine without a game, this fact will quickly become untrue and make me feel bad in many ways.

Last but not least, I am doing it all just by myself, no any hidden team behind, so the process takes real real long time, I don't even have a grasp on estimation of when any of it will be ready. Just doing it for fun in spare time. Not to expect any github project links anytime soon, unfortunately... And sorry for so much text, too.

* I mean not entirely secret of course, but at least I don't advertise or talk about this a lot. But yes I am working on it.

from ecsy.

simonihmig avatar simonihmig commented on September 16, 2024

Kind of a duplicate of #262, though that issue also does not give us a clear answer. πŸ˜•

from ecsy.

iaiayou avatar iaiayou commented on September 16, 2024

I just started a blog, and wrote a couple articles about starting game project with TypeScript:

In first article I'm starting an ECSY project, and in second I'm getting rid of ECSY part πŸ˜‚

Spoiler: official sample project performs much better now without ECSY. I indeed thought ECSY is cool, but soon figured that's not ECSY is cool, that's ECS is cool

please, can you provide the first article whole project or github address? thanks~

from ecsy.

jerrygreen avatar jerrygreen commented on September 16, 2024

please, can you provide the first article whole project or github address? thanks~

There’s none.

But what did you expect to see there anyway? ECSY project sample / boilerplate, with all the libraries included?

from ecsy.

iaiayou avatar iaiayou commented on September 16, 2024

please, can you provide the first article whole project or github address? thanks~

There’s none.

But what did you expect to see there anyway? ECSY project sample / boilerplate, with all the libraries included?

I use typescript+escy, has some warn problem by ts. the comp type is always wrong, why?
eg:
class ContainerComponent extends Component {}
ContainerComponent.schema = {
cubage: {type: Types.Number, default: 0},
};

const comp:any = entity.getComponent(ContainerComponent);
const {cubage} = comp;

from ecsy.

jerrygreen avatar jerrygreen commented on September 16, 2024

@iaiayou uhh, I don't remember exactly, but I, too, remember some troubles with types in ECSY (I didn't like the types). That's part of the reason why I ended up with my own ECS implementation

from ecsy.

dumblob avatar dumblob commented on September 16, 2024

@jerrygreen that sounds promising one way or another. Keep me posted, thanks!

Btw. if you'll find a few minutes, feel free to check out the Polyphony ECS system - it's a very good source of inspiration (see also discussion regarding "what could be done better").

from ecsy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.