ZFGC

ZFGC CP => King of Thieves => Topic started by: MG-Zero on June 08, 2012, 02:51:12 am

Title: Engine Update
Post by: MG-Zero on June 08, 2012, 02:51:12 am
Just thought I'd fill everyone in on the engine side of things.  GM and I have been hard at work coding this stuff :)

So, you'll see here I have a sprite, followed by the same sprite in another location.  I moved him around with the mouse, so that means that we currently have graphics and input functioning as well as a means of wrapping functionality together for management.  This wrapper is called an Actor, which gets grouped together with other actors in a group called a component.  For example, Bongo Bongo in OoT would be represented by 3 actors grouped as a component: a main body acting as a root actor and 2 hands acting as individual actors.  I don't have much to show you on this except for some code of the base CActor implementation.  Hope this'll hold you guys over for now ;)
Title: Re: Engine Update
Post by: Wasabi on June 08, 2012, 10:41:40 am
Well, someone plays too much binding of issac :P
But good to finally here of some progress!
Title: Re: Engine Update
Post by: MG-Zero on June 08, 2012, 01:12:36 pm
Quote
Well, someone plays too much binding of issac

wat
Title: Re: Engine Update
Post by: Starforsaken101 on June 08, 2012, 01:20:44 pm
Well, someone plays too much binding of issac :P
But good to finally here of some progress!

How does Binding of Isaac have anything to do with this? :P Like, equally "wat"

Either way, excellent progress, but get cleaning on those damn warnings, Steve.
Title: Re: Engine Update
Post by: Wasabi on June 08, 2012, 01:49:06 pm
Quote
Well, someone plays too much binding of issac

wat
Well, someone plays too much binding of issac :P
But good to finally here of some progress!

How does Binding of Isaac have anything to do with this? :P Like, equally "wat"
I'm looking at the comments in the code, whoever put the "What a terrible night for a curse..." line in there I thought they'd taken it from binding of issac. That's where I know it from at least, it's probably from some other game or movie, I don't know :P
Title: Re: Engine Update
Post by: Starforsaken101 on June 08, 2012, 01:53:24 pm
Quote
Well, someone plays too much binding of issac

wat
Well, someone plays too much binding of issac :P
But good to finally here of some progress!

How does Binding of Isaac have anything to do with this? :P Like, equally "wat"
I'm looking at the comments in the code, whoever put the "What a terrible night for a curse..." line in there I thought they'd taken it from binding of issac. That's where I know it from at least, it's probably from some other game or movie, I don't know :P

LOL. K, I didn't notice that XD
Title: Re: Engine Update
Post by: MG-Zero on June 08, 2012, 02:04:51 pm
Quote
Well, someone plays too much binding of issac

wat
Well, someone plays too much binding of issac :P
But good to finally here of some progress!

How does Binding of Isaac have anything to do with this? :P Like, equally "wat"
I'm looking at the comments in the code, whoever put the "What a terrible night for a curse..." line in there I thought they'd taken it from binding of issac. That's where I know it from at least, it's probably from some other game or movie, I don't know :P

Castlevania actually :P

Quote
but get cleaning on those damn warnings, Steve.

Yea, those will come out as more things get used.  They're currently related to things that aren't functional yet.
Title: Re: Engine Update
Post by: thestig on June 08, 2012, 02:30:55 pm
Well, someone plays too much binding of issac :P
But good to finally here of some progress!
Castlevania 2.
Title: Re: Engine Update
Post by: Kami on June 08, 2012, 07:04:22 pm
Hey GM, is this still going to be programmed in C# or is it ok if I use C++ when I try to help out with the programming later?
Title: Re: Engine Update
Post by: MG-Zero on June 08, 2012, 07:41:31 pm
This is strictly a C# project.
Title: Re: Engine Update
Post by: Kami on June 08, 2012, 07:50:48 pm
Thanks this should help. :)
Title: Re: Engine Update
Post by: MG-Zero on June 10, 2012, 06:05:10 pm
So we appear to have audio working.  A bit inefficient at the moment due to some threading stuff, but it should be fine for now.  Working on resolving that.

EDIT: Nevermind..fixed it.
Title: Re: Engine Update
Post by: DaSpirit on June 12, 2012, 11:30:55 pm
Hah, so this is using component based design? Nice.

Will this ever be open source or anything of the sort?
Title: Re: Engine Update
Post by: thestig on June 13, 2012, 01:40:37 am
It'll be completely open source. Just, we're going to be super stingy about what code we accept upstream.

EDIT: And I'll be working on some documentation tonight, Steve. Some big code will be shipped later this week to the repo.
Title: Re: Engine Update
Post by: Antidote on June 13, 2012, 06:53:58 am
If you need help, I have experience with both C# and XNA.
Title: Re: Engine Update
Post by: thestig on June 25, 2012, 01:10:31 am
Alright, we hadn't officially specified what the resolution of King of Thieves will be. Right now, we are officially making the target resolution 320x240. Should the engine draw at higher resolutions, the backbuffer will remain at 320x240 causing the final frame to be upscaled to x-defined resolution. The option for filters will be there to help compensate for the intense upscaling. That is all.
Title: Re: Engine Update
Post by: Zaeranos on June 25, 2012, 05:16:14 am
Damn, I will have to go and redo rooms in my Sheikiah dungeon.
Title: Re: Engine Update
Post by: thestig on June 25, 2012, 06:37:13 am
D: Sorry. I noticed we didn't define this and since we're doing maps right now, it would've caused issues down the road. I don't know how this went through the last 4 years without ever getting defined. Gah, sorry though. Thankfully this won't happen again since the resolution is definite.
Title: Re: Engine Update
Post by: Kami on June 25, 2012, 02:51:14 pm
Damn it, I have to redo the earth temple dungeon now.
Title: Re: Engine Update
Post by: MG-Zero on June 25, 2012, 03:56:33 pm
This is why we didn't exactly advocate dungeon designers tiling their dungeons instead of just creating a cheesy layout at this point.  It's going to have to be redone once it goes into the engine anyway.
Title: Re: Engine Update
Post by: MG-Zero on June 26, 2012, 12:44:43 am
Also, another update.  Animations are now working!
Title: Re: Engine Update
Post by: Zaeranos on June 26, 2012, 04:49:16 am
How are you guys going to work with the overworld areas?
Title: Re: Engine Update
Post by: MG-Zero on June 26, 2012, 01:32:11 pm
What do you mean, exactly?
Title: Re: Engine Update
Post by: thestig on June 26, 2012, 01:52:22 pm
How are you guys going to work with the overworld areas?
The format is already chunked so right off the bat, the engine won't be loading the entire map, but only a small region. Secondly, we're going to skip drawing anything that's beyond a "render-safe" zone, so in other words we're doing renderculling. These are pretty standard tricks. The size of the maps should be of zero concern for the designers because the engine will be able to compensate for the size.

That being said, I want to acknowledge that I've rigged the map format to only be able to do one tileset per map. Each chunk can have different tilesets, but this is only for exceptional cases such as the Overworld. Should a map be submitted and it rely on multiple tilesets, there's a chance it will be shot back at you for to revise. The reason why I say this is because, it's not optimal to simply do that. Will the overworld require multiple tilesets? Yes. Is that fine? Yes. What about a dungeon? Absolutely not. These are considerations that have to be logically factored in.

At this current time, nobody has to really worry about it. This only applies to when we release the editor, which should be coming up soon.
Title: Re: Engine Update
Post by: Zaeranos on June 26, 2012, 04:10:07 pm
What do you mean, exactly?
What I meant is, if it is in the style MC (which I prefer), ALttP or LA/OOx. But I think gm already answered it.

Then there is a tilesize to consider. 8x8 or 16x16.
Title: Re: Engine Update
Post by: thestig on June 26, 2012, 04:16:24 pm
Well, Minish Cap's tilesizes are 8x8, but the tiles are grouped as 16x16. In the end, it really doesn't matter because if we were to use inconsistent tile sizes now, we'd end up retiling all of the maps anyways(if any have been tiled at this point).

You're pretty much spot-on though.

EDIT: And it's Minish Cap styled... I thought that was clear at this point. xD Sorry. But yeah, Minish Cap. ;p
Title: Re: Engine Update
Post by: Zaeranos on June 26, 2012, 04:54:57 pm
If you look through the Overworld concept topic, there has been a discussion about that.

Okay, MC with 16x16 tilesize
Title: Re: Engine Update
Post by: Wasabi on June 30, 2012, 08:17:34 am
8x8 pixel tiles please. That's what MC uses and allows for so much more variation. However, the editor should allow you to select blocks of 4 tiles in 16x16, as around half of the tiles appear in a configuration like this. Only about half, though.
I'm almost done with the Deepwood Shrine tileset so you'll see what I mean then.
Title: Re: Engine Update
Post by: thestig on July 01, 2012, 02:37:35 pm
I can configure the editor to allow you to select any multiple of 8x8 pixels. 8x8, 16x16, 24x24, etc.. But I agree with the 8x8 being the default tile size. 16x16's too big for some of the assets MC has.
Title: Re: Engine Update
Post by: Antidote on July 02, 2012, 06:14:23 am
what we can do is something similar to whats done in GBA and SNES games: have 8x8 tiles and then have arbitrarily sized "blocks" i.e. 32x64, 16x64, 64x32 etc. this way it's far more flexible and allows for easier tile flow.
Title: Re: Engine Update
Post by: thestig on July 02, 2012, 10:51:25 am
Could do that too. I was just suggesting numbers off the top of my head. These things will be determined once we got all of the assets we need to make some of this stuff a reality, through a meeting between MG and I. We'll come up with the answer.
Title: Re: Engine Update
Post by: Wasabi on July 02, 2012, 01:57:02 pm
Well yeah, being able to select 'blocks' of tiles in multiples of 8 both for width and height is pretty much what we need :P Take a look at gamemaker's or RPGMaker's for an example of what I mean, but I think it's fairly standard features to have in a map editor.
Title: Re: Engine Update
Post by: thestig on July 02, 2012, 02:30:15 pm
Yeah, pretty much. I was sort-of half-awake when writing that previous post(which somewhat contradicted what I originally put) though I was thinking in terms of the literal tilesets, not the data in the map editor. I said the post before that the editor could be set up to do any multiple of 8 since the base tile in MC is 8x8.

Besides, Antidote, the numbers you suggested were all multiples of 8 anyways. I was under the impression you were referring to tile sets since I already pretty much closed the debate about the editor itself lol.
Title: Re: Engine Update
Post by: Antidote on July 02, 2012, 05:32:11 pm
yes but what i was suggesting allowed for tiles that aren't right next to each other in the tileset in GM the tiles have to be contiguous.
Title: Re: Engine Update
Post by: MG-Zero on July 02, 2012, 06:35:21 pm
yes but what i was suggesting allowed for tiles that aren't right next to each other in the tileset in GM the tiles have to be contiguous.

Ohh so you want to be able to group together ANY tiles in the set!
Title: Re: Engine Update
Post by: thestig on July 02, 2012, 09:39:43 pm
yes but what i was suggesting allowed for tiles that aren't right next to each other in the tileset in GM the tiles have to be contiguous.
I don't understand how doing any group of multiples of 8x8 isn't making this possible? Perhaps you're not understanding what I am saying?

EDIT: Here maybe this will clear your confusion up: I am NOT suggesting JUST LITERAL rectangular selections. Being able to select ANY position on the tile set should be possible. After all, you're just adding entries in a set of parameters. All I'm saying is that I'm not going to go for allowing any selection of a given that's less than 8x8 because it simply wouldn't make sense for what our parameters are. And this is just an engine configuration... let's say King of Thieves engine were used for a project that had 4x4 tiles for whatever reason, then a parameter would be passed upon initialization to specify that. It's how the map system works.

Make sense? See I got confused with your first post because I thought you were referring to the actual tilesets in regards to organizing them. And I'm honestly still confused why you're confused so hopefully this clears up your concern.
Title: Re: Engine Update
Post by: Antidote on July 03, 2012, 12:11:03 am
what i mean is, creating blocks of common structures, i.e. walls, paintings etc.

Contact Us | Legal | Advertise Here
2013 © ZFGC, All Rights Reserved