Golden Sun Hacking Community
December 06, 2019, 01:34:48 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
  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 56674 times)
0 Members and 1 Guest are viewing this topic.
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 0
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: December 28, 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: 0
Offline Offline

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

« Reply #21 on: January 04, 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
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

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

« Reply #22 on: January 04, 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: January 04, 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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile
Misery
Bad Luck

Great Member
***

Coins: 0
Offline Offline

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

« Reply #23 on: January 04, 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: January 06, 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: January 06, 2015, 06:59:27 PM by OpenGoldenSun » Logged

View Profile WWW
Rolina
The Fulminous Witch
Jupiter Clan

Template maker turned lurker

Alchemist
*

Coins: 0
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: January 07, 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: 0
Offline Offline

Gender: Male
Posts: 698

« Reply #26 on: January 07, 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: 0
Offline Offline

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

« Reply #27 on: January 07, 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: 0
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: January 09, 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: January 10, 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: 0
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: January 10, 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
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

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

« Reply #31 on: January 11, 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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile
Atrius
Programmer Extraordinaire
Web Host

Fear my blades

Veteran Member
*

Coins: 0
Offline Offline

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

« Reply #32 on: January 11, 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
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

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

« Reply #33 on: January 11, 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: January 11, 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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile
Misery
Bad Luck

Great Member
***

Coins: 0
Offline Offline

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

« Reply #34 on: January 11, 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
Fox
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 0
Offline Offline

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

« Reply #35 on: January 11, 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: January 11, 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...

Remember kids! Before you go on that interview, remember to wash your hands in teawater! *Coughs on hand* (Excuse me, I just coughed up a little teawater, so they're still clean!) You wouldn't want that hiring manager to be unimpressed.

May the force be with you!
Shoo! Why does it smell in here?
Maybe that's the wrong kind of force. *smirk*
View Profile

Novice Member
*

Coins: 0
Offline Offline

Gender: Male
Posts: 33

« Reply #36 on: January 11, 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: 0
Offline Offline

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

« Reply #37 on: January 11, 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: 0
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: January 11, 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: January 12, 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:  

Cbox
December 04, 2019, 11:48:57 AM
Fox: (Uh... Ignore "Love" at the beginning... I think I started to say it in a different way, then changed my mind.)
December 04, 2019, 11:47:50 AM
Fox: Love gsiconcompressor has been updated... Mainly an attempt to make icon editing a bit more straight-forward than ever before. Although, the coding wasn't exactly that straight-forward.
November 14, 2019, 01:50:02 PM
Fox: So like... a layers offset might normally be located at +0xC, but in Tennis, it is at +0x10)
November 14, 2019, 01:48:51 PM
Fox: (Talking about the data in map header thingy.)
November 14, 2019, 01:48:10 PM
Fox: So took a look at Tennis.... Seems Atrius's editor displays all maps incorrectly because he forgot that some stuff was offsetted by 4 (You know with everything from layer offsets and files/etc.)  Fix that, and it seems to display properly. Hm.
November 14, 2019, 06:18:29 AM
Fox: That is a quote I found somewhere. How amusing. xD
November 14, 2019, 06:18:06 AM
Fox: only canadians give up dont be a canadian
November 11, 2019, 03:27:02 AM
Salanewt: Especially since there might be a v0.5.1.1 in the near future, if any bugs are found by people playing the demo.
November 11, 2019, 03:26:38 AM
Salanewt: Oh yeah, so for people who aren't aware; v0.5.1 of the AI Overhaul is available on the Discord, but I'm delaying the creation of a downloads page + topic until I finish the demo.
November 02, 2019, 12:05:31 PM
Fox: And yeah, there's a topic for the Discord. in News & Announcements (http://forum.goldensunhacking.net/index.php?topic=2831.0)
November 02, 2019, 11:55:00 AM
Fox: Went to go study some German a little earlier. (Using duolingo to give it a try.) ... And. Huh. German capitalizes all nouns? (Not necessarily pronouns, though.)
November 01, 2019, 07:49:25 AM
thenightsshadow: Didn't realize there was a Discord at all.
October 31, 2019, 07:22:02 AM
Fox: (Which I guess not having Special badges in inventory was by purpose.... So I'll ifnore that bit. Just whats with the dup Halloween badge in inv?)
October 31, 2019, 07:18:26 AM
Fox: Question about badges = Why do I have two of the same Halloween badge in my inventory... but not on my profile? And by two, I mean the Honk badge is not there.
October 31, 2019, 06:56:26 AM
Fox: Does tns want to join the most active part of GSHC? - Its Discord? :D  And welcome back!
October 31, 2019, 06:52:17 AM
Fox: (Ofcourse it would be capitalized if it were the name of a system, and anytime that system would be referenced... but I'm more going with why we *never* see Psynergy and Djinni not capitalized.)
October 31, 2019, 06:49:58 AM
thenightsshadow: Yeah, just kinda got an email out of nowhere and it reminded me.
October 31, 2019, 06:42:40 AM
Fox: and main reason I said "not intended to become part of English" ... was because I thought of words like "animals"... and they can technically still be lowercase at times.
October 31, 2019, 06:41:17 AM
Fox: group/type/thing/whatever
October 31, 2019, 06:38:54 AM
Fox: Not saying it is exacly that... but it is a thought, at least.

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.233 seconds with 22 queries.