Adam's Lair Forum

game development and casual madness
It is currently 2020/06/05, 01:26

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 23 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: 2016/01/18, 13:29 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 151
Location: Budapest
Role: Hobbyist
Hi all,
Let me introduce you my first creation with Duality, a space themed roguelike (by that I mean procedurally generated levels and permadeath). I consider it finished regards to the current feature set, but of course, there's always room for new features.
The gameplay is based on the corresponding official Unity3d tutorial, though there are minor differences in the game logic, obviously major ones in the implementation, and because of the changed theme (the original was fantasy dungeon-like), the artwork and audio was created from scratch.



The rules are pretty obvious in my opinion (please let me know if they are not), I do not want to spoil your joy of discovery, but there are some hints:
  • Control your character with the arrow keys. Escape key exits the game.
  • Every move costs you oxygen, don't waste it!
  • You can break rocks and attack the enemies with your plasma torch!
  • Collect O2 containers to restore your oxygen levels.
  • This is a turn-based game, you can move every turn, while the enemies move every second one. They chase you!
  • If an enemy plays it's turn next to your character, it attacks you, and you lose oxygen. Try to avoid that!
Surprisingly, the latter two leads to somewhat deep and complicated gameplay (well, compared to the simplicity and small number of features involved), especially on higher levels.

Future plans
  • Menu System - Just a little GUI, to perhaps set audio levels, and store the highscore. A new game button. Credits.(DONE)
  • Online Highscores - To keep the people play the game. There are free highscore hosting services out there, as far as I know.
  • Resolution - ATM, the resolution is fixed at 640x640, and the game code is heavily dependent on this fact. I do not know any easy way to fix that.(DONE)
  • Implement a simple item system. Nothing too fancy, just 4-5 items to begin with. They'd passively impact the gameplay, like in Risk of Rain. I hope that increased the fun and replayability factor.
  • Some post-processing effects to make the game visually more appealing. I'm rendering the scene using a RenderTarget, it's easy to introduce a custom fragment shader into that pipeline. Which is not that easy is to write a good one! :D

And in general - if you have any thought, criticism or idea please share it :]
Thanks for reading, here's the GIF:
Gfycat Video - Click to Play. [Source]

EDIT: itch.io widget
EDIT2: v1.1 infos added


Last edited by loeller on 2016/01/27, 20:18, edited 2 times in total.

Top
 Profile  
 
PostPosted: 2016/01/18, 14:33 
Forum Addict
Forum Addict
User avatar

Joined: 2013/09/19, 14:31
Posts: 883
Location: Italy
Role: Hobbyist
Nice!

nice, nice, nice, nice ^^

Dead after 11 days due to a space amoeba sucking all my oxygen :/

The controls are good, difficulty ramps up nicely (starts to get difficult once you hit 3 monsters, you can't run past them all anymore) and the music is catchy enough :)

It's a little too easy to figure out the monster's pattern (they move towards you horizontally if possible, or vertically once they reach the same column as you); maybe you could make them move up or down if it's not viable to make them move left or right, just to attract them to you and not let them camp out the 2-squares wide path to the exit :D

All in all, it looks polished and neat as it is.

Maybe adding a way to kill the monsters? maybe you could find guns with 1 or 2 shots that could work on adjacent monsters?

Just my 2 cents ^^

_________________
Come on Duality's Discord channel. We have cookies! :mrgreen:


Top
 Profile  
 
PostPosted: 2016/01/18, 15:26 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 151
Location: Budapest
Role: Hobbyist
Thank you! :]
11 days was my record for a time too, until today's extremely lucky 21 days run.
I'm afraid, that the advanced enemy movement would increase the difficulty too much, but maybe, if it is paired up with the ability of killing enemies, it can be viable.

Just another question: how would you rate the visual art? I'm not really satisfied with my pixelart skills, does the spriteset feel placeholder to you?

EDIT: missing words :D


Top
 Profile  
 
PostPosted: 2016/01/18, 18:04 
Forum Addict
Forum Addict
User avatar

Joined: 2013/09/19, 14:31
Posts: 883
Location: Italy
Role: Hobbyist
loeller wrote:
Thank you! :]
Just another question: how would you rate the visual art? I'm not really satisfied with my pixelart skills, does the spriteset feel placeholder to you?


I like it.. feels retro ^^

_________________
Come on Duality's Discord channel. We have cookies! :mrgreen:


Top
 Profile  
 
PostPosted: 2016/01/19, 12:09 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 151
Location: Budapest
Role: Hobbyist
Thanks for the feedback! :]


Top
 Profile  
 
PostPosted: 2016/01/20, 22:16 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
I've meant to give some feedback on your game since you posted, but didn't manage to actually write that posting until now. So here it is, even though I may be a bit late ^^

First things first, I died on Sol 10 and I really wouldn't have imagined that game to be so hard (which isn't necessarily a bad thing). I also wouldn't have expected that you'd have to think about your exact moves, and while it may not yet be as replayable as other roguelikes due to its lack of variation in the long run, that's still a really neat detail. It's almost more of a puzzle game in the later stages, especially without the usual "growth" aspect that a lot of roguelikes have, but with a higher focus on movement strategy. :)

So, while the combination of not having weapons or a growth mechanic and enemies moving every second turn is a great case of a simple mechanic with complex emergent situations, the procedural generation makes it feel a bit unfair at times. If every level would be handmade, the level designer could in theory make sure that there is a particular strategy that allows you to pass through a level "perfectly", and players might get that and be eager to figure it out. With the current spawn of levels, however, enemies sometimes just start in unfair positions that make it near impossible to get through without losing a lot of oxygen - and I think this is where the concept breaks a bit: After a while, you begin to think that you lost because you've had bad luck with the level, not because you made a bad decision. And that might take away a lot of the long term motivation / engagement.

Concluding this, I think the most awesome game element you could add would be a new procgen algorithm that acts like a level designer and makes sure each level has at least one theoretical perfect solution, i.e. one where the overall loss of energy is equal to the gained energy - so, as long as players don't make a single error, they could go on playing indefinitely. And this is where the online highscore you mentioned might jump from "cool" to "awesome". :)

I'm aware that this is not that easy to implement, but (just letting my mind run a little bit here) if you have a completely deterministic, turn-based ruleset, you could probably let a small simulation be part of the proc-gen? Or maybe I'm just running off on that puzzle game tangent. :D Not sure about that.

That said, I think it's an overall nice and small game, I like the selfmade graphics and animations a lot and the audio fits quite well. And it's awesome that this is on itch.io! *casually looking in SirePi's direction before going back to topic* Overall, thumbs up for this game! Hoping for some updates on this :)


Quote:
Resolution - ATM, the resolution is fixed at 640x640, and the game code is heavily dependent on this fact. I do not know any easy way to fix that.

You can configure your Camera to render onto a RenderTarget with a Texture for storing the data, and then render that Texture to screen (using a custom ICmpRenderer) in a final rendering pass that only renders that specific ICmpRenderer (by giving both a special visibility flag and make regular rendering not see that flag).

That way, you have a fixed resolution of 640x640 but can control exactly (in your custom ICmpRenderer) how to display the final image on screen. You could center it and scale it (unfiltered) to the largest available integer multiple (640, 1280, 1920, etc.) for example, allowing to resize the window arbitrarily, but assure sharp graphics in any case.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
PostPosted: 2016/01/21, 22:53 
Forum Adept
Forum Adept
User avatar

Joined: 2015/03/15, 02:49
Posts: 354
Location: Out there
Role: Hobbyist
I died after 14 days.
Game is hard-ish. Nice graphics, cool music. But sometimes I feel that there's no escaping the slimes from space anyway you move, making dying a sure thing.

Good job.

_________________
Hello there! Nice to meet you!
I have github. Apologies in advance for bad coding practices.


Top
 Profile  
 
PostPosted: 2016/01/22, 12:35 
Veteran Member
Veteran Member
User avatar

Joined: 2016/01/10, 10:56
Posts: 151
Location: Budapest
Role: Hobbyist
Adam wrote:
...

Thank you for the review!

First things first, despite I stated in my initial post, that this game is finished (regards to the feature set at the moment), I know, that in it's current state it's not really enjoyable due to the lack of features and unpolished, low-joy gameplay mechanics. I cannot imagine anyone would play that repeatedly, just for fun.

These things said, however, influenced by your post, I can see two ways further developing this piece of code, and morph it to a truly enjoyable product:

  1. The puzzle game: Based on the principles you've stated in your post, there'd be a perfect way to complete each level. Maybe a few new additions (different enemies, etc) Oxygen level persistence between levels and permadeath would be removed, or being set optional. Online high score table would be an essential addition. Ported to mobile and/or HTML5.
  2. Hardcore-ish Roguelike: This being one of my favorite genres (4X being the other one - me too looking at SirePi's direction :D), I can state, that in these games there are simply terrible, unfair situations, that the player is not supposed to solve without any loss, and in many cases, he/she will fail because of them. On the other hand, there's also a chance of a lucky event: something that increases the probability of survival on a major scale.
    These events should be rarely lethal/instant win, and the runs should be long enough to balance the odds. There should be also a variety of game mechanics, with multiple player decisions (i.e. different player character configuration, different areas to choose from, etc.) in order to have the game engaging through multiple runs.
    It's obviously hard to implement too, so if I go this way, I need to have detailed plans regards to the new mechanics and game balance.
  3. There's always a third option.
So, as you can guess, I'd rather go with latter (2.) option. Even if there's a larger chance to fail or give up during the process, since it not only requires programming/algorithm skills, but several good game design decisions.
But first I'd like to implement a simple menu system and resolution change dialog (thanks for the hint on that!) During that I hope I can work out the decision.

eyeliner wrote:
I died after 14 days.
Game is hard-ish. Nice graphics, cool music. But sometimes I feel that there's no escaping the slimes from space anyway you move, making dying a sure thing.
Good job.

Thank you for the feedback!
By surviving until Sol 14, you keep the official community record for the game, as far as I know! :]


Top
 Profile  
 
PostPosted: 2016/01/22, 13:54 
Forum Adept
Forum Adept
User avatar

Joined: 2015/03/15, 02:49
Posts: 354
Location: Out there
Role: Hobbyist
Well, I took a risk based approach. I think I can improve it with a bit of luck. :)

_________________
Hello there! Nice to meet you!
I have github. Apologies in advance for bad coding practices.


Top
 Profile  
 
PostPosted: 2016/01/22, 21:21 
Site Admin
Site Admin
User avatar

Joined: 2013/05/11, 22:30
Posts: 2073
Location: Germany
Role: Professional
loeller wrote:
as you can guess, I'd rather go with latter (2.) option.
So a roguelike it is ^^

loeller wrote:
But first I'd like to implement a simple menu system and resolution change dialog (thanks for the hint on that!) During that I hope I can work out the decision.

As far as the resolution change goes, you could also make the game window resizable and react in your game loop by adjusting the rendering setup. That way a user wouldn't have to go back to the options menu and could easily resize mid-game.

_________________
Blog | GitHub | Twitter (@Adams_Lair)


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 23 posts ]  Go to page 1, 2, 3  Next

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group