• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

 Bogarash[2d RPG]GM1.4

YanBG

Member
GM1.4, thanks for the feedback! I'll see what can be done for the bumps to be improved, maybe they should look like stones.

I've added roofs, took me some time to figure how to check for the correct house parameters, but i went with 2d array:



I'm still not sure how to fill the space between roof and walls.
 
F

FROGANUS

Guest
been lurking a little on this project and notice some nice progress!
i used to avoid turn-based games back in the day, but i've gone back and enjoyed some of these classic games, especially since they're so accessible now.

i could only try the game for a limited time, but here are some random thoughts:

-the artwork is cool. i like the 3d sprites, curious how you're working on these. are you actually exporting from blender or poser or something?
-the sounds are good so far, voice acting really nice. bgm nice. background storm(?) sounds a bit harsh stops short.. (long smooth fades in and out for background clips would help)
-i ran it windowed, seems to have some hud issue- some stuff cut off at bottom rather than docked within window, mouse cursor draws trail in black area..
-clipping/collisions and control could use a little polish- found myself getting stuck sometimes. the click to move seems to let you thru some gaps that you wouldn't be able to walk through with wasd. id almost recommend using just wasd, but not sure of your intentions and how combat and everything will work.
also, something about directional motion seems a little.. weird? i get that up and down are slower due to perspective, but it seems even over-exaggerated especially compared to diagonal motion.. maybe i could get used to the gamespace with more time..
-one warp sent me into a black room, stuck.

you seem to be progressing with the textures. I'll say the overall some things still look a bit 'over-saturated' especially the grass. the grass actually kinda looks like astro turf. maybe some dirt showing through would help?

in general, i'd recommend using more subdued pallette for all background textures, and saving the use of vivid greens and reds for hud, cursors, icons, etc.

just some thoughts, might try to get a better testing in the future. keep it up!
 

YanBG

Member
Thanks man! Did you play the version from dropbox? I've mostly redone the game but the feedback is still helpful and a nice read!

I render from blender to 2d frames, it's mostly automated, then draw the sprites in GM as usual. I improved the collisions and pathfinding, there are couple ways to implement the left-click movement: the character would face the mouse and travel in the angle/direction but one tile at a time or like before you can click behind obstacle and the player won't go straight but will go on a curved path. I kinda want to have the second but we'll see, during the testing.

I have plan for the grass tiles. This is exempt from Diablo 2 and it's many variations:


I'll try to iron out some bugs and post a demo.
 
Z

zendraw

Guest
some picture on the walls. altho why dont you go to some village and look around. im sure there are meny things that you can use as decorations.
 

YanBG

Member
Good idea, picture would have to be only on the inside. I'm trying to get the best results with as few as possible elements. For example something like a wheel, can be on it's own because i can place it on various places.
 
F

Felipe Rybakovas

Guest
Very nice indeed. =)

How you are storing the cities and maps ?? Chunks ?
 

YanBG

Member
Wow guys, great news! All of a sudden the game reach 1000fps(last time was 300). Well the updated code pays off, now i'm more confident to finish it and just add more content.

I made the roofs and doors to disappear when you enter a house for the first time. Also added these jagged stones on the grass, do you like them?

 
Last edited:
F

Felipe Rybakovas

Guest
Impressive! Do you mind to share a little bit what techniques you've implemented to achieve that ? =)
 

YanBG

Member
Deleting the tiles outside of the view maybe, also i have only a few objects and assign different names and sprites, more use of backgrounds(add sprites for only animated units). For menus i'll use surface.
 
F

Felipe Rybakovas

Guest
Deleting the tiles outside of the view maybe, also i have only a few objects and assign different names and sprites, more use of backgrounds(add sprites for only animated units). For menus i'll use surface.
My solution was to draw the floor and walls using vertex buffers... more or less like a decal. Huge boost for me. Tiles in my experience was tanking for good the performance... Dont know why.
 

YanBG

Member
New GUI for the quest log/journal, each one have icon but they are on the left with the text next to them. If there are many active quests you can scroll through them, up and down. The background is a simple rectangle rather than a sprite looking like a book etc. On the right is the skill window, i plan to add the same background there. Not sure about the inventory and statistics window yet. Thoughts?
 

YanBG

Member
Update on the random world generation, i wanted to make it a continent(with water on the edges of the map) and it took me some time to figure the code but it turns out to be very simple, just check the distance from the center and reduce the noise when it's further away. Here are some of the variations:
 
Last edited:
F

Felipe Rybakovas

Guest
Very NOICE =). I want to use perlin noise in my game too... but to generate open space maps and then put the location of the dungeon on it. How do you solved the travel issue that you were having ?
 

YanBG

Member
Thank you! Keep me informed of your random generation progress. Right now i also try to figure how to code the different locations(small town on one side, large on the other, enemies in between, ports on capes etc) on top of the procedural island.
I haven't implemented the travel yet but i plan to make it with waypoints from NPC ships. I don't want the player to be free to sail to the edge of the ocean.

On this map(1024x1024 pixels/tiles) the orange rectangles are the NPC houses which make a town. But i have to add some more constraints, i want them to be always around 10-12, not more and not less, also lumped closer together to leave more space for other stuff.
 
F

Felipe Rybakovas

Guest
I'm refactoring my project buddy! Soon I'll come with some good news! It will be for the best, you'll see.
 
F

Felipe Rybakovas

Guest
BTW, you had modeled all your characters yourself? =) looks pretty good.
 
F

FROGANUS

Guest
agree, 1st version looks more natural and 'compositional'.

thanks for sharing this interesting terrain generation info- i've spent way too much time meticulously placing tiles trying to make 'natural' levels in the crap room editor (yeah, i'm on version 1, lol). i guess the modern game dev is developing not just his game but his own tools to advance that development..

btw, the fog has a nice effect on the overall graphics, though it all looks nighttime now..
 

YanBG

Member
Thank you! I'm trying to make it less blocky.

I've added more variation to the border tiles. Progress is slow but i have plans for many objects to make the environment more natural.
 

Joe Ellis

Member
Hey I like the look of this, it reminds me of alot of games I played and saw in the 90's.
I saw on rich_hopeless_composer's thread you wanted to find some way of pixel art'izing the rendered characters.. this might be the solution, or at least give you a good starting point or template:
http://research.cs.rutgers.edu/~timgerst/

Scroll down to the end of the page and there's an exe of the program :D

You might have to play around with the settings for ages to find something that works but once you find that, this could definitely give you at least a starting point to carry on editing from.
 
Last edited:
C

ChimaereJade

Guest
Your projects seems to be really cool! I like that you mentioned the style of diablo 2 and enjoy some similiarities. Your dark style creates some good mood and the technical aspect seems to work fine too. Keep up the good work! :)
 

YanBG

Member
@KayleMaster thanks man, how is it going?

@Joe Ellis hey that's exactly what i meant, will have to read the references. I was trying something with the settings in blender but it looked bad.

@ChimaereJade I'm glad you liked it. :) I'll try to make the environment a lot more detailed.

Last few days the progress was slow. I'm looking into making the spritesheet generation faster and automated, seems possible inside blender with only Python Library. That would help with advancing the paper doll system for characters. I cut them into pieces, then will render the torso with various armor:


This spritesheet also works as included file(1000x1000 pixels is optimal since GM makes texture page for each) and then drawn as background_part. Modders then can edit the graphics direclty :D
 

YanBG

Member
Small update, i got this shader that draws the tiles infront of the player with reduced alpha. What do you think, which is better/you prefer, this or the silhouette method?


Other than that i have issue with blender, it has only 20 layers for the models, so i can't prepare all pieces of equipment i have in mind(atleast 40-50, only the hairstyles are 5) in the same 3d file.

Here is example of the character creation menu, the base sprite can be colored(i'll improve it so it looks more natural) to represent different skin tones:
 
Last edited:

CMAllen

Member
Selection groups is the answer to your Blender woes. Add items into specific groups (I'd suggest appropriately naming said groups), using those groups to hide or reveal the parts you want visible or not.
 

YanBG

Member
Yeah i read that's the only way possible or using the layer switcher addon, it would have to be adapted to my script though, maybe with a for loop.
 
F

Felipe Rybakovas

Guest
Great progress mate! =))) I´ll call for your help when I started to modify my models! Yours are very good!
 

CMAllen

Member
Yeah i read that's the only way possible or using the layer switcher addon, it would have to be adapted to my script though, maybe with a for loop.
Really wish I understood more of that sort of thing. Facing a similar quandary with creating my own character graphics. Many characters. 8 directions. Lots of animation sets. Just thinking about all of it makes my head hurt.
 

Joe Ellis

Member
How are you grouping the sprites? I can think of a few ways that are kind of simple, is that what you're talking about? I'm not quite sure lol
 

YanBG

Member
@Felipe Rybakovas thank you, i'll be glad to help :)

@CMAllen actually thanks to your comment i looked it again last night and there is simple code, i'll try to implement it today:
Code:
for group in bpy.data.groups:
    for object in group.objects:
I'll give you my current script, depending on the renders size it takes about an hour for 20 pieces X 4 animations(~3600 frames), it creates the spritesheets too. I haven't figured how to add additional animations that will render only for specific objects, like two-handed or ranged attack, well i guess i need them for all armor props, just the one-handed melee should be excluded but sounds like too much lines of code.

@Joe Ellis blender creates the spritesheets. What ways do you have in mind?
 

Joe Ellis

Member
Oh I thought all the characters were made out of several sprites during runtime, nevermind, I just had a couple of ideas on grouping them so they have the same depth, making the character as a whole have 1 depth which'd make the sorting process simpler, but if they all use 1 sprite it'd be like this anyway lol
 

YanBG

Member
Oh you mean that, yeah the character is made out of pieces during runtime, but i don't use the built-in sprite system. Although even with it the code would be similar, just a few draw_sprite(head piece listed last to show on top) inside the player object which will use it's depth. Btw i stopped assigning sprite_index or using draw_self long time ago.

Right now there is a bug with the arm pieces, i'll need the left and right separated and then depending on the angle the character is facing draw one before the torso and the second after/above it(same for the weapons and shields i guess). You can see the left arm piece is overlapping the torso. Other option is in blender to render the parts covered by the torso transparent but different armors can be wider so i think sorting it inside the game would be better.

Btw i'm looking into dynamic shadows, these are not rendered with the 3d pieces(for a few reasons, one to avoid overlapping but also to reduce the size of texure pages).

 

YanBG

Member
I got back to the above ground level and have some ideas for the houses. I want to add many procedural towns and i will expand the roof/walls skins.

I want to change the roof angle from 30 degrees before, to either 15:

or 20 degrees slope:


I focus on improving the graphics as well because i want to show and market a demo/trailer in a few months.
 
F

Felipe Rybakovas

Guest
that is great mate! Keep going!! Can really think about procedural generation on roofs.... but I can imagine that you have the grid set right ?
You can work with some kind of path logic based on grid values. Like near to the center higher grid values and less as far it goes.

BTW, how you are doing it now? And how you make ir transparent ?
 

YanBG

Member
There is a grid for the whole map. Each house's x,y,width,height,orientation,roof type etc is in 2d array. The roof tiles for each house are on unique layer inside the player's alarm i check if he is in a house and hide the correct roof layer.
 
F

Felipe Rybakovas

Guest
There is a grid for the whole map. Each house's x,y,width,height,orientation,roof type etc is in 2d array. The roof tiles for each house are on unique layer inside the player's alarm i check if he is in a house and hide the correct roof layer.
By layer you mean... different y values for depth? Cant figure how to create a layer on 1.4
 
F

Felipe Rybakovas

Guest
got it, but how you know what tiles you need to hide? like... you get only the current house roof or all of then ?
My question is how you know the length of the roof that you need to hide.
 

YanBG

Member
got it, but how you know what tiles you need to hide? like... you get only the current house roof or all of then ?
My question is how you know the length of the roof that you need to hide.
In the main grid, all housing cells have a specific value and when i loop through the map to do the tiling, check that value then place the walls, floor and roof. But inside the roof script i first loop through the houses array and if this cell is inside the array's position(i.e. house x,y,w,h) i place the roof tile and assign the same depth to the whole roof of each house. Then i hide the roof of only the house in which the player is.
 
F

Felipe Rybakovas

Guest
I've made the houses with 2nd room work, only the crossed roof is left to figure out. Also added few more wall variations(the wheel and planks) and fence:
That's great mate. But I really think you should change the wood house walls to also be done with logs or wood tables instead single texture pattern.
Your fence is a great example of good wood material! =)
 
Top