Tuesday, December 30, 2014

Reading Stephenson

Was long time ago when I read Neal Stephenson for the first time. His cyberpunk titles are excellent, but recently I got a few more books and discovered that, when teamed with his uncle, they write great political thrillers.

I read Interface last week, and now Im reading The cobweb. The first has some light Sci-fi details, but the second is pure political intrigue, which reminds me a bit of Tom Clancy, specially because of the detailed setting of the scene before getting into the actual peak of the plot. Both books have kept me reading in every free minute I have, or even in every minute I dont need my eyes for something else, which doesnt happens too often.

And considering I still have 4 more of his books, probably I will be busy for a month or more.

Friday, December 26, 2014

Feature: day/night cycle

Night falls on Elymuria
Yesterday I implemented basic day/night cycle in the game. Some lights, like the one you see in the screenshot, are only active during night. Still have to tweak progression of light color through the day and calculate the correct sun (and moon) angle.

Luckily, I dont have to deal with sky boxes, but I do have with weather, because I want to have some sort of precipitation and fog. The ideas about how to implement it are crossing my mind (and leaving it so quickly that I cant grasp them) but I think it is better to wait for Urho3D particle system to get better (and until I can grasp one of those runaway ideas).

Also I have been working on the interface, but not too seriously; I must sit and design a proper layout for the UI. I looked at style definition file and it is not too hard to modify to create the game's own look, it just takes some time.

By the way, the FPS count seems low, but I consider it quite good for an Intel integrated GPU, although eventually it wont be enough to move the scenes.

Tuesday, December 23, 2014


A couple of weeks ago I asked a friend if she knew some guy with drawing skills. She studies in university, which some times seems to be a nest of talents, even when lately quality is going down, at least in the programming field. Lucky me, she had one candidate: a genius, she said.

I met with the guy and, by coincidence, he is not only good at drawing, he also writes.

Definitely, better than my current book's cover, I will ask publisher to hire him for my next novel. Also, Im trying to lure him to work with me in the game project as concept artist. The problem is that his free time is limited (college work tends to eat time), his PC time is limited and my capacity to generate motivation (pay him to work) is limited.

Monday, December 22, 2014

Godot is moving fast

Last week I noticed a quite big commit to Godot engine, associated to its 1.0 release. The repo had been quiet lately, but since last week, I have seen a sudden surge in activity, with commits involving several files.

I have in my To Do list to take a serious look at this engine and assess its capabilities and I think the best moment is in the upcoming free days in the end/beginning of year. I have been delaying it to avoid breaking the good pace with the project, but perhaps changing my focus for a few days wont hurt the progress too much.

Now they even have better tutorials and youtube videos!

Friday, December 19, 2014

Weekly report

What a week! December 17th was a unique day, which deserves a post by itself, but it is too late for that. So, better to write about latest progress in the project.

The changelog includes the following features:

  • Clickable scene triggers, regrettably, couldnt make collision based triggers work.
  • Cursor modes: normal, view and trigger. Now the mouse cursor changes when hovering over a trigger or an object that can be examined.
  • Changing scenes. Now you can travel from one scene to another, and go back to previous one. Though still need to properly save entity states.
  • Dialog checks: now the dialog parser validates checks (right now only quests) and proceeds to the corresponding answers. Still very early work.
Maybe I forgot something here, but thats the more relevant additions in the code side. Im reaching the 1000 code lines! and that is just in AngelScript. The dialog editor is C++, Qt based and it is already around 100 lines of code. Expect some screenshots before the end of the year.

Saturday, December 13, 2014

Wednesday, December 10, 2014

OGA is getting better

Lately I have been browsing more and more Opengameart.org, trying to get a few assets to fill my scenes, test UI and add background music. And about music, I have to say that Im really amazed, the quality of the tracks you can find is really good. And by quality, I dont mean mere audio quality, but in the artistic sense.

Im already using Eric Matyas tracks in the game project, but today I discovered a few more orchestral works that literally made my jaw drop (yes, I drooled like a dog and had to clean it later). So, seems that the music department is 100% covered for the project.

What we need now is that 3D art gets as good and useful as music. There are a few assets worth using, and a few that can do as placeholders, but we need more collections. They can really save your prototype, mostly because inside a collection there is an uniform style. Also, 3d artists must learn to model for engines, Im having problems with a large house collection I downloaded, just to find that they are made of several small pieces. The modularity is good, but they tend to confuse Urho3D exporter.

Friday, December 5, 2014

The road so far

(Play here Carry on my wayward son)
Very productive week, at least in terms of Urho3D forum posts, if I keep going on this pace I will have more posts than the engine developers. Almost damaged my wrist yesterday trying to assemble a good looking scene, definitely I need a precise mouse, a better table and a better chair. Cant pay for neither of them.

Code is growing, slow, but steady (which, coincidently, is almost the same as our President's slogan when asked about our "economic model update"). I wish I could announce that I already started the project, but I cant consider this bunch of lines as a project, but more like a better organized workbench. Cant discard the possibility of throwing all to the archives and start from scratch.

Every day I learn a few new details, and sometimes I also have to leave features behind because they dont work as planned. right now while I write this I have figured out a workaround for one of those features. Cant say I know AngelScript, but I like it and for a C developer like me, it is more natural than Lua.

Urho3D continues advancing, but probably we will need a year or so before having a really complete engine. I still have time before start requiring fancy stuff like particles, I hope I keep going behind the development rythm. Have a nice weekend and we'll see next monday... or whenever comes the next post.

Wednesday, December 3, 2014

Want dialogs?

My first encounter with an RPG was in the... well, cant remember. My cousing brought a Fallout 2 CD from UK, the game was weird, I didnt had my own PC to play, and sleeped in a box for some time. When I played it, I was impressed by the dialog system: the choices depends on active quests, your stats/skills, items, etc. That was the kind of game I wanted to develop!

Even when I asked a lot in forums and mailing lists, I couldnt implement a dialog system as I wanted. Yes, I made one, quite powerful, but the dialog was just a long Lua script with dozens of if/then. It was a mess, and had to be edited by had, by a programmer. What I really wanted was something I could edit with a tool that a non-programmer could use.

Seems that Im closer to achieve it. Yesterday I finished an XML structure and basic parser that allows me to have dialogs. What I did this time was to split NPC lines and answers in separate elements. As I thought, the correct approach was to see the conversation as a tree, with a complex root node. The root node is the entry point, it could have several alternatives, depending mostly on assigned quests, each one routes the dialog towards the corresponding branch.
Previoulsy my mistake was not to decouple NPC lines and player answers.

You can see a prototype here. Cant say that my dialog system is perfect, it is just a very early version, but seems that Im getting closer to achieve it. Of course, any suggestion is welcome.