Odysseus Kosmos – Developer Diaries #9

wardroom_sit

Hey there, friends! Welcome back on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.
​Great news everyone! The game has been successfully released and started selling. We would like to thank all our backers – your support is greatly appreciated.
​Steam has also given us some support and featured our game on the main page with a huge banner for a while, which was also a great help.
​A few quick words on the pricing – this decision was made by our publisher. Currently we are selling the entire season. We trust the publisher’s opinion. And what’s important for us – the publisher guarantees that the season will be completed and all episodes will be released as planned. The stability is highly important in this regard.
​By the way, the next episode is scheduled for 1st of March! We’ll be waiting together.
​The episode is already in active development. The first testing will begin in January and the episode will be launched according to schedule. And the third episode is coming next summer.
​Also many thanks for your nice feedback. It’s just… WOW, thank you so much! Your feedback is what keeps us going. We are reading everything carefully and planning improvements in the next episodes based on your feedback. If you have an advice or a suggestion – please be sure to let us know. We are reviewing all feedback and we’re very interested in hearing your opinion.
​Now that the game has been launched we are planning to post developer diaries biweekly. Next time we will be talking about the in game art. And once again many thanks to all of you! Until next time 🙂

P.S. Odysseus Kosmos – Developer Diaries #8 – available at Steam Community Hub

Advertisements

Odysseus Kosmos – Developer Diaries #7

space_new

Hey there, friends! Welcome back on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.
One of the most important questions we have to discuss is: why episodes? Well, there are perfectly good reasons for that!
Probably the main reason is the time of development. We all know the situation when the development of an indie (or a mainstream!) project goes on and on for a few years. The devs keep making promises to their fanbase and the project release is constantly delayed and keeps on slipping for an indefinite period…
Well then, it’s different with us!
We have a perfect overview of the time of development for our project. Our slowest ship (game art) requires 4-5 months to prepare the required amount of art for an episode. In that case we better show the completed product now, rather than dragging the development for another few years. And if the game proves exciting for the audience, we will find a way to speed the development process.
The second reason would be finances… Game development costs money, that’s a fact. The artist must get his salary. We started using our own money, and now we have the support of our publisher. But until we are not sure about how well the game will be received by the audience, continuing the development for several years is very risky. If the gamers like our project and the game sells well, we will feel much more confident and will be able to work on the game faster.
As for the episode content, I am guided by the classical quests with chapter structure – for example, Monkey Island. The game is divided into several chapters, where each part is an independent logical fragment with its own goals. After completing the first chapter players face a new situation with new locations and objectives. And towards the game finale players open the entire gaming world and travel across all locations.
This is how all episodes of Odysseus are structured. Each episode is a separate chapter of the tale, and all of them are united by the storyline. Each episode includes about 4-6 hours of game play (and the price of each episode is fairly democratic). So having considered all pros and contras we’ve chosen this format.

Odysseus Kosmos – Developer Diaries #6

cabin

Hey there, friends! Welcome back on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.
And now let’s return to our tale of the game’s development.
As we’ve mentioned before, adding new interactions is fairly simple. But these also require hand drawn art content. Our lead artist Roman (also the second person in our dynamic duo of a team 🙂 ) and the game art deserve a separate story, but for now let’s just say that graphics creation is far more complicated than game assembly.
Therefore each episode is first created using placeholder graphics (which sometimes looks quite funny). Later on we gradually replace placeholders with final content.

old_01

The entire process of an episode creation includes the following stages: first we think the current story part through once again. I’m writing down locations required for this chapter, mini games, items and animations that we have to prepare now and which of these should be created first. At that time Roman is already drawing the first location (this is a very time-consuming task that takes a few months to complete).
Next I’m thinking the episode puzzle scheme through. What will the episode flow look like? What puzzles will be solved, which items collected? The answers to these questions turn into a huge document with dozens of pages. We may call it the “technical scenario” of the episode.
Next I’m assembling the logical part of the game using placeholder graphics (which I’m drawing myself, as I wouldn’t want to distract Roman) and writing the interaction script based on the technical scenario.
In result I have the alpha version of the episode that can be played through to the end but without mini games, dialog texts or sound and with placeholder visuals. But at that point we can give the build to QA specialists to get an idea of how much time will the episode walkthrough take and check the global logics for errors. We can even rework some of the puzzles, get rid of the unwanted ones or come up with new ones (which I’m actively working on by the way).
Here is an example – a placeholder mini game that was taken from the game finale. The player goal was to look for repeatedly appearing asteroids.

asteroids

As final art is completed I’m adding it to the game, replacing the placeholders, writing dialogs and in-game texts at the same time and scripting mini games in between. We’re ordering sound effects and additional art from outsource sound engineer and artists. This is how gradually the alpha version turns into a nice looking finished episode that will shortly become available to our fans!

training_room

Odysseus Kosmos – Developer Diaries #5

repair_work

Hey there, friends! Welcome back on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.
After wrapping up character design I started working on the first-playable and on the game engine. There were a lot of serious preparations at this point. A lot of time was spent on designing and thinking the entire system through. I knew that the success of the entire development will depend on the core engine, so my efforts and time would pay off eventually.
A quest includes dozens of locations and hundreds of items. And there is always the temptation to implement this system directly in the code. Let’s say, we have four chests in a scene. Sure, you can write a couple of lines using C# or Java to easily handle the situation and walk players through the game story. And there is another location where you must help players picks two items in a row. You can add another line of code. Sounds easy, isn’t it? Not at all! In time the total difficulty of these conditions grows and can become overwhelming. Can you imagine what kind of construct grows in the code as you approach the first hundred items?!
I’ve chosen a different approach. The entire game logic for items is handled by a separate script. The core engine recognizes it and applies the conditions and commands to the items in scenes. If there is a command “make the character use this” – all right, let’s do this,

collect_01

collect_01

I can change the name of action in the script at any time to make it look like this:

collect_02

collect_02

No need for recompilation or reassembly. Four lines of script handle the four chests. No complexity growth whatsoever! The basic stable game engine does not change, no matter how many objects or interactions are added. You can be sure that the 1000th line will work just the same the 10th. There is no need to copy any strings and the required line can easily be found using the search function. And yes, I am aware of the frameworks available on the market… but none of these offered the required flexibility and some key features that I will focus on some other time.
I should also say a few words about the mini games architecture. There is different logic in different games, so we had no other choice but to write more code. But!

minigame_01_v2

Due to the features of the global engine structure, all mini games featured in all of the game episodes are absolutely isolated from the main engine. So even if something goes wrong in a mini game that won’t affect the main logic. This also has the benefit of non-strict discipline when coding the mini games. You can just work at your own pace and enjoy coding.

minigame_02

And next time we would like to talk about the episode structure of the game or continue our tale about the project development.

 

 

Odysseus Kosmos – dev.diaries #4

san_francisco_600x200_v2

 

Hey there, friends! Welcome back on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.
And now let us continue the story and focus on our spacecraft – “San Francisco” for a while.
“San Francisco” is a huge scientific spacecraft crafted by the entire human kind along with StarGaze corporation. It has been sent to the Gargan system with a specific goal. Its dimensions are 0,19×0,056×0,05 mi. The ship is equipped with propulsion systems and an experimental hyperengine. Potential practical distance of the engine is unknown. Battle weapons are not equipped. The spacecraft is designed for long periods in conditions of full autonomy.
Imagine yourself aboard a modern submarine completely alone… that’s what it would be like. Apart from the fact that our hero knows a lot about engineering and the spacecraft design and there is nothing but boundless deep space outside the windows. The ship is huge! There are hundreds of rooms and bays. Some of these players visit more often than others. Plus not the entire ship is accessible right away – not only due to the game logic, but also to picture the feeling of loneliness, endless space outside and this huge ship that became a home for Oddy. We are trying hard to capture these feelings.
There are residential areas, crew quarters and technical rooms on the ship, as well as large storages and navigation bays. The wardroom stands out in particular as the favorite place of the crew and the largest in the residential part of the ship. What a view!
A few words on the realism. Naturally, we are aware that in a hundred years space travel like that can stay a fantasy for the human kind. The game features a few fantasy conditions such as artificial gravity. But it’s a sci-fi game and details like that are required for the sake of an exciting story!
Next time we are going to talk about the technical and organizational sides of development.

Odysseus Kosmos – dev.diaries #3

plunger

Hey there, friends! Welcome back on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.
Some times ago I promised to tell you what character I was using as a placeholder for the main character in the very first demo version of the game. And it was… Cleveland Brown from the cast of “Family Guy”! The animation in the cartoon is clear and sharp, so I had no trouble cutting the character from required sequences and created a sprite that could stand, walk around, collect items and so on.

Odisseus_screen

All right, and now let us continue our tale of the project development.
Every story starts with a character. My Odysseus is a kind, smart and funny African-American, a flight engineer of the “San Francisco” research vessel. His features: average height, dark hair, A bit on the tubby side, but physical enough, not a wimp.
He loves some sound sleep and a nice meal, is smart and has a great sense of humor.
Odysseus is such a fun guy, you may think, but it’s not that simple. It’s true, Oddy has found his ways to enjoy life and tries to find benefits in any situation, but don’t forget that he’s been alone for seven years now, and that fact also had an impact on him… He became too lazy and is loosing his motivation. He tends to give up even on the simplest tasks. That’s why Barton worries so much.
Yes, Barton! What about our robot? Oh, I’ve had so many references for Odysseus’s robotic companion: from paranoid robot Marvin to TARS the service robot from “Interstellar” and a dozen other vivid characters from the golden age of sci-fi. And even though many of those had an impact on the character development, still Barton’s personality is unique and deeply connected to the personality of the main character.
Barton features a highly-developed AI and a bit of annoying personality, but also enjoys a good joke. Sometimes with a great portion of sarcasm. He is committed to setting various tasks for the engineer and reminding him on the errands on a regular basis.
But still he is a robot and must obey the commands of the crew members.
Odysseus understands that Barton is usually right, but based on his experience and intuition, he believes that not any problem can be solved using a formal approach. Barton sees his duty to constantly coerce the flight engineer to do his job, but also does his best to support Oddy, seeing how hard it is for him. He worries very much about the engineer’s state of mind.
By the beginning of the game’s story, these two seem to have found a delicate balance. Unfortunately it involves Barton pretending to set tasks for Oddy and forcing him to performing these, and Odysseus pretending to do so. Surely, some chores and some minor repairs are still being done, but this won’t be enough to overcome a difficult situation. Somebody will have to change his ways. The ship is in danger.
I suppose, next time we will talk about the ship that has become a home for Barton and Oddy in the last few years.