Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411275 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 08:47:53 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsCommunityDevLogsHegira - BGE Exploration Game
Pages: [1] 2
Print
Author Topic: Hegira - BGE Exploration Game  (Read 9782 times)
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« on: July 23, 2011, 04:17:38 PM »



Hey. So this is my devlog for my new BGE (Blender Game Engine) game, Hegira. Hegira takes place in a prison, and you play as a main character who has been unjustly imprisoned. You must escape while navigating through and dealing with the cold, metallic and dank complex of twisting corridors and pathways...

Hegira will be an exploration game with platforming elements, which may be surprising, since the game is in 3D and takes place from a top-down perspective. How much platforming will be done is to be determined, but it shouldn't obscure the action of what's going on. It has some Metroid influences, like no definite 'levels', but I refrain from describing it that way because there won't be a lot of spare items to pick-up and upgrading going on (I don't think).

Here's an animation of the main character, whose name is to be determined.



I'm using my own Sprites module (which you can download from my BGE Game Development Site, Game Up!) written in Python for sprite animation in the BGE, which makes animating quick and simple, just like using a native 2D game engine. There's only a few frames in the GIF I posted, so don't worry, the actual game won't be that choppy. Smiley

As for the text, I'm using another Python module named 'BGUI' to render it, however that one wasn't made by me - it was made by a user named Moguri on the BlenderArtists forum. Once you know how to use it, it's very easy to work with, and the text renders cleanly and crisply.

Here's a shot showing an NPC:



His name is Isaac, and he's in the cell next to yours when you start out.

I am also the same developer working on GridSpace, which hasn't seen an update recently. I've got to work more on that, but this looks more promising, and more my style. Wink

It also will be shorter than GridSpace, so watch both to see what happens!

Finally, check / follow my blog, SolarLune Games, for more updates, though I'll probably put big ones on the blog, and post little ones here.
« Last Edit: August 22, 2011, 04:02:16 PM by SolarLune » Logged

flavio
Level 4
****



View Profile WWW
« Reply #1 on: July 24, 2011, 03:24:58 AM »

It looks great! I've to follow it!  Hand Thumbs Up LeftWell, hello there!Hand Thumbs Up Right
Logged

astrofra
Level 3
***


CG Hoister


View Profile WWW
« Reply #2 on: July 24, 2011, 08:19:40 AM »

Nice rendering & fx! It's my only reference, but, err, it has something of Silent Hill 2  Kiss
Logged

fatso
Level 0
**


the manual override


View Profile WWW
« Reply #3 on: July 24, 2011, 08:30:26 AM »

The 3D in that first shot reminds me of the textures in Half-Life. I love the perspective too!
Logged

twitter |
site | currently working on Kale in Dinoland for the iPhone
SirNiko
Level 10
*****



View Profile
« Reply #4 on: July 24, 2011, 01:58:05 PM »

It reminds me a lot of Metal Gear.

Will there be action segments, or will the emphasis be on exploration of passively dangerous or non-dangerous environments?
Logged
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #5 on: July 24, 2011, 03:11:20 PM »

@yajo - Thanks.
@astrofra - Heh, wait, I've never played it - lemme see... Agh! Uh, I don't think it'll be that scary. LOL However, the atmosphere will hopefully be a bit creepy, just to put you on the edge of your seat.
@Poncho - Thanks.
@SirNiko - I don't know, really. I'd like to think there will be some segments with fighting, but I'm not sure exactly how to do that with a top-down perspective (it would be a lot of sprites). I'll have to do some thinking on this. Stealth will be an element, as well. After all, you're in a prison.
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #6 on: July 25, 2011, 08:36:31 PM »

Allllright. So, I've gotten a guard up and running finally - was having some trouble dealing with the orientation of the sprite, but there's a Euler class coupled with Blender and the BGE that makes rotation far easier.

So, here's what I've got. The sprites are a little blurry because I need to size up the sprites' texture maps - doesn't make much sense to size things up to view them, then size them back down to edit them.



EDIT: Yet another huge picture... Is there some way to make it smaller unless you click on it? Anywho, I know that the guard on the left is 'skewing' a bit, like a paper figure. Maybe I should billboard the sprite instead of manually making it face the camera (not in all dimensions)... What do you think?
« Last Edit: July 25, 2011, 09:34:50 PM by SolarLune » Logged

McMutton
Level 10
*****


McMutton


View Profile
« Reply #7 on: July 25, 2011, 09:00:32 PM »

Looking good. For the images, you can put make the first bit of the thing [img width=700].
Logged
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #8 on: July 25, 2011, 09:36:29 PM »

Thanks a lot - I fixed the images now.
Logged

BomberTREE
Level 9
****



View Profile
« Reply #9 on: July 26, 2011, 02:49:33 PM »

Love that dark style Tongue
Logged
Pemanent
Level 4
****



View Profile
« Reply #10 on: July 26, 2011, 04:33:05 PM »

I absolutely love this. I've tried bge a few times but gave it up for unity. I love blender. Good luck in your travels.
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #11 on: July 28, 2011, 03:46:11 PM »

Thanks, Pemanent and kitheif.

So, now, I've got transports between rooms up and running. However, now I have to deal with persistence - how to make sure that, for example, if I open a pathway in room 1, go into room 2 and return to room 1, the pathway is still open. As far as I can see, there are two ways:

1) Suspending scenes and applying overlay / background scenes. You see, the BGE has scenes that games take place in, and you can suspend them and resume them to effectively pause all logic execution. Also, if a camera is viewing blank space, any background scenes will appear behind those areas (same with overlay scenes, just above the 'current' one; an example would be a GUI scene). You can, for example, place a skybox in a background scene, then copy the main camera's rotation to the skybox camera.

This suspension / background method could work well, as I would suspend the current scene, point the camera out into space, and start a background or overlay scene, which would be the next room. That would somewhat solve my problems, but when loading the game, I would basically be back to square one, as all scenes wouldn't exist, and all changes didn't save. That basically leaves the traditional method:

2) Store object properties and states in a dictionary when leaving scenes, and load them on switching scenes. That would allow me the greatest flexibility, and I can load that same persistence dictionary to ensure the game world is in the same state as when it was saved.

So, now it's just on to implementing this method.
« Last Edit: July 28, 2011, 03:59:04 PM by SolarLune » Logged

sabajt
Level 1
*



View Profile WWW
« Reply #12 on: July 28, 2011, 04:05:56 PM »

Quote
Store object properties and states in a dictionary when leaving scenes, and load them on switching scenes.

I've never used BGE so I might be totally wrong, but wouldn't this also be a problem when saving/loading games?  Unless BGE has built in support for save/load, you would need to write data externally by using python's pickle module or something like that to preserve data b/w sessions.

also, the game looks great.  Hand Thumbs Up Left
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #13 on: July 28, 2011, 08:23:23 PM »

Thanks. This shouldn't be a problem, actually - the BGE does have built-in save / load support, though I won't use it. I'd most likely just use normal Python open() functions to create / load text files (save files), and save each value. Then, I'd parse the file and read the values back into their respective objects.

If an object doesn't exist in-game but exists in the save file, I could either create the object and populate its values from the text file, or just skip that object altogether. Either method would work.
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #14 on: July 29, 2011, 10:17:12 PM »

Blagh. Today, I finished writing a whole class to do this persistence deal, but when I needed to see if an object was destroyed or not, I ended up just going with a global variable. It's simpler to deal with, anyway - less variables and data to store.

Right now, I've just got a global dictionary (logic.ge, which stands for Game Events), and store event changes, like talking to someone, in that dictionary. It works fine.
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #15 on: August 02, 2011, 10:48:08 AM »

I think I still want to use that class, as I don't really want to go with just using pure variables, though I might have to... Anyway, I'll keep looking about. In the meantime, I've finished crates! Shrug Yes, the classic crate comes back in this game, as well.



Well, it's a start.
Logged

Aoiichi
Level 0
*


View Profile
« Reply #16 on: August 03, 2011, 12:52:38 PM »

I really love the look and feel of everything posted so far. Are you making all the game assets by yourself?
Logged
SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #17 on: August 03, 2011, 08:17:06 PM »

Yep, I am. I'm using GIMP for the tileset and animation, and (obviously) Blender for the models. Nothing is very complex, so I can put things together fairly easily.
« Last Edit: August 03, 2011, 11:43:07 PM by SolarLune » Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #18 on: August 06, 2011, 08:51:25 PM »

Okay, so I think I'm definitely suffering from a broken graphics card, which is hindering production. I'm not too sure what I can do other than physically look at the card for remnants of tiny explosions or try different driver versions. Hopefully I can either use another computer, or fix the graphics card on the one I'm using.
Logged

SolarLune
Level 10
*****


It's been eons


View Profile WWW
« Reply #19 on: August 14, 2011, 12:17:36 PM »

Graphics card isn't giving me so much trouble anymore, so I hope that I'll be able to get back to working on Hegira.

EDIT: Never mentioned this - I swapped it out with a newer card.
« Last Edit: September 13, 2011, 05:04:41 PM by SolarLune » Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic