kittykatattack / hexi

Make games the fun way!
MIT License
555 stars 83 forks source link

Some documentation #26

Closed Akronae closed 7 years ago

Akronae commented 7 years ago

PreS: I'v not found any space to ask some questions so sorry to do that here ;(

Hi, i would like to know if there is any documentation available, who (obviously) group all Hexi functions etc.. cause its really painful searching ways to do new things without docu.

And is this project abandoned ? Cause i would like to add some features :)

Thx !

kittykatattack commented 7 years ago

Hi,

Check out core.js and read the comments. 😄 You'll see it's just high-level glue code around Pixi, and a bunch of specialized modules for making Pixi easier to work with and giving it a nicer API - nothing special. We generally add features to Hexi by creating stand-alone modules that should work with Pixi. Take a look at Bump.js, Charm.js and Dust.js for examples on how to do that. But there's pretty much a feature freeze at the moment until the current code base is 100% bug free. If you can do any bug squashing, please help :) We'd like to get this to a stable 0.1.0 release, but that's going to take a lot more testing. And, there's quite a bit more code coming down the pipeline that I need to merge from my local computer (a bunch of tile based game utilities, include tile based collision, isometric maps and and A-Star implementation). I would definitely like to get the help of collaborators in future, but at the moment the code is not really setup for that to happen easily. Thank you for asking and please let me know if you have any questions for how I can help 😄

icarito commented 7 years ago

Hi @kittykatattack Thanks for building Hexi!

I have been having fun with it, check out https://github.com/somosazucar/python-web which I built inspired by @artyprog 's https://github.com/artyprog/GFK approach.

However I am new to building larger stuff in Javascript and Canvas/WebGL/PIXIJS.

I would like to slowly (or rapidly) build an IDE - like thing for learning and producing expressive games. So I am learning as I go along - I am interested in writing some concise entry level learning materials - likely initially in Spanish. If I manage to do so, I would share them with a Creative Commons License.

Great to hear that you're active and hoping you find inspiration. @icarito

Akronae commented 7 years ago

Ok, I'll do that ! For "improvements" I was speaking about little things like: g.pointer.tap(x, y) =>... Just little things that together makes hexi more agile :)

kittykatattack commented 7 years ago

Hi @icarito!

I just got back from a 3 week holiday in Peru and loved it! Next time I'm in Peru I'll bring my sitar and we can jam! 😄

Thanks so much for your comments, I'll try my best to answer.

Do you expect Hexi's API to change significantly? (Should I wait?)

I expect Hexi's high-level API to remain very, very stable. More than anything else, Hexi is an attempt to build a great (and simple!) API for making a wide variety of games. Its current API is the result on many, many years of refinement and testing, and so I'm pretty confident it's not going to change. Hexi actually shares its API with its sister game engine, Ga. Even though their underlying code base is radically different, their high level code is almost completely interchangeable. Hexi is an API more than anything else, and the most important thing for me is that its API is as stable as possible so that it's a solid foundation for people to build things on. Some of the lower-level code certainly will change, but because it's not user-facing, it won't break the high-level API

Do you have a suggestion for implementing Physics?

There are many excellent Physics libraries that should work fine with Hexi. Physics.js, and P2.js are a few that come to mind.

I am interesting in trying the new Isometric code - so far I managed to load and display a map, learning to place sprites and pan camera.

I have a stand-alone module for this, including a system for integration with Tiled Editor, and will gradually merge this into Hexi's source over the next few months.

Please, if you can, review my approach at an Object Orientated architecture at https://github.com/somosazucar/python-web/blob/master/src/main.py . I am coming from building Python games with http://platipy.readthedocs.io/en/latest/pong.html#sprites . I think it should be possible to simplify it.

I'm afraid I may not be the best person to help you with this as I now do almost all my professional work using Elm (www.elmlang.org), which is a functional programming language.

For "improvements" I was speaking about little things like: g.pointer.tap(x, y) =>

Oh, I see what you mean 😄 That makes a lot of sense. Maybe you could add some of those things as a feature request? The next time I plunge back in to Hexi's source I'll see how easy it might be to add.

This is a slow moving project (which I think is a strength!) but Hexi will be here for the long term :) It's my baby! 😄

artyprog commented 7 years ago

Hi Carito,

Here is what I have done when I used RapydScript

http://salvatore.pythonanywhere.com/RapydBox/default/editor (load the samples) http://salvatore.pythonanywhere.com/RapydScript http://salvatore.pythonanywhere.com/RapydRay http://salvatore.pythonanywhere.com/RapydGlow

It would indeed nice to have such and editor for Hexi and share the code...

Regards

icarito commented 7 years ago

Hi @artyprog and @kittykatattack ! Greetings again from the rainforest! So after a long time finally I have something to show you :-) I'm barely getting to the point of adding Hexi to Jappy Activity, the Python (Rapydscript) editor! Here's a very rough first approach to a platformer. I've never done one, and I'm wondering about simple Physics.

Notice it's live-collaborative!

@kittykatattack sorry to have missed to reply to that one point, please, do bring your sitar, we must absolutely jam.

All the best!

kittykatattack commented 7 years ago

@icarito That's wonderful, thanks so much for sharing it !!!