I'd love to, but the "engine" (i put quotes around it because it's just a graphics engine, not exactly a game engine) has basically become twisted and molded into Shard master so that the game can run as fast as possible.

Essentially, I wouldn't be easy to tear the engine apart from Shard master because the engine and Shard master became one entity haha.

If you have any questions though, feel free to ask, I'm more than happy to answer questions

Ah, ok, that makes sense… bit too early in the morning to see that sort of gore That aside, I was just primarily interested in seeing what made it tick, and possibly what could be done to make it run a little faster.

hi, registered just to ask this question!since i know a bit about drawing graphics, but not much about anything else, i was wondering how/in what format you are storing and reading the map.could you maybe explain a bit about how the game does that?

hi, registered just to ask this question!since i know a bit about drawing graphics, but not much about anything else, i was wondering how/in what format you are storing and reading the map.could you maybe explain a bit about how the game does that?

thanks!

I just store the tile information (x,y,objectID, height, etc...) in a bytebuffer and pack it into a file at a certain entry. Look into ZipFile and ZipEntry javadocs

Wow, looking good there.What's the black space above the inventory/settings/skills tabs going to be used for? Also, are you computing those shadows every frame? You could try to cache them somehow, for things that don't move. That might help with performance but memory usage would rise a bit.

Wow, looking good there.What's the black space above the inventory/settings/skills tabs going to be used for? Also, are you computing those shadows every frame? You could try to cache them somehow, for things that don't move. That might help with performance but memory usage would rise a bit.

Thank you! That black space above the tabs will most likely be used to display other information about your character like your name and some other miscellaneous level-based info

Also, yes the shadow map is getting calculated every frame because it has to move with the player. The drawing of the shadow map itself is fast, it's the pixel by pixel loop after the frame is processed that affects speed.

If I were to be implementing a 3D animation system into this I'd do something like the following: - separate the player into joints (so the player is a skeleton, composed of joints) - create some sort of animation manager that keeps references to currently running animations and update this manager every game tick - for each animation, store positional data per each 'frame' - update the points on the skeleton with new locations and angles - render each component of the skeleton separately, using relative coordinates to the player, using respective parts of the model.

If I were to be implementing a 3D animation system into this I'd do something like the following: - separate the player into joints (so the player is a skeleton, composed of joints) - create some sort of animation manager that keeps references to currently running animations and update this manager every game tick - for each animation, store positional data per each 'frame' - update the points on the skeleton with new locations and angles - render each component of the skeleton separately, using relative coordinates to the player, using respective parts of the model.

Thanks but I am 100% sure that there won't be a 3D player in shard master haha

What sort of hardware are you developing this on? I've been running it on a retina mbp (dual-core 2.9 ghz i5) and getting 20-40fps.

I have a 2012 mbp retina with a 2.6 ghz intel i7. I get around 25-28 fps with the shadows on (these are the old shadows im referring to, the new faster ones I get around 30 fps) and with shadows off, I get a constant 40-41 fps (which is the sweet spot for the engine)

Sorry for lack of updates, getting equipment to work is a real monotonous thing since i have to make the images and position them on the 2D player for each of the 8 faces so I just work on it slowly because I cant handle too much of it.

Also @EgonOlsen, I will make the renderer multithreaded and put the shadow mapper into another thread.

I'm not sure if that's the best way to do it. If you already have a clipping/culling algorithm for the upper and lower bound of the screen in your renderer, you can easily split the screen into as many sections as there are (virtual) cores available and adjust the clipping for each section accordingly, so that each renderer renders only the pixels in it's own part of the screen. You can even time the execution of each part and adjust the sections on the fly according to the results.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org