Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1343045 Posts in 61492 Topics- by 53034 Members - Latest Member: io-games

July 18, 2018, 08:21:50 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsLife on Mars (Sci-Fi Adventure)
Pages: 1 [2] 3
Print
Author Topic: Life on Mars (Sci-Fi Adventure)  (Read 2557 times)
io3 creations
Level 10
*****



View Profile WWW
« Reply #20 on: December 18, 2017, 02:35:34 PM »

Really like the visuals. In part it's the lo-fi nostalgia of Commodore 64 8bit visuals mixed with some of the 3d visuals I would've liked to see in games. Smiley

Having done various pseudo 2d/3d games, I'd say if your approach can handle your requirements then it's "good enough".  But having moved to Unity makes working with the 3d aspects so much easier.  It may not be able to handle every aspect, but at first I thought you created the game visuals with voxels.

Also, after reading the title, the visuals reminded me of Total Recall (the one with Arnie, not the recent remake). Smiley 
Thanks! I've been thinking about my approach a lot and it's a bit nuts, as you could easily do this kind of style in 3D in a lot more efficient way. But as I've always had a hard time wrapping my head around actual 3D programming, this is as close as I'll get.
Sounds strange that you'd have a hard time  with 3d programming given what you could manage so far.  Sure, certain aspects might be more complex but not necessarily more complicated.  Is there something in particular?


Also, there's something about retro-inspired graphics and sci-fi themes that really resonates with me, probably because I grew up with movies like Star Wars and Total Recall. Grin
Yeah, those were great movies to grow up with. Smiley

I was also going to mention The Martian.  To me it was interesting that based on the space exploration of the last few decaded (especially, having landed on Mars), I had this strange feeling of switching between watching fiction and watching a documentary. Smiley

Looks and sounds intriguing. I especially like the story, very current topic Smiley
Haha, thanks. I gotta admit, though, the story is the part of this project I'm the most anxious about. So far none of my games had an intriguing story (more a background for the gameplay), so I'm not the most confident about my writing abilities. But I have a lot of loose ideas so far, let's see if I can come up with a nice narrative with them.
That's funny because that's pretty much how I approached the "story" for my games so far.  There are a few more that don't really need a very deep story but eventually I'd like to do at least a few games with a decent story.  It doesn't seem that hard.  Just follow the tried and true formulas.  I'm looking forward to what you come up with. Wink


Worked on a new scene today. It's a station of MARSec, the police in the colony. I'm not a big fan of the colors (I always have a hard time finding colors that go well together), so I'm likely to do another pass soon. So far I'm happy with the layout, though. What do you think?

In general, if you haven't done so, you could look into color theory.  Complimentary colors is a good place to start for selecting colors that work well together. 

In terms of the image you posted, my first impression is that here's too much bright colors (the light green) in that location compared to other images that tend to have darker colors for the floor and brighter/lighter colors for the walls or other vertical surfaces.
Logged

io3creations.com :: twitter  :: YouTube
Mr E Key [formerly Mr E Soup] devlog
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #21 on: December 28, 2017, 12:15:31 PM »

The Music of Life on Mars

Today I want to explain my process for the music in Life on Mars. How this process came to be is quite the coincidence, as I discovered the software I make the music in at the same time as I came up with the idea for this game and I immediately felt that this was a perfect combination.



The Software
As I’m not a composer by any stretch and have only a vague understanding of music theory, I needed something that was easy to use and would take care of as much of the behind-the-scenes stuff as possible. I previously worked with Reason by Propellerhead, a very complex composing software that I was barely able to use to a small extent. But, to get to the point, in 2013 I discovered a small, compact app for iOS called Figure, which was also published by the aforementioned Propellerhead. The interface looked slick and the touch screen allowed for interesting interactions.


The interface of Figure, showing the three layers.

To give you a quick impression, here’s a little rundown. Every track consists of three layers, one for percussion, one bass layer and one for the lead instrument. For each layer you can select from a variety of instruments. Then you can play around with the layers, get a feel for it by touching on the colored rectangles (the output also depends on where you press the rectangle, which can be used for some cool effects). When you’re ready, press on the record button and start jamming.
When I was still learning to use the app, I started by just randomly hitting notes or swiping my finger over the screen, which sometimes lead to some cool psychedelic tunes like the one below.




The Limitation
I love using Figure, but it has one big limitation: tracks are very short. You have some basic control over how long the final track will be, by changing the amount of bars or the speed of the song, but in the end, most of my songs are between 10 and 20 seconds long. This may sound pretty short – it is – but this might not be a problem for the game I intend to make.
Let me explain: instead of having a normal soundtrack that plays certain songs at certain situations, I’m aiming for a more ambient feel, a backdrop of sound that enhances the feeling of being in a living world. This will be achieved by using something called 3D audio, which means that each sound or track has a position in the game world, so that the distance of the player to that position determines the panning and the volume of it. Often this is used for sound effects like cars driving by, but I want to use it for the whole audio. As the game plays in a colony on Mars, there are a multitude of shops begging for your attention by playing music, there are people walking around, chatting, there are – as mentioned before – cars driving by, etc. etc. All this will spin a web of sounds which in the end hopefully sound like a living, breathing place.


There’s also a big night club which will be important to the story, but here a lot of different music will be played, with people dancing to it, a light show and so on. My main goal with this approach for the music is to give the feeling that the music played in the game is not something that is played over the gameplay, but something inside the game world. To be more clear, in most games only the player hears the music, it is being played to enhance the situation he is in. In Life on Mars, everyone inhabiting the colony can hear the music, comment on it or be attracted by it. It is meant to belong in this very colony.
My big challenge will be to implement these different tunes in a way that they don’t become annoying after the third repeat. No song should overstay its welcome.

To wrap things up, here is a video of how a track looks inside the app. You can see how I moved my finger across the screen to make it. Below are also some more examples from the 45 tracks I have composed since 2013. I’d love to hear your feedback!







More Examples




« Last Edit: December 29, 2017, 05:54:17 AM by Rebusmind » Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #22 on: December 30, 2017, 10:27:08 AM »

UPDATE 02

Here's a little comparison of the different styles I could go with in my fake 3D game. On the left is the unchanged original, in the middle I've rounded all sharp corners and on the right I've used the LQ 4x filter on every layer. Which do you like best?


To test the new style out I've used it on the security station (while also adding new colors, which are hopefully a little easier on the eyes). I have to say, I'm pretty satisfied with the result, as I wasn't the biggest fan of the voxel look. I still have to see if it's robust enough to ensure that no important detail is lost in the conversion, but for now I think I'll stick with this.


One more technical thing: I realized that rotating the world around the player is absolutely stupid, as I'd have to calculate the paths for moving NPCs in every step, just to give one example. So I bit the bullet and changed everything, so that now the view rotates and all objects also rotate according to the view_angle. I had some problems figuring out how to handle movement now, but after a few days, everything worked (also thanks to a very helpful thread in the Game Maker Community). As you can't really see the changes in the gifs, you have to take my word for it. Wink

As the year ends tomorrow, I wish everyone a happy new year!
Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
The Armorman
Level 1
*



View Profile
« Reply #23 on: December 30, 2017, 11:10:06 AM »

life on mars was a really good tv show. are you gonna include any sub plots referencing david bowie. thank you for your time
Logged

BELOW FOR GOGNIOS

ABOVE, FOR GOGNIOS
nathy after dark
Level 5
*****


Bene Gesserit Witch


View Profile WWW
« Reply #24 on: December 30, 2017, 11:23:21 AM »

Wat, now that I know there's 2 TV shows and a David Bowie song, I gotta add all of those to the research queue for SpaceBard. Thanks for pointing that out @The Armorman.

Another good Mars-related thing I read recently was Sylvia Moreno-Garcia's Prime Meridian which might only be available to IndieGogo backers at the moment, otherwise I would definitely recommend it.
Logged

Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #25 on: December 30, 2017, 10:59:32 PM »

life on mars was a really good tv show. are you gonna include any sub plots referencing david bowie. thank you for your time
Haha, I really like both the song and the tv show (the UK one). The title is just a placeholder, though, hopefully I'll come up with something better when I've got the story a bit more fleshed out.

Wat, now that I know there's 2 TV shows and a David Bowie song, I gotta add all of those to the research queue for SpaceBard. Thanks for pointing that out @The Armorman.

Another good Mars-related thing I read recently was Sylvia Moreno-Garcia's Prime Meridian which might only be available to IndieGogo backers at the moment, otherwise I would definitely recommend it.
I think the TV show (and also the song) won't give you much information about life in space, as it has nothing to do with sci-fi or space. It's about a cop who after an accident finds himself stranded in the 70s. Throughout the series he keeps questioning if he really travelled through time or if he is just in a coma dreaming it all up. It's a great show (but also very british, which I needed to get used to after watching so many american shows). So regardless of whether it's good for your research, you should check it out. Wink
Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
Alec S.
Level 10
*****


Formerly Malec2b


View Profile WWW
« Reply #26 on: December 31, 2017, 09:37:42 AM »

I really like the look of this! 
Logged

Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #27 on: January 04, 2018, 11:19:15 AM »

Update 03

Played around with an idea: instead of animating the layers of an object, I just put the animation on it like a poster. Looks good so far, but need to make it more robust.

At first I started simply by drawing two triangles the way I needed them.


When I got that to work I added the actual sprite. Game Maker: Studio has a very handy drawing function called draw_sprite_pos(), which allows to specify all four corners of the sprite.


I cheated a little when I added this to the scene, as there are still problems with the depth sorting (the animation often clips with the other objects). But I'm happy the basics are working.

Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
io3 creations
Level 10
*****



View Profile WWW
« Reply #28 on: January 08, 2018, 06:28:03 PM »

UPDATE 02

Here's a little comparison of the different styles I could go with in my fake 3D game. On the left is the unchanged original, in the middle I've rounded all sharp corners and on the right I've used the LQ 4x filter on every layer. Which do you like best?


To test the new style out I've used it on the security station (while also adding new colors, which are hopefully a little easier on the eyes). I have to say, I'm pretty satisfied with the result, as I wasn't the biggest fan of the voxel look. I still have to see if it's robust enough to ensure that no important detail is lost in the conversion, but for now I think I'll stick with this.


One more technical thing: I realized that rotating the world around the player is absolutely stupid, as I'd have to calculate the paths for moving NPCs in every step, just to give one example. So I bit the bullet and changed everything, so that now the view rotates and all objects also rotate according to the view_angle. I had some problems figuring out how to handle movement now, but after a few days, everything worked (also thanks to a very helpful thread in the Game Maker Community). As you can't really see the changes in the gifs, you have to take my word for it. Wink

As the year ends tomorrow, I wish everyone a happy new year!
The new style looks good.  It still has that "rough around the edges" feel that implies a low res kind of game.

It's good that changed the camera code.  Now the camera can also follow NPCs (e.g. in cutscenes). Wink
Logged

io3creations.com :: twitter  :: YouTube
Mr E Key [formerly Mr E Soup] devlog
turnipinrut
Level 0
**



View Profile
« Reply #29 on: January 10, 2018, 04:47:31 AM »

this looks fantastic, great work  Beer!
Logged
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #30 on: January 12, 2018, 11:58:43 AM »

Populating Mars Part 1

This week I’ve worked on something I was looking forward to for quite some time: NPCs. So far they all looked very alike and only stood around, two things I’ve changed now.

How to turn 4 Clones into a Crowd
Until yesterday I had only four (male) NPCs standing around. As I split every NPC into a head, a body and legs, I was able to get some variety with those parts, but not nearly enough. So in order to increase the variety without making any actual new parts, I implemented a shader (by the great xot) that can take a color and replace it with another (with some cool features like taking similar colors also into account and retaining their shade).
To make this process as easy as possible, I colored the existing parts with a set amount of colors (1 color for skin, 1 for hair, 2 for clothes, etc.). So now I can add as many new heads and bodies and legs as I want and as long as I stick to these colors, they will be properly handled by the shader. The only thing I have yet to figure out is the output colors.
The easiest way is to just randomly assign colors. While this gives a maximum of variety, it doesn’t work for things like skin or hair. For those I defined a range of colors that are randomized.


The range of colors used for the skin of NPCs.

Below is a little gathering of NPCs as they appear in the game. Now there are two issues I still need to address. The first is to make sure that the chosen colors actually are different enough from one another so that they don’t look like a flat, single-colored surface. The second is that in the gif below there are STILL a lot of NPCs that look very alike and even have the same colors. I’m not entirely sure if the shader fails me sometimes or if the randomized colors just have a faible for green and blue (I assume it’s the former).


The typical morning roll call. Spot the clones!

Getting them to Move
As the game will be playing in a colony on Mars, there will be a huge number of NPCs in the streets and buildings. It won’t be like in most rpgs where there’s only like 10 inhabitants of a city that you can talk to, but instead there will be many NPCs going on with their daily lives. They go to work, have a drink, dance in the club, etc.


Look, an unrealistic amount of running around in a police station.

The way I do it right now is by simply assigning paths to some NPCs. This will most likely change in the future, as this leads to a scene that is maybe busy, but not very interesting. I assume very few people would be fooled by this into thinking that this is a lively place they are walking through. It’s just motion without a cause. To mitigate that a little I make them stop for a moment whenever they do a turn that is greater than 90°, but it only helps to break the monotony a little. This will definitely need some more ideas and experimenting.


Here you can see the paths the NPCs follow.

Reacting to the Player
One thing that has been in the game for a few weeks but didn’t actually work that well until now is that NPCs can track an object with their head. In this case, they will follow the player by turning their head. Before, they would simply turn their head until they directly look at the player, but as they are not supposed to be robots, I added some thresholds to prevent an impression from a scene of The Exorcist.
I also check whether they would actually be able to see the player in the first place so that they don’t track your movement all the time.


The white line shows the body direction, the green one the head angle.

This concludes this article about NPCs. I called it “part 1” as there’s still a lot to be done and this is more like a first pass. Next week I will hopefully start with the first interactions between the player and NPCs (mostly interface stuff). I’ll probably share the results in a week, so please be excited.

Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
io3 creations
Level 10
*****



View Profile WWW
« Reply #31 on: January 12, 2018, 01:16:07 PM »

Those scenes look highly "unrealistic".  Not a single person looking at their smart phones, PDAs or equivalent devices (whether or not walking or standing). Grin  Or are we looking at people with cybernetic implants?   Blink


Regarding the NPC color variety, I agree that there doesn't seem to be much variety and some seem almost the same.
Logged

io3creations.com :: twitter  :: YouTube
Mr E Key [formerly Mr E Soup] devlog
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #32 on: January 19, 2018, 09:03:19 AM »

UPDATE 04

This week I fixed some bugs with the color shader and now it works much better. A lot of times it would fail completely and just draw the default color, which resulted in many clones. The only problem I still couldn't fix is that there's one head that has 4 different colors (all other heads have less) for the skin, the hair and a baseball cap. Somehow the skin doesn't work properly and flickers randomly. I have no idea what causes this, but I assume it has to do with the shader itself.

Apart from that there's now a working dialogue system in the game! You can run up to an NPC and if he has something to say, a circle appears above his head. As you get closer, the circle gets bigger, then shows a button prompt and if you get even closer a description of the action. I really enjoyed coding this, as I love UI stuff that's responsive to the player. The hardest part was getting the relative coordinates of the NPC position, as the GUI layer in Game Maker has its own coordinates system. This wouldn't be so bad if there wasn't also rotation to take into the equation. Luckily I found a blog post that had a good solution.
Here's the effect I just described:


Next I implemented a dialogue system. It starts with a little camera rotation to ensure both characters are visible and then it shows the dialog in speech bubbles. At first it was pretty primitive with almost static bubbles. Btw. I bought the text effects on the Game Maker Marketplace.


The tuning of the speech bubbles took a lot of time. I wanted them to always fit the length of the text, so that it gets bigger for long text or even decrease its width when there's not enough text to fill a line. The code is pretty messy, but now it works and I'll leave it at that for now. I think, next I start putting some ideas for characters and the story on paper. I often think about it, but rarely write it down. I haven't decided yet how much I will be sharing of the story progression, but I'll be working on new scenes and voxel models as well to have some variety.

Here's how dialogues could look like in the final version of the game. I tried to hint to some characters I have in mind, but this is very WIP and everything might change.




Thanks for reading! Smiley
Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
io3 creations
Level 10
*****



View Profile WWW
« Reply #33 on: January 19, 2018, 03:30:34 PM »

The text dialogue reminds me of the issue of text size on different screens at different distances (e.g. some fonts being too small on large display).   It's on my To Do list for later, but wondered if you looked into it or considered it.
Logged

io3creations.com :: twitter  :: YouTube
Mr E Key [formerly Mr E Soup] devlog
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #34 on: January 19, 2018, 09:19:09 PM »

The text dialogue reminds me of the issue of text size on different screens at different distances (e.g. some fonts being too small on large display).   It's on my To Do list for later, but wondered if you looked into it or considered it.
I haven't yet. The gif showing the little scene is at 50% size (of a full HD resolution), so imagine the text at double the size and I think it should be pretty readable from a distance. But yeah, taking into account all the different resolutions (and aspect ratios) will definitely be an issue later on. Right now I want to concentrate on 16:9.
Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #35 on: January 26, 2018, 12:33:42 PM »

UPDATE 05

After coming up with a few ideas for characters, I distracted myself by building a level editor for Life on Mars and a bunch of interior objects. The game will feature a lot of apartments you can enter (e.g. when visiting a friend or even when breaking in), so I have to make sure there's enough variety. As usual I'm struggling quite a bit with the colors, but overall I'm satisfied so far.

Here's a screenshot directly from Qubicle (where I build the voxel models). This shows the raw models without the modifications I do later on (like transparency and making them smoother). Some of the objects are pretty rough, as the resolution of the objects is very low.


Below is a short video showing what the level editor looks like. Some of you might know how bad the editor in Game Maker: Studio is, so hopefully this will make the progress of designing levels less painful. Right now you can place, delete and rotate objects, choose from a list of objects on the right and save or load the room if you want to take a break. I save rooms in the same format as Game Maker: Studio, so that I can just copy them over to the game project once they are done.
It would be really cool to have an undo function, but as it is right now I can already start making levels and improve it whenever I feel I need more functions. Another thing I definitely want to add is the ability to stack objects, so that I can put plants on tables and so on.
I'm pretty happy I used this week to build this editor, as I'm normally the kind of developer that does things the hard way even if that means a bigger time investment and less fun.

If you have other ideas for the level editor, please let me know, this is the first time I did something like this.




Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
Benan_Grove
Level 0
**


View Profile
« Reply #36 on: February 06, 2018, 07:42:22 AM »

reallly not a fan of the amount of devs on here skimping on music just to do it themselves when it leads to bad progressions, bland rhythm and  lost opportunities for the player emotively AND the games overall lasting influence.

Logged
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #37 on: March 03, 2018, 04:05:19 AM »

reallly not a fan of the amount of devs on here skimping on music just to do it themselves when it leads to bad progressions, bland rhythm and  lost opportunities for the player emotively AND the games overall lasting influence.
Sorry for the late reply, I somehow overlooked it. I can totally understand your argument, but on the other hand this is one of the perks of making an indie game: creative freedom. I wouldn't call myself an artist and I would definitely not call myself a composer (or a writer, level designer etc.), but I have fun doing the graphics and music for this project and as I'm not doing this for a living anymore (after making some very unsuccessful games in the last five years), I don't have the pressure of competing with everything that's out there.
So if I release this games and some people don't like the graphics or music, then that's fine. It will still be something I have created from the ground up. This might sound stupid to some, but for now making this game is more important to me than everything that comes after that.
On a side note: I've very little time to work on this project, so collaborating with other devs would be very hard to coordinate. This is purely a hobby for now.
Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #38 on: March 03, 2018, 10:27:23 AM »

My first Level Editor

It’s been a while. I took a break from development for a week to play through Shenmue (one of my favorite games of all time) and charge up my batteries a bit. After that I’ve been quite busy with creating what will be the topic of this article: the level editor.
For those who know Game Maker: Studio it might not be shocking news that the room editor in Game Maker is quite lacking in functionality and user-friendliness. As I was working on the little train ride demonstration I was already noticing a lot of slowdown when moving objects around. In addition to that the unique way of drawing objects in fake 3D by stacking layers of sprites makes it hard to imagine the final output from the flat representation in the room editor. That made me come to the conclusion that making my own level editor (ironically in Game Maker) might be a good way to improve the workflow of putting together each level, of which there will be a lot.
While working on that I also started implementing a basic lighting feature, which you can see in action in the gifs below. But first let’s take a look at all the furniture I’ve created so far for the interior of many of the rooms you will be visiting.




Creating fake Worlds
At first I wasn’t the biggest fan of my own idea, as I don’t have a lot of experience in creating tools and most of the time they come with their own limitations and usability issues. The workflow of building the voxel models and getting them in a format that is usable for my fake 3D engine is already very time-consuming and complicated (needing four different programs), so my main focus was to make something that is very easy to use and only does what it needs to do.
I have to admit I took some shortcuts in order to speed up development, like putting most functionality on hotkeys without any second methods of input (like buttons). This might become messy if I take a longer break from it, as I’d likely forget which key does what, but I tried to only use Shift, Alt and Control for most of the stuff, so hopefully it’ll be managable.
I already showed the basic workflow in my last update, so I won’t go into detail about putting down objects and such, but rather highlight what is new.

The first thing I had to think over was how I implemented the “ground” of levels. Before they were just another piece of fake 3D geometry I put in a level (as one object) with the special feature that it is not affected by the depth-sorting algorithm (as the ground should always be below everything else). Also, I didn’t split it up into chunks because of this, as no objects could move below the ground (even though I can fake this by assigning depth values by hand as I did in the train demonstration).
As I changed the whole engine from rotating around the player to rotating the world instead, there was a new possibility to implement the ground that was way easier, more flexible and less ressource-hungry: tiles.
This may sound like a no-brainer, but I was very happy when I realized that this was possible now. Adding functionality to place and remove tiles was quickly added, for the flood fill algorithm I needed some external help (a.k.a. a script from the Game Maker Marketplace).


Adding tiles via flood fill is very simple and also takes walls into account. (please ignore the shading, this was still WIP at that point)



Let there be Light(ing)
I was playing around with the idea of having some kind of lighting (or shadow casting) in the game for quite a while, but couldn’t really think of a way to do it. Most 2D lighting engines I know just draw primitives away from the light source on a flat plane (a surface in Game Maker terminology), but that would look awkward when just put over the ground tiles. In order to find out if there are some stylized methods of creating a somewhat believable lighting system I just went ahead and implemented one of the engines I found (again on the Game Maker Marketplace, there’s some great stuff there). It worked pretty well as is and wasn’t as distracting as I thought it would be, but to improve the visuals a little I made two big changes:

  • Add a second shadow mode: the lighting I got from the Marketplace draws primitives like I described above, which looks good for walls and other objects that don’t have a limited height. For everything else I added a second mode with more detailed shadows. For that I draw the whole stack of sprites of the object in the direction of the shadow. As I generate the shadow surface only at the beginning of the level, I can draw this as precise as I want (using hundreds of draw calls). You can see the difference between these two modes in the image below.
  • Shade objects as a whole: I was trying to wrap my head around how to light objects from each side, but everything that came to mind was way to complicated, especially since I’m a shader noob. So instead I again went the opposite direction and tried to implement the easiest method, which is shading the whole object with one color. As the game uses highly stylized graphics with a lot to be left to the imagination of the player, this worked out pretty well, I think. As it is now I just look if the object is near a light source and whether it is occluded by another object and compute the amount of shading that way. It definitely needs some more tuning, but so far I’m very happy how much better this looks despite using very simple solutions.

As I mentioned earlier, the whole lighting system is static, the game only computes the shadows at the beginning of a level. I wanted to make it dynamic at first, but as most objects don’t move, there’s really not much use in generating a shadow surface in each step. In the end I will probably use a combination of both the static shadow map and a dynamic overlay for NPCs.


Left: the lamp is below the chair and therefore uses the simple shadow mode. Center+Right: the lamp is above the chair and uses the more detailed shadow mode.

Here are two rooms with the lighting on:
   



What’s next?
After developing the level editor to a point where I could actually use it as intended (making levels and easily transferring them into the game), I immediately started creating the scripts used for cutscenes, which will be one of the most important aspects of the game, as there will be a lot of story. It took a few days, but one of the first scenes I’ve written is now playable in the game. I’ve tried to make it easy to build cutscenes, but in the end I will need another self-made tool to speed up the process, so in the upcoming weeks I will do just that: make another editor for cutscenes that allows to drag and drop elements into a container, set each value of these elements (there will be quite a few elements, like one to start a conversation or one to move an NPC, etc.) and test the scene on the fly without having to recompile the project. I already have a pretty specific vision in my head how it will look in the end, so let’s see if I can actually pull it off. :D
Below you can see a video of the cutscene I built (as always: WIP).

If you have feedback to anything regarding the game, I’d love to hear from you! Smiley



Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
Rebusmind
Level 3
***


Game Designer


View Profile WWW
« Reply #39 on: March 09, 2018, 08:22:28 AM »

UPDATE 06

Just a quick update to show I'm making progress. Right now only the most basic functions are in. I can load/save cutscene scripts, add new events and change their values.
There's still A LOT missing, like rearranging the order of events, deleting events and playing the cutscene (it's implemented, but has some bugs). I also want to be able to create paths for NPCs during runtime and drag NPCs around for general movement.
This will probably take some more weeks to get into a state that I can work with, but hopefully in the end it will be worth it.

Logged


<a href="http://www.indiedb.com/games/life-on-mars" title="View Life on Mars on Indie DB" target="_blank"><img src="http://button.indiedb.com/popularity/medium/games/65022.png" alt="Life on Mars
Pages: 1 [2] 3
Print
Jump to:  

Theme orange-lt created by panic