fragworks / frag Goto Github PK
View Code? Open in Web Editor NEWA cross-platform 2D|3D game framework for the Nim programming language
Home Page: http://fragworks.io
License: MIT License
A cross-platform 2D|3D game framework for the Nim programming language
Home Page: http://fragworks.io
License: MIT License
Need a GUI submodule which should utilize Nuklear IMGUI
Need to write code to properly dispose of spritebatch instances.
Support for tiled maps would be nice.
Should support loading http://www.mapeditor.org/ maps.
Support loading / unloading of BMPs. Header bytes should be verified.
https://oroboro.com/image-format-magic-bytes/
Image loading / unloading should be performed with sdl2_image :
https://www.libsdl.org/projects/SDL_image/docs/SDL_image_frame.html
OpenGL code related to texture loading should be moved into a common proc.
https://github.com/fragworks/frag/blob/master/src/frag/graphics/two_d/texture.nim#L59-L71
edit: I got the example to compile but when I run I now get: could not load: libbgfx-shared-lib(Debug|Release).so
I downloaded frag git and installed with nimble. Docs say that will install deps. I have these packages installed: libgl1-mesa-dev x11proto-core-dev libx11-dev
We need some kind of discussion board / forum for the website.
We can discuss categories and shit later, but for now I'm thinking we just have an announcements section, a general section, and a help section.
I honestly hate having anything to do with message boards besides post on them, and I don't know how you feel about them @rosshadden but I feel like the administration / moderation of them is something we could hand over to someone else who'd be willing to help out contribute. I doubt that will happen till we have more steam behind us, so that might fall to us for now.
I'd like to try to get set up with something soon though, the simpler and faster the better.
Placeholder.
We need 2d particle effects.
https://github.com/bkaradzic/bgfx/blob/master/examples/32-particles/particles.cpp
http://buildnewgames.com/particle-systems/
Not sure what the best way to do this is. The former is probably better for 3d particles and something like the latter for 2d.
See if docker can be used to ease production of shared libs for android.
INFO Frag shut down. Goodbye.
AL lib: (EE) alc_cleanup: 1 device not closed
Spine stuff needs to get integrated somehow into the main project, probably as a submodule.
Need an automated way of building android examples
We need some kind of web presence for FRAG.
I don't really care how we do this - I'm thinking a github pages site would suffice.
We're at the stage where we could really start using some help in producing documentation and write ups about how to build the project on different platforms, how to compile shaders, etc... Information I can already start dispensing that is unlikely to change much, but without it, users will be quite puzzled as to how to use the project.
Not only that, but it'd be nice to start generating a little more buzz about the project. This is something we could work on in our down time, but we should start moving on ASAP IMO.
My buddy is working on the logo as far as I know, so as soon as that's ready it'd be sweet if we had something to drop it into and go live with.
Need to integrate NanoVG for a HUD solution.
Port this, but make the ranges [0,1]
instead of [0,255]
.
May I suggest you to modify references like git@... from .gitmodules, using
https://.. instead ?
People having github in their keychain & known hosts may get a failure trying to follow instructions...
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:bkaradzic/bx.git' into submodule path '/Users/me/nim_prove2/frag/vendor/bx' failed
Failed to clone 'vendor/bx'. Retry scheduled
Cloning into '/Users/me/nim_prove2/frag/vendor/bgfx'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
fatal: clone of '[email protected]:fragworks/bgfx.git' into submodule path '/Users/me/nim_prove2/frag/vendor/bgfx' failed
Failed to clone 'vendor/bgfx' a second time, aborting
In systems such as iOS, Android, Wii U, etc. applications can be "paused" by the user (by exciting the app, pressing the home button, etc).Support to intercept these events is quite important, as often the GPU must be reset and primed when switching back.
Thus, I propose the addition of pause/unpause events/callbacks.
2 options being explored -
Out of the two options, I'm much closer to achieving # 1. I think if I took another shot at creating bindings I could probably have something working in a day or two.
`# 2 is more appealing though, so I'm working on that. If I encounter roadblocks I may switch back to # 1.
Hi @zacharycarter
I have installed Frag and built some examples, but seems one dll is necessary to run examples: bgfx-shared-lib(Debug|Release).dll.
Can you please tell me how to find or generate it?
Thanks!
Make nakefile
generate targets from the folders inside the examples
folder, by parsing their names.
Tiled map API is very basic.
Add additional procs for -
know / get the size (AABB)
translate it on render?
Also -
provide way to render w/o calling begin and end on spritebatch
Frag needs a Logo.
Mipmaps should be able to be generated (optionally and automatically) during texture loading.
I don't see any release tasks for linux in nake. I'm assuming it's on the way at some point?
Need to support loading the following formats :
Trying to link bgfx on ubuntu produces the following error :
Hint: [Link]
Hint: operation successful (71798 lines compiled; 2.779 sec total; 208.863MiB peakmem; Debug Build) [SuccessX]
Hint: /home/zc/projects/frag/examples/desktop/00-hello-world/main [Exec]
../vendor/bgfx/.build/linux64_gcc/bin/libbgfx-shared-libDebug.so: undefined symbol: glXGetFBConfigAttrib
libbgfx-shared-libRelease.so: cannot open shared object file: No such file or directory
could not load: libbgfx-shared-lib(Debug|Release).so
Error: execution of an external program failed: '/home/zc/projects/frag/examples/desktop/00-hello-world/main '
Probably due to linking order / transitive OpenGL dependency.
Currently spritebatch is just allocating transient buffers all willy nilly. Should call check first before allocating buffer.
Integrate Chipmunk2D
Build a sample game for android
FRAG should support drawing primitives. Use cases are:
As a list of possible primitive to start with, I would suggest something like that supported by sdl2, ie:
See the discussion on the forum here: http://community.fragworks.io/t/possible-feature-request-drawing-primitives/19 ( @zacharycarter has some implementation suggestions here. )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.