Game
Star Story
8 years ago

A look in my "kitchen" while I'm cooking the dish called "Star Story"


I will not go into full detail of everything, but I will show you a few things I do to make this game happen.

First of all, this game was developed on a Mac, the windows build is basically a port, although it may be hard to speak of that about a game written Lua…

The game has been written in LAURA II. I cannot show much there, since LAURA II is just an engine. By itself it has very little, but when you put assets and Lua scripts to it, it will work.

LAURA II uses Kthura as its map engine.

(Click the picture to magnify).

Kthura is a very odd map engine, I created myself, and the shot is the editor.
If you look well you can see the oddities. Although Kthura is for this game configured to follow a basic grid of 32x32, you can see that many images and other spots are not well put on the grid. Yup I did that on purpose, that’s the beauty of Kthura and on all maps I stunted a little with this. Sometimes you can see that clearly, and sometimes you can’t. Kthura is an object oriented map engine. This allows me to put in some tweaks in maps that are impossible to do in regular map engines. The Grass Dungeon, one of the first dungeons in the game, and which you can already visit in the current demo download would never have been possible without Kthura. None of the grass objects there are in grid, not to mention, you should mention it all moves at a different speed. The different speed movement is also used in nearly all dungeons in which I placed animated wall torches. Look well. ;)

The tool above is called “MyData”. Like its name suggests it’s a simple database program. It’s not nearly as powerful as MyISAM or InnoDB, the databases often connected to MySQL, but do I actually need the power those databases provide? MyData has been used for several things in the game. The shot above was my item/ability editor. All spells/abilities and items are in this table. I have separate tables for merchants, so I can easily set up their stock, and the achievements/trophies. In order to make the game process all the data quicker, I placed in a exporter in MyData which can export everything to Python and Lua. Since Python is not used in this game itself, I only use the Lua exporter. It makes things a lot quicker on me. ;)

LAURA II has a built-in character database. It is a pretty sophisticated database, and this program allows me to view the database contents by analysing saved game files. This tool is solely for debugging purposes and it helped me a lot, I can tell ya. Of course, this tool only shows the codenames the Lua scripts can access.

How to quickly put in the scenario for a bilingual game… Well, this way. :)
My scenario editor is easily set up and can handle large amounts of texts for long sequences. Care to translate the game into a language I don’t know. This tool can help you to do it pretty quickly, although, due to the loads of scenario you still need a lot of time :-P

All programs above were written by me, and none of them were specifically written for this project alone. This one however was written for this project alone ;)

Yup, all data about the enemies you can meet. This program too exports all data into Lua file for quick access from Lua.

Geez, any tools I didn’t write myself?

Yup this one:

Most of all this shit is in Lua Code. Lua coders may see that LAURA II has a preprocessor and the script above uses it. ;)

And this one:

5d0b9c6c653a2.png

Yeah, pixelart requires its dedicated tools. This program has its own format but can output to png, so very cool for me ;)

Okay, and a very important tool is JCR6, and that one was once again written by me. JCR6 is a packer. You can see a JCR6 file as a kind of ZIP file, only far more sophisticated. I’m not speaking about the compression algorithm (zlib compression is based on the current zip compression algorithm, after all), but JCR6 supports many things ZIP does not support, like aliasing, patching and autopatching and stuff. The JCR6 packer used in Star Story is a Python script which I deprecated. It would be too much work to move Star Story to a new packing program though, although I have that ready for the next project. The JCR6 pack utility is also very scriptable allowing me to put things up in a rather complicated way. This should allow any JCR6 viewer to show you some extra data about its contents. 3rd party contents could therefore be easily credited and licensed to their original creators and any (expanded) JCR6 viewer can show that.
I am one of those people who prefer the command line for much actions I need to take during development.

So far this look behind the curtains.

Oh and when it comes to the current stage of development. I’m halfway doing the final dungeon, so things are on the move. ;)
I’ll be back soon with a full update on that. ;)



0 comments

Loading...

Next up

Killing only brings you so far!

Just a random screenshot of the upcoming remake! I hope you like it #starstory #remake #rpg #freegame

Beta has been released

Update for Star Story and a little announcement for Star Story II.

Can you see why this pyramid deal could never be solved from the start (regardless what the already removed cards are)?

Open alpha available on Itch.io

A few facts and fables about fire.

Technobabble and a screenshot for #screenshotsaturday

Current situation on TFT REVAMPED

Why do people wanna be a #moderator? Is it really such a #cooljob?