Golden Sun Hacking Community
05, August, 2020, 10:16:40 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: The last working version of the classic TLA Editor is Teawater's unofficial "mapeditor" draft.
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: 1 [2] 3 4 ... 7   Go Down
  Print  
Author Topic: Open Golden Sun: Open source recreation of the Golden Sun engine  (Read 66607 times)
0 Members and 1 Guest are viewing this topic.
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 3
Offline Offline

Gender: Female
I am: wondering if we can get our clan position changed...
Clan Position: Grand Overlady of Jupiter
Posts: 6051

« Reply #20 on: 28, December, 2014, 11:28:24 PM »

Yeah - casting a fireball effect into, say, a waterfall would probably require a check to trigger its own animation variant or something.  Didn't we create a patch to allow for 8-directional utility casting?  I imagine working that into the game would be a pretty good idea as well.

I want to see if this is coming straight from a program, or if he's developing a UI kind of like what atrius did.  Plus, knowing what programs he's using would be a good thing for when we go in to have fun with it.
Logged

View Profile WWW
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #21 on: 04, January, 2015, 11:21:50 AM »

This is looking very good, and I hope you'll keep the project going (@OpenGoldenSun). It appears to be a very faithful replica of the game engine, to the point that I believe you have a pretty good grasp of how the game works. So with that in mind, I don't feel the need to point anything out - just keep up the good work!
However, I have to respectfully disagree about the graphics filter you used in the video... nothing wrong with it in itself, but I don't think it makes the GBA pixel graphics look better.

Oh, and like others here I'm interested in a few more details about how you're making this. Saying you're building it "from the ground up" isn't particularly telling. What programming language and other resources are you using?

@Rolina: Open source generally just means the source code is available and unprotected, but I guess we should be able to expect some kind of editor, as otherwise there wouldn't be much of any point to doing this. In response to "can we do X", anything can be done, just as nearly anything can be done on the GBA, except now with fewer restrictions and the advantage of a conventional programming language.
Logged
View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #22 on: 04, January, 2015, 11:58:36 AM »

Quote
What programming language and other resources are you using?
Not sure, but did you read this? (Link in first post.)
https://www.reddit.com/r/GoldenSun/comments/2mvhva/open_golden_sun_an_opensource_golden_sun_engine/

More specifically:
Quote
    When will this be open-sourced?

    So, right now it's coded on DirectX9 with C# using XNA. The plan is to get it over to MonoGame and SharpDX. Before this happens I still have a few iterations of game code architecture that I need to figure out. Game architecture is always tricky, it's pretty easy for it to turn into hack on top of hack. I don't want to open-source it that way. I will attempt to get it to a respectable stage of development with a clean architecture and then open-source it.

You are welcome. :)

(I believe I was going to ask that same question earlier...(probably near the time the topic was made?), but then I wanted to make sure it wasn't answered... So it was good I checked. :) )
« Last Edit: 04, January, 2015, 12:04:01 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #23 on: 04, January, 2015, 02:33:17 PM »

Hrk, sorry about that. Yes, I did read the stuff in the link, but I skimmed the FAQ since that wasn't the question I was looking for. Thanks for clearing that up.
Logged
View Profile

Novice Member
*

Coins: 0
Offline Offline

Gender: Male
Posts: 33

« Reply #24 on: 06, January, 2015, 07:25:49 AM »

Everything is still in early stages. There is no UI for this engine because the project is nowhere near that stage. Right now configuration of maps and stuff is done through a separate code project (GoldenSun.Game.Definitions).

Currently it uses an event engine with conditions and actions. I.e. if all condition requirements are met then the actions are run. This is something that I've designed to be quite configurable. For example you could basically configure events on a map such as:

Code:
If controlled player intersects a bounding rectangle with the specified absolute bounds then...
Suspend control of player character
Show dialog window
Wait for dialog window close
Resume control of player character

You can see that structure in the class hierarchy I posted.

I do sort-of store tile based data for the maps, but probably not how you're thinking. All the maps are .png files with transparency.

There are utilities that I've created to better help me translate accurately and efficiently things from the actual game to the engine. That is where something like the TileAndHexUtilityForm comes in. An example of how that form is used is: I want to replicate the exact water effects that Vale has. Meaning, the exact animations at the exact same spots. Obviously doing this manually is tedious. So I can do a memory dump from VBA and then it will read all the relevant tiles that I want (I click on the tiles to tell it which ones I want) and then it will generate the code based on whether the tile is flipped vertically or horizontally etc...

The field psynergy effects are all written manually. The positioning of the Move hand etc... is all calculated with vectors and such. So in theory you could (if you allowed) cast move from really far and the hand would animate to the pillar (I could maybe post a video of this for fun).

I also tweaked the smoothing algorithm because I know some people weren't a fan. I think the main thing was what it did to Felix's face (mostly the eyes). Here is what the new version looks like, as you can see the eyes are much better.

« Last Edit: 06, January, 2015, 06:59:27 PM by OpenGoldenSun » Logged

View Profile WWW
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 3
Offline Offline

Gender: Female
I am: wondering if we can get our clan position changed...
Clan Position: Grand Overlady of Jupiter
Posts: 6051

« Reply #25 on: 07, January, 2015, 02:12:22 PM »

As I mentioned in the comments of the vid you showcased that in, it might be better if you have a staggered blending.  For example:

Layer 1 affects the background assets
Layer 2 affects the sprites
Layer 3 affects the menus and text boxes

For me, I'd probably turn layers 1 and 2 on, but would prefer to have layer 3 off.  This would allow people to toggle bits and pieces to get a look they see as being ideal for their tastes.  Consider the different layers for a future update. ^-^
Logged

View Profile WWW
MaxiPower
Feed Me Coins!!
Venus Clan

Great Member
*

Coins: 20
Offline Offline

Gender: Male
Posts: 698

« Reply #26 on: 07, January, 2015, 02:24:28 PM »

Id prefer it with no smoothing whatsoever tho I can see why people may like it. So the option to toggle it all off would be sweet.

How much work is there in adding each separate psyngery? Must be a pain with soooo many of them yet rewarding when they finally work.
Logged
View Profile
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #27 on: 07, January, 2015, 03:13:15 PM »

Id prefer it with no smoothing whatsoever tho I can see why people may like it. So the option to toggle it all off would be sweet.
No smoothing is default.

What looks good and what doesn't is highly subjective, and considering this is just a recreation of the engine I don't think you should concern yourself too much with it. Maybe support higher resolution graphics, for those who would be willing to create those graphics. Personally I think visual improvements go beyond the scope of this project, but it's not my project so...
Logged
View Profile
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 3
Offline Offline

Gender: Female
I am: wondering if we can get our clan position changed...
Clan Position: Grand Overlady of Jupiter
Posts: 6051

« Reply #28 on: 09, January, 2015, 11:58:59 PM »

Id prefer it with no smoothing whatsoever tho I can see why people may like it. So the option to toggle it all off would be sweet.

How much work is there in adding each separate psyngery? Must be a pain with soooo many of them yet rewarding when they finally work.
It already has a toggle - right now it's all or nothing.  I was hoping for a tiered toggle, so that we can pick and choose what we want smoothed and not smoothed.

I also second support for higher res graphics.  Say what you want about Dark Dawn, it's icons were gorgeous.  I think right now, however, it may be a better idea to focus on getting the core of the game done, and then working on graphical addons like smoothing and high-res graphics for later.
Logged

View Profile WWW

Novice Member
*

Coins: 0
Offline Offline

Gender: Male
Posts: 33

« Reply #29 on: 10, January, 2015, 07:12:46 AM »

Guys, it's important to realize that this is a GBA engine clone. There will be no higher resolution graphics support. Everything is being drawn to a 240x160 (native GBA resolution) buffer and then scaled either according to two variations of the xBR filter (square vs rounded) or no interpolation (nearest neighbor). The menuing icons and screens will be copied from the GBA games with some minor changes.

Performing smoothing on separate layers is not ideal for a few reasons:

  • FPS (You're looking at approximately 4-5 different stages where a shader effect will need to be rendered per frame)
  • Complexity (Layers would need to be able to render over top of other layers with different shader settings)
  • Don't agree on it's usefulness
  • Doesn't seem worth the time and effort

Rhetorical: When you play Golden Sun with VBA what settings do you use? The most common ones will be implemented. Consider that even VBA doesn't smooth layers separately.
Logged

View Profile WWW
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 3
Offline Offline

Gender: Female
I am: wondering if we can get our clan position changed...
Clan Position: Grand Overlady of Jupiter
Posts: 6051

« Reply #30 on: 10, January, 2015, 07:29:34 PM »

Well, I certainly don't use smoothing.  The most I used on VBA was the speed increase function.
Logged

View Profile WWW
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #31 on: 11, January, 2015, 12:44:53 AM »

Quote
it's important to realize that this is a GBA engine clone. There will be no higher resolution graphics support
So does this mean no Dark Dawn icons? Or would they just have to be graphically downgraded?

---
Smoothing? Not even sure where that setting is on VBA... (Render Method?)  So it's likely I use their default setting.
Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile
Atrius
Programmer Extraordinaire
Web Host

Fear my blades

Veteran Member
*

Coins: 100
Offline Offline

Gender: Male
Emblems: Website Founder
Clan Position: Creation God of Sol
Posts: 1768

« Reply #32 on: 11, January, 2015, 01:56:16 AM »

Rhetorical: When you play Golden Sun with VBA what settings do you use? The most common ones will be implemented. Consider that even VBA doesn't smooth layers separately.

Me personally, Nearest Neighbor.  I've never been a fan of filters that try to create detail where it didn't exist before, more often than not it just ruins all the work the graphics designers did on the game.  For example that screenshot you posted with the filter applied makes Golden Sun look cartoony, which I don't remember it looking like at all on the GBA.  The shading wouldn't have originally had dithering otherwise bringing me to my next point.  If you look at the grass in your screenshot some of it almost looks like it was meant to be scaled and filtered the way it looks in your image, but other sections still have an obvious checkerboard pattern ruining the effect.  In my opinion it looks like the filter is failing pretty hard on the grass in particular, showing why it shouldn't be applied in the first place.
Logged

I'm shaking my head in general disapproval of everything
View Profile WWW
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #33 on: 11, January, 2015, 06:17:38 AM »

Yeah, maybe Nearest Neighbor is the way to go. I still wonder about minor smoothing though. Basically to the point where you *barely* notice a difference, but you do if you look carefully/zoom in some more. Although, doing it at that point might render it pointless... so yeah.
« Last Edit: 11, January, 2015, 06:26:06 AM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile
Misery
Bad Luck

Great Member
***

Coins: 20
Offline Offline

Gender: Male
Clan Position: Mercury Hack Leader
Posts: 717

« Reply #34 on: 11, January, 2015, 04:01:36 PM »

Guys, it's important to realize that this is a GBA engine clone. There will be no higher resolution graphics support. Everything is being drawn to a 240x160 (native GBA resolution) buffer and then scaled either according to two variations of the xBR filter (square vs rounded) or no interpolation (nearest neighbor). The menuing icons and screens will be copied from the GBA games with some minor changes.
I find it odd that you point this out after deciding to include a function exclusive to emulators, but oh well. If someone wanted higher resolution, they could modify the engine to support it after you release it to the public. I guess that's the beauty of open source.

My stance on smoothing is much the same as what Atrius wrote, those pixels won't look better no matter what you do with them - the graphical information just isn't there. But it doesn't hurt to have the option, since you added it already.
Logged
View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #35 on: 11, January, 2015, 07:29:32 PM »

Quote
I find it odd that you point this out after deciding to include a function exclusive to emulators, but oh well.
And the GBA didn't allow you to have a bigger screen, did it? (Assuming that the emulators added those functions due to full screen looking a bit blocky.)

Aside from that, GBA does support Rotation and Scaling without the filters.... I know GS has a zoom-out with the L button on the world map, but I haven't checked how that was done. (Were there some cutscenes that involve being zoomed in? Haven't checked those either...) My bet is that neither one use filters?
« Last Edit: 11, January, 2015, 07:48:41 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile

Novice Member
*

Coins: 0
Offline Offline

Gender: Male
Posts: 33

« Reply #36 on: 11, January, 2015, 08:40:59 PM »

I'm not trying to argue that smoothing is better, nor am I trying to convince you. It's all personal preference. Personally, if I'm playing at 5X or 4X normal resolution, I like the filter. If you don't like it that's perfectly fine.

This conversation has just become arguing over personal opinions and is not constructive. Everyone should already be aware that the filter is not forced, it is easy to turn off.

Let's shift our focus away from discussing smoothing and more towards constructive dialog.

So on that note, I'm currently working on getting the battle system skeleton up and running. I'm trying to get that pseudo-3D effect that happens while the characters move across the screen (as if the camera is rotating around them). It seems like there is some acceleration variable being taken into account as the character approaches the right side of the screen and then moves left (notice how the character will almost pause in one spot before coming back to the left).
Logged

View Profile WWW
Atrius
Programmer Extraordinaire
Web Host

Fear my blades

Veteran Member
*

Coins: 100
Offline Offline

Gender: Male
Emblems: Website Founder
Clan Position: Creation God of Sol
Posts: 1768

« Reply #37 on: 11, January, 2015, 10:33:20 PM »

It's probably just a Sine/Cosine equation to calculate their position on screen, like an oval.  It makes perfect sense for rotation like that, and naturally causes the acceleration you're talking about.


I've long since lost the source code I used to create this demonstration, but it was based on Sine/Cosine equations.
Logged

I'm shaking my head in general disapproval of everything
View Profile WWW
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 3
Offline Offline

Gender: Female
I am: wondering if we can get our clan position changed...
Clan Position: Grand Overlady of Jupiter
Posts: 6051

« Reply #38 on: 11, January, 2015, 11:53:09 PM »

Oh, that pic reminds me.  Will we be able to have more enemy sprites on screen?  You said it's going to emulate what the VBA can do... but I don't see why we should limit ourselves to the video memory of the GBA.  For example, if you want to fight four enemy adepts, you can't - a graphical glitch will occur on the fourth.  Try creating a fight against all four of the proxians to see what I mean.  I'm pretty sure that just about everyone's gonna want to see a full team vs full team match, and would definitely try it if they could.  The best thing about making something for PC, by far, is going to be the fact that you can do more than what the original hardware could pull off.
Logged

View Profile WWW

Novice Member
*

Coins: 0
Offline Offline

Gender: Male
Posts: 33

« Reply #39 on: 12, January, 2015, 04:14:56 AM »

@Atrius, thanks for that. That should be enough for me to figure it out.

@Rolina, yeah it will for sure handle full party vs. full party. For the enemies I think it will basically just come down to what screen space is available, I don't see any issue with allowing more enemies than normal so long as they fit properly.
Logged

View Profile WWW
Pages: 1 [2] 3 4 ... 7   Go Up
  Print  
 
Jump to:  

Chatbox
01, August, 2020, 01:31:53 PM
KyleRunner: Hello, people!
08, July, 2020, 08:57:11 PM
Salanewt: That awkward feeling when almost a quarter of a year goes by without anyone posting a message in this chatbox.
27, April, 2020, 07:54:10 PM
Daddy Poi's Oily Gorillas: I'm having a thought. So I know Atrius's editor is slow at saving sprites.... So I've been thinking.   I am considering another console program.  This time, for importing and exporting sprites/animations. Image files (for sprites), binary files (for animation data), and maybe binary or text files for Settings. Would certainly be cool if it works out. - Console programs are fun, when you can (at least temporarily) cheat out making a full interface editor for them. =P
25, April, 2020, 10:42:07 PM
Daddy Poi's Oily Gorillas: Tried to list those in order of importance, but anyway....
25, April, 2020, 10:37:59 PM
Daddy Poi's Oily Gorillas: GSHC, GS Speedrunning, /r/Golden Sun, GS United Nations, ToK.  Sixth one is border-line I'm not sure.
25, April, 2020, 08:00:21 PM
Daddy Poi's Oily Gorillas: (low as in <100)
25, April, 2020, 08:00:04 PM
Daddy Poi's Oily Gorillas: So while there are quite a few GS Communities out there. There are only up to maybe ~6 Discords worth even the consideration of joining, I think. Most of the rest of them have a fairly low member count. (Of which I can tell?)
14, April, 2020, 10:49:35 AM
Daddy Poi's Oily Gorillas: The Essential Age could be what it stands for?
13, April, 2020, 05:23:32 PM
Misery: Tea editor... that's a cute name for it
01, April, 2020, 02:42:50 AM
JupiterDjinn: Also my browser is sending two o f my messages srry.
01, April, 2020, 02:42:48 AM
JupiterDjinn: Also my browser is sending two o f my messages srry.
01, April, 2020, 02:42:09 AM
JupiterDjinn: Just got the reply. Ok my question is: how can I get the tea editor on Android, because I already have an emulator. But no computer.
01, April, 2020, 02:42:06 AM
JupiterDjinn: Just got the reply. Ok my question is: how can I get the tea editor on Android, because I already have an emulator. But no computer.
31, March, 2020, 07:18:29 PM
Salanewt: Sure thing!
31, March, 2020, 03:38:30 PM
JupiterDjinn: Can I have a question answered?
31, March, 2020, 03:38:27 PM
JupiterDjinn: Can I have a question answered?
28, March, 2020, 12:50:15 AM
Salanewt: I want to shrink it down in size later, but yup!
28, March, 2020, 12:50:13 AM
Salanewt: I want to shrink it down in size later, but yup!
26, March, 2020, 03:24:45 PM
Daddy Poi's Oily Gorillas: The news box is back? :D
19, March, 2020, 05:59:16 PM
Salanewt: Nice work hiding the searchbots Atrius!
19, March, 2020, 04:23:34 PM
Salanewt: I was wondering when I said that stuff! May need to work it out with Kain.
19, March, 2020, 07:03:05 AM
Daddy Poi's Oily Gorillas: (The simplest being to not accept char IDs pass 255, I think.)
19, March, 2020, 05:33:15 AM
Daddy Poi's Oily Gorillas: Heheh.... I'm just testing. You pretty much gave it away. Hahah. It seems to look fairly convincing, but I'm sure there's an easy solution to preventing it.
19, March, 2020, 05:28:50 AM
Atrius: Whelp, there it goes... Just what I didn't want.  Have fun with that I guess...   
19, March, 2020, 05:20:25 AM
Daddy Poi's Oily Gorillas: So like. Replace the "e" with another "e"? Alright. Gotcha.
19, March, 2020, 05:04:41 AM
Daddy Poi's Oily Gorillas: Good work.
19, March, 2020, 04:44:10 AM
Atrius: Nah, any member could change their name to what I did, there's a trick to it.  I just fixed it so that now the Cbox will use your new name if you change it though, so... That part of the problem is fixed.
19, March, 2020, 04:41:53 AM
Daddy Poi's Oily Gorillas: For which? It may be that normal users can't change their names to used names, but admins can?
19, March, 2020, 04:39:57 AM
Atrius: Sorry if the Cbox keeps breaking, I'm trying to make that be less of a thing.
19, March, 2020, 04:02:04 AM
Daddy Poi's Oily Gorillas: Looks like ID Fraud. You're under arrest. :D  Oh wait.

Affiliates
Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.082 seconds with 22 queries.