AC6 location progress

Looks bad without lighting, fog and color correction, but at least everything is in place and not broken.Update: And when I thought everything is going fine now, I saw this:The height of this area is exactly 9999 meters, so it’s not a bug, just some weird special case I need to take into account.

A site to store mods

You can share your custom decals on  Open Horizon Booru

    1. Take screenshot of your decal ingame
    2. Upload your decal zip to https://catbox.moe/ for example: https://files.catbox.moe/st31e2.zip
    3. Add post to the booru with a link to the uploaded file in the Source field

Decal creating guide: How-to-create-custom-decals

If you have problems with posting or just feel lazy to create an account, you can send your mods me and I’ll post it

Campaign mode


Menu in Open Horizon is now lua-scripted, with the ability to load other scripts from campaign/ folder. And that means that all the power of lua can be used to create custom campaigns with their own logic. Example campaign will be included in the upcoming demo.

I wish THE Ace Love iDOL: Live Combat M@STER! was a real thing.

I’m going to release new version of Open Horizon this year.

RPG Combat Prototype

A few of my colleagues and me decided to try our hand at creating an RPG. Now, this is a long process, and we’re presently at the very beginning, and none of us are experienced game designers. So the only way to go is to prototype, iterate and playtest.

Today, I invite you to test a combat system for this RPG. It looks a lot like JRPG/Dungeo Crawler combat, but I tried to make it a bit different from the usual fare in these genres, by putting emphasis on difficulty of each combat, instead of dungeon (a sequence of combats) as a whole. So, health and mana of all characters are fully restored after each battle, like in many modern western games.

The test is quite simple: you have to fight 5 battles of increasing difficulty until you defeat a boss. This should take less then an hour, I believe (and so there are no save/loads). I’ve been working on this for some weeks in the evenings, so don’t expect much of it, especially visually, but I think it should be playable enough for more-or-less experienced players now. The test is programmed in C++, but is compiled for web via Emscripten.

I welcome all feedback you can give: what did you like, what frustrated you, what was funny etc. Please do not hesitate to write a comment to this post, or drop me a line by e-mail.

Play RPG Combat Test v0.1

Some progress

I’ve got some progress loading ps2-era locations. Still a lot of research to be done until I’ll actually start implementing the converter. I’m going to implement locations convert tool instead of direct loading to support HD restoration.
ac5-clay

A little break

Recently, I’ve been spending all my free time on Open Horizon to get the demo out of the door. As a result, I now have a huge unread pile of ranobe that has been recommended to me. So I’m taking a break from development until I catch up on my reading.
SONY DSC

Some thoughts about code quality

Shocking truth, but significant part of Open Horizon’s code wouldn’t pass my own code review. It’s probably ok for pet-project, because if I will rewrite code every time I want, the project would be in development forever. The reason code isn’t perfect from the start is quite simple.

First of all, I don’t know how the original game worked before some research so I write first implementation, then, when problems occurs, I research again with updated information, making new assumptions. This is a continuous process, but other code is already depends on what I wrote previously so every time such problems appears I can’t just rewrite it all.

On the game mechanics side, I often choose ugly solutions right before the release, because I want it to be done already so I cut corners and struggle with my own architecture. While I’m complaining about architecture, the other aspects of the code quality, like checking ranges and pointers, are mostly fine, because it’s critical to the stability and sanity. Any unnoticed null pointer reduces game’s value to zero.