Project 3D coordinates to screen coordinate

I’m on my way to converting my 2D action-adventure game engine to 3D. It should have been easy. Convert 2D tiles to 3D cubes, change up a few textures. All characters as flat planes walking around. All game logic can remain the same, working in a 2D coordinate system. It will take a few weeks to work in my spare time. Yes?

Oh, how I was wrong… Maybe, just maybe if everything went super smoothly without any hiccups, I could do it. But I’ll tell you what. Everyone always underestimates. And here I’m working on my engine for one year. The simple task here, simple task there. On or another feature. It looks like converting from 2D to 3D is just adding one more dimension. But believe me, it adds so much complexity. So much more mathematics needed.

All I needed is to convert the 3D position from the world to the 2D point on the screen. So I can show enemies health bar under their head and some other effects, which are easier to implement in 2D. It should be simple. There should be many easy methods to do that. In other game engines, it is one line of code. Technically it is. In the GLUT library, there are methods just for that. I implemented them and… It doesn’t work 🙁

Work on this problem for 3 days. Sometimes a position is on the screen but at the wrong position, sometimes it is not visible at all. I’ve tried to work out a good “recipe” to get the correct position. Eventually, I did. It works like a charm. But I think to myself, I’m stupid or it is common to have problems with such simple things.

Anyway. Checkout those effects around monsters, which look the same as in 2D, except they are rendered on the 3D scene incorrect position. Neat.

Next logical update?

I was working on my game engine, which is very creatively is named “Boring engine”, which is written in C++ and for graphics uses OpenGL. It is the foundation for all my games. On top of it, I’ve created the Short Story engine, which I’m using to create specific RPG games. Such as John and The Goat and Isolation. My idea is to make a simple game, while each next game has improved mechanics and much more features.

John and The Goat was the very first game. It was so basic, that you barely could say, that it is an RPG. A small step for the gaming industry, but it was a big step for me. I laid the foundation for my next short story-driven games. The next one was Isolation. It had a much bigger world and introduces the dungeons with many new enemies types, boss fights. After that, I updated John and The Goat. Recreated maps, added more quests. Added everything, that SS: Isolation had.

My game is crude. They are missing many game features and are lacking visually. I guess the next logical step would be to at least add proper animation for characters. But here comes a little problem. If I continue to develop my games as 2D “Zelda-like” RPG, the more I make, the harder it would be to update it to 3D, which I eventually want to make.

One day, I just started to play with that idea. How hard it would be to make my games 3D. Game logic can remain the same. Only I will render not flat tiles, but 3D cubes with the textures of the same tiles on the walls or the ground. So I took a shovel and started digging.

About after 3 months of casually working in my free time. I present you my new game Short Story: Trip. It is a very early stage. Even the main map is not finished. Many features from the old 2D version still not working. Many moons passed, while I updated the level editor to support 3D. But you can check out the video and decide for yourself. Is it looking better? More interesting?

Here we go again!

Short Story: Isolation is released! So what now? Remember the game John and The Goat? Of course not. It was the first game in the Short Story games series. It was more like a limited technical demo of the RPG engine, that I’m working on. It was an early stage and there were very little features and many bugs. When I released that game, I started working on Isolation and at the same time added many new features and fixed a ton of bugs. Now, all that good stuff can be added the John and The Goat.
John and The Goat are missing much more complicated quests. There were zero bosses, only a bunch of thieves and rats. The biggest change will be dungeons as there was none of them.
I’m looking forward to releasing John and The Goat as a fresh new game. Stay tuned!

Least fun part…

In-game development the most fun part is the beginning. You hack something together and see it working. Game development progress moves so fast. You think that game can be finished in no time. And after some time you enter middle stage of development. Everything slows down significantly. Everything starts to fall apart. Some code needs to fixes, some refactored to implement new features. Some graphics don’t look good enough. And there is feature creep. It looks like you will never finish it.

I think I’m past all those struggles. The game is almost finished. Left only the least fun part. Atleast for me. Game analytics… It is interesting to know how are you playing my game. Where are you stuck, where is to easy. But adding analytics to the game is a lot of work. It can take some time. So I’m implementing it mindfully. I will not track everything. I just listed a few core places, that want to understand what is is going on.

I really hope that you will leave the app review and some feedback for me. I’m working on this game for two years. Thank you, guys!

Game preview trailer

Time has come. I’m preparing screenshots and videos for the app store page. The game is 99% complete. Only small tweaks here and there left to complete. I’ve spent a whole day making screenshots and recording a gameplay video, finding game parts, which best represents the game.

I’ve created the App Preview trailer, which should be only 30 seconds long. Take a look.

Also took a bunch of screenshots. You know, it is really complicated to fight monsters and take epic screenshots at the same time. I had to do it on many different devices.

Collectables

Short Story Isolation was missing one of the key game elements – collectibles. So I thought to my self, what would be interesting to collect and search for. I came up with the idea of collectibles, that not only increase collected items counter but can add something to the story. I added to the game 15 text scroll, which will be hidden all over the game world. Each text scroll contains a message or letter to someone about the current situation. That way more of the game story can be revealed.

Text scrolls can be read from inventory. Each scroll has a unique number, so you will know which scroll it is and how many in total are available.

Have fun exploring the world and collecting all scrolls!

Tex scroll can be read from inventory. (opened text scroll not displayed)
Text scrolls can lay anywhere. Behind building or in the treasure chest.

Party people

Sometimes it is very lonely to go alone and sometimes it is really dangerous to not have a support behind your back. I’ve implemented party system! Not that one, where everyone gets drunk and piss in the sink. The one, that is common in RPG games. Where all party members are care about each other on try to reach for common goal!

I’ve implemented system, where you can ask other fighters to join your party. They will follow you and when they see enemy nearby, will attack it. No questions asked. They are not very smart, but they will fight till death, no matter what. There is no way to directly control them, just like with your real friends.

Dungeon mechanics

Is there any RPG game without dungeons? Short Story: Isolation is no exception. Main dungeon mechanics already implemented, now I need to apply a ton of polish to make it shine or more like, make it dark and cold…

These underground chambers will have everything, that you expect in proper dungeon. Ground spikes – will tear your flesh, they are not hard to spot, but they are placed in such a way, that they will make your looting hard. Rotating spikes – they will come out of nowhere and disappear in darkness, be careful. Of course many gates will be locked, and the key is lost somewhere. Maybe one of the monsters took it. Every dungeon should have proper loot at the end, these dungeon are no different.

Checkout the devlog video to have a sneak peak to mechanics. This is early version. Everything will improve.

Weapons!

For whole week I was designing and drawing weapons. Some are reused from previous game John and the Goat, but most of them are new. Not sure about the names. Its really hard to think of original and interesting names. For now these name will do. Maybe when game completion will be nearing, I will change them.

Daggers have fastest attack rate. Very good to push back enemy with rapid attack. Swords attack slower, but they can reach further and attacks are wider. Several enemies can be attacked at once. Hammers are slowest, but they have chance to stun enemy. Maybe I will add ground smash chance to stun multiple enemies. I still need to do a lot of testing and playthroughs to balance them out.

Isolation game map

So most of the mechanics are in place. I started working on world map. I’ve decided to make world out of 9 main chunks. In the middle will be Tower of Isolation, where Evil Wizard Maggart will be located. I’ve made video of me walking though empty map. This is just first draft. All map may change on demand if I will decide that, I need something else.