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.

Odysseus Kosmos – dev.diaries #2

shower

Hi there, friends! Welcome back on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.

Let’s continue our story. Last time we’ve talked about a famous game that encouraged me to launch the development of my own game.

Without further ado let me say that it was Life is Strange =)

Yes, perhaps the game has a wonderful atmosphere and storyline, but… And there are quite a few “buts”.

Before I go into detail, let me explain my first expressions. As I already mentioned, by that time I had been thinking about developing my own quest and evaluated some new games.

So here I am, launching the first Life is Strange episode with a faltering hope. By the way, the game’s genre is stated as Adventure anywhere you look. I remember the character sitting behind a school desk and me realizing that I can use the items in front of her. Wow! Be still my pacing heart. I examine the first location and see new actions, dialogs, storyline progression.

Could it be?!

Could it be a real quest with location examination, atmosphere and smart logical solutions? I looked forward to many hours of wonderful game play and could not believe my own luck…

You all know what happened next. In the next ten minutes my hopes were shattered. I was deeply hurt. It felt like I was tricked and my present was taken away.

No, I’m not criticizing the game. Life is Strange is a solid project with a wonderful atmosphere. It has a lot of fans and deserves some praise.

But it’s not an adventure game. It’s not a game at all, honestly speaking. It’s an interactive movie pretending to be a game. You won’t feel the satisfaction of finding a slick solution. And I could not forgive this.

I remember the same evolution of Tell Tale Games projects (obviously, LiS is created based on Tell Tale projects pattern). Their first series – Sam&Max, Tales of Monkey Island, Hector – were similar to logical games, especially Sam&Max, but what followed … Later there was less and less “game” in the game play and more and more interactive movies, where the player makes no decisions. I understand that they had their reasons to change the direction (probably due to marketing reasons). But it was sad, and Life is Strange яwas the result of this sad path of changes. By the way, do you agree? I’m not saying there are no decent games, but in my opinion Tell Tale and LiS have chosen a wrong direction…

That was the point when I realized that Odysseus Kosmos must be created. I knew I was not alone. There must be more people craving for smart and deep game play with logical puzzles and location examining. I knew right away what my goal was.

I started by describing character concepts. It’s a rather long story, so let us take a break for now.

Thank you for paying attention, we will continue next time. Sign up for updates to follow if you’d like to read more!

Odysseus Kosmos – dev.diaries #1

dialog_anim_2

 

Hey there, friends! I’m glad to see you on board of “San Francisco”, a huge spacecraft travelling far, far way from planet Earth.
Where do I start?
The folks at HeroCraft (our publisher) asked me to tell you a little bit about the project “ Odysseus Kosmos and his Robot Quest”, how the idea behind the game was born and how the development is progressing. I’ll give it a shot, please don’t judge too harshly.

Most people probably won’t understand the way I feel about this, but… I should start way way back from wonderful classical adventures from the golden age of quests, such as Monkey Island, Full Throttle or Space Quest. If you are one of the few connoisseurs of the genre, you’ll know right away what masterpieces I’m talking about. If not, just take my word for it: these are wonderful (and rather complicated) games with great atmosphere that were practically super hits back in the day.
I am a fan of adventure games myself, and I’ve played almost all significant games in the genre and find some of them truly great. And naturally I have always dreamed about creating my own quest at least a bit similar to those marvelous games. So let’s just give each other an understanding nod (maybe you are a fan of adventure games just like me) and carry on.

Let’s start in the year 2014, when I’ve watched the movie “Interstellar” and was completely blown away by it. Once I got back from the movie theater, I jumped to reddit and other forums and started reading through user comments. Of course I wasn’t the only one who has taken the movie so close to heart. One of the most commented storylines was the story of Romilly played by David Gyasi, who had spent 23 years in orbit waiting for his crew. This has happened due to extreme time dilation.
This idea captured me. What would he do during these 23 years? How would he make the time pass: ship repairs, conducting experiments? It was then, when I thought it would be great to create a quest based on this idea, since the story fits into classical genre nicely: a handful of characters, a complicated plot, and a lot of issues with the spaceship, which have to be solved by the lone hero.
As time went on, I grew more and more fond of this idea. It was clear that I couldn’t copy the story from “Interstellar”. Furthermore, it was such a serious movie, whereas I always wanted to develop a fun game that would spread good mood and cheer and make people smile. I figured that Odysseus couldn’t be alone in orbit and so the robot Barton appeared. This patient and just a bit boring working unit keeps bothering Odysseus, whereas he prefers to laugh it off to make the robot go away. Later other details were added, so the storyline of Odysseus Kosmos is a lot different from the movie.
So I was thinking about the game for a lot time, but couldn’t get myself to start development. I was exploring Unity engine at that time and was proficient enough to launch a project (“Odysseus Kosmos” is not my first Unity-based indie title, I did a small arcade “16-bit Tank” before that). But I lacked that final resolution, a sign that would push me to start developing. I was just passing time waiting for this “sign”. Until finally a new game gave it to me.
I must note that the game is really popular and has a lot of fans. But I was so disappointed by it that I finally decided to build my own game.
Thank you for paying attention, we will continue next time. Sign up for updates to follow if you’d like to read more!