Since the last devlog there were 17 commits between 2019/02/26 and 2019/03/06, totaling 51 commits. I have worked 39 hours during this period, bringing the total to 122 hours.
Shaders This time I took a bit of a rest and did something I was itching to try for weeks: shaders.
They are programs that handle the actual process of putting pixels on our screens. Most 2D engines abstract them away and there’s mostly no reason to touch the actual shaders.
Since the last devlog there were 13 commits between 2019/02/16 and 2019/02/22, totaling 34 commits. I have worked 35 hours during this period, bringing the total to 83 hours.
This one is entirely about messing with AI, iterating and refactoring the approach.
Initial Approach It started with basic xml Behavior Tree from the last devlog. First thing I did though, was updating Haxe to version 4 Release Candidate, in preparation to using inlined markup.
Since the last devlog there were 10 commits between 2019/01/27 and 2019/02/15, totaling 21 commits. I have worked 28 hours during this period, bringing the total to 48 hours.
I started out by adding new type of objects to my Tiled map.
A bit more messing around and I can now have basic message interaction in the game.
That included adding overlay UI system, some refactoring, support for nineslice scaled ui elements.
Few days ago I have decided to start an RPG project, as that’s what I’ve always wanted to make. I will be fairly limited with graphic assets and time, but at least the coding part will be fun. I will make do with what I have available.
Right now I have depth sorting implemented: I’m using Time Fantasy art assets.
Tiled for level editor.
Haxe as programming language.
Phaser 3 as framework.
In the first developer log we talked about cheating and how the best way to prevent it, is making the server authoritative about the state of everything. That is what this log is about. Taking the custom simple physics engine we talked about in the second log, we are ready to start.
Server Loop So how do we go about moving everything to server? Client has basic game loop where it moves character around based on input.
This second log was supposed to be about making the server authoritative so we would prevent cheating. Authoritative server has to simulate physics while client does client-side prediction. The first step took a bit longer than expected and deserves its own log.
The previous naive implementation of our multiplayer platformer used Phaser’s Arcade Physics. Given new requirements, which will be further explained in the next log, we can’t use Arcade Physics and need to create our custom solution.
Motivation After finishing the project for my parents I was talking about last time, I finally had some time to get back to game development. After spending something over a month playing with unity engine, I decided to switch my focus back to something that got me to programming in the first place.
Multiplayer online games.
Back in high school, I implemented very naive multiplayer bomberman game as my school-leaving project.
I made a game for Flash/Air/HTML5, which I planed to get sponsored. It has been a very long time since I made a game for sponsorship. I did it in an effort to get some money to live and eventually make my RPG. It was supposed to be one week game. It took almost a month.
Another report was a long time overdue. Lot of things happened in the last month.
The Editor Starting with the editor I mentioned last time, I might have went a bit overboard. But honestly there doesn’t seem to be any other way when one wants to make a custom one. At this moment the editor still isn’t done, but it’s getting very close.
Not much, but I'm happy. Dawn of my #RPG editor.
So what’s been going on?
Holidays. Holidays has been going on.
Time to get back to reality though.
I decided to focus on making a minimal RPG – smallest in size that I can imagine to work and be an actual game. Plan is to make it fast, get enough money out of it to continue surviving. Then move from there.
Holidays put a big hole in the plans, as expected.