View Full Version : Oracle of Maiya - A Persona Fusion Helper and Database Application
Cloud737
11-08-2009, 03:58 PM
Hi,
I'm launching an app I made called Oracle of Maiya. Basically, it's a program designed to help store your Personas in a database and help you (tremendously, I hope) with fusions, and it works with Persona 3, Persona 3 FES and Persona 4 (and the soon-to-be-released Persona 3 Portable and, if the fusion mechanics don't change much, for Persona 5, 6, 7 and maybe even the whole series from now on, even if it will need a little tweaking). For those that do (or want to do) a lot Persona fusion planning (instead of the usual random fusing) to obtain precisely what powerful Personas they want, I really hope this program will be a boon to them.
Please visit and bookmark the project's home page (http://sourceforge.net/projects/oracle-of-maiya/), and remember to visit regularly, as there will be lots of updates for the program in the days to come, and I hope there will also be lots of discussions there about the features you, the users, would desire. I'll be adding progress updates on a weekly (if not daily) basis there (or at least how often I can - I have a busy life from time to time). For now, stay tuned for the blog, forum and twitter-like micro-blogging features which will be added soon.
For those that can't find their way around the site:
The site is the project's home page on SourceForge.net. It hosts both the source code (for the really curious) as well as the executable program and related files (see the big "Download Now") button.
Bellow the project's name (Oracle of Maiya) is a navigation tabs. Click on any tab to navigate on the page (note: clicking the "Develop" tab will bring up more hidden tabs where the source code and other more complicated stuff is. The "Forum" tab also appears after you click the Develop tab (don't ask me why), so you should explore that a bit, I guess. Soon, there will also be a "Blog" and a micro blogging tab, along with others (as soon as I finish spamming all Persona 3 boards on the internet with my thread ).
One last thing I forgot to mention:
I know I asked you all to participate in the discussions (and maybe even submitting bugs and commenting about them) on the project's page, but I forgot to mention that you need to register before you can do that. Sorry about that, I can't do anything about it, and I would really appreciate it if you'd take your time and go out of your way to contribute to this project. After all, it's all for you!
Now, this is version 1.0 of my program. I'm sorry I don't have anything better to present at the moment, but I really wanted to get a bare-bones version out as fast as possible. Currently, it can only do normal spread fusions, but it already works for P3, P3 FES and P4. The next version will have triangle spread fusions and will be able to store your (evolved) Personas in a database (which I will call a user profile from now on, to distinguish it from the database for base Personas, skills, elements, etc.). If you want to see an alpha version of what's to come (currently, I'm thinking of calling this v1.5 when its released), please check here (http://www.filefront.com/14851287/Oracle-of-Maiya.rar/).
I'm curious, what do you all think of this? What are your opinions in regards to the program? You can either sound off here or (preferably, since it ever won't be deleted) on the project's page (http://sourceforge.net/projects/oracle-of-maiya/) (after I set up the forum and everything else).
Remember to bookmark the project's home page and visit regularly! Let's try and make this one hell of a fan program the gaming community has never seen!
Update: The forum (http://sourceforge.net/apps/phpbb/oracle-of-maiya/) (no registration required; Path from homepage: Develop -> HostedApps -> phpBB) and micro-blogging (http://sourceforge.net/apps/laconica/oracle-of-maiya/) (registration required; Path from homepage: Develop -> HostedApps -> Laconica) features are now online!
PS: Sorry for cross-posting this on the Persona 4 (http://www.atlus.com/forum/showthread.php?t=5045) board as well, but it's relevant to both those games and I really want as much coverage as possible. If a mod still wishes to enforce the rules, then please leave THIS thread open and close the rest, while editing my first post to redirect others to this thread (e.g.: "Thread closed (multiple threads). Please visit THIS THREAD (http://www.atlus.com/forum/showthread.php?t=5045) to discuss from now on!"). And please don't punish me! :P
I would also appreciate a sticky, but I'm not putting my hopes up. :P
PS2: There may be some erroneous results with some fusion combinations in P3 (not P3 FES) and P4. The program itself is fine, and if it happens it's because I've written the database files in hurry to get this out quickly (you try writing 200 KB text files in one day!). If you happen to find such a result, please report this to me and I'll post the updated package as well as the database files as separate downloads on the project's page.
Also, please note that the "Stats Sum" and "Total Skills" columns in the grids might display wrong info for P3 most of the time, and be totally inaccurate for P4. That's also because of the same reason mentioned above (basically, I just copied the P3 FES database for P3 and P4 and just edited the names of the Personas and their levels to insure that at least the fusion result is correct, though some inaccuracies in levels and Persona names, as well as Arcana fusion combination results, might have slipped).
PS3: Thank you for reading this long thread! And again, remember to bookmark the project's home page (http://sourceforge.net/projects/oracle-of-maiya/) and visit often, please! It would be really disappointing to see that very few people care, if at all.
FangzV
11-09-2009, 04:32 AM
This looks like it will be extremely helpful. Thank you so much. I will download this as soon as possible.
(It takes special items needed for fusion into account, right?)
DamageCity
11-09-2009, 06:08 AM
So what does this do that a pad and paper don't?
Evilkinggumby
11-09-2009, 06:26 AM
So what does this do that a pad and paper don't?
the same thing a calculator, pocket pc, or desktop computer would do. the mixed blessing of making a process easier and faster to do, yet robbing more humans of their capacity or read write and figure it out themselves. :seesaw:
it's a tool my friend. a program to quickly get information about " i need to make x so it says i need to make sure to get y and z to do it properly" :D
DamageCity
11-09-2009, 06:42 AM
So what does this do that a pad and paper don't?
the same thing a calculator, pocket pc, or desktop computer would do. the mixed blessing of making a process easier and faster to do, yet robbing more humans of their capacity or read write and figure it out themselves. :seesaw:
it's a tool my friend. a program to quickly get information about " i need to make x so it says i need to make sure to get y and z to do it properly" :D
Doesn't that take away from the charm of the game? You know, figuring it out yourself?
Cloud737
11-09-2009, 07:33 AM
This looks like it will be extremely helpful. Thank you so much. I will download this as soon as possible.
(It takes special items needed for fusion into account, right?)
Not yet, but it will. It's still a work in progress (it only does normal spread fusions at the moment), and there are lots of updates for it in the making. To be honest, this is only 10% of what I actually want to make in the end. I figure I'd release an early bare-bones version so people can use that before I develop the more advanced features.
Anyway, that's why I recommended you bookmark that page - updates to the program will be posted there first. Also, I would appreciate if you'd participate in the project by offering suggestions, bug reports, feature requests, anything you'd like to see there. At the moment, there's a forum (http://sourceforge.net/apps/phpbb/oracle-of-maiya/) (no registration required; Path: click the Develop -> HostedApps -> phpBB) and a micro-blogging (http://sourceforge.net/apps/laconica/oracle-of-maiya/) feature (registration to SourceForge required; similar to Twitter; Path: Develop -> HostedApps -> Laconica).
So what does this do that a pad and paper don't?
It's exactly as Evilkinggumby said. There's nothing, absolutely nothing in the world that you can't do on a pad and a paper. Even the games you're playing. :P
This is just a tool to (greatly) ease the burden of making your desired favorite Personas in the game.
Some people might like to do this by hand. Good for them, but unfortunately they may be few, and my app doesn't have anything of use to them.
However, you would probably find my app (in future version releases) to greatly reduce the time taken instead of if you done this by paper. Imagine that you want a specific Persona, with a specific skill set and the easiest path (least noise). How many trial-and-error (trying out all combinations) tries are you willing to put up with until your desired Persona pops up, and how many fusion levels deep are you willing to try on a pad and paper? And then try to take into account Personas you don't readily have, but may be able to (easily) produce for this purpose...
Evilkinggumby
01-14-2010, 08:47 AM
I suspect this project may have stalled but I figured I would check in with you on this anyhow. I am working on a plot-an-scheme to do some custom game modding based out of the SMT multi-verse and if you have a beta or working copy of this it'd be damn helpful.
I will likely condense the master compendium down to maybe 10 creatures to start, but over time expanding it would be great, and your program will prove invaluable.. at least to me. :)
as well when I really get going on this, if you are good with script programming you might be able to assist me in a later stage. :)
Cloud737
01-14-2010, 11:36 AM
Actually, I've been working on this project on a weekly, if not even daily basis (I guess you haven't seen my recent call for help (http://www.atlus.com/forum/showthread.php?t=5922) :P). Unfortunately, the program is not quite as easy to do as most think (1000 lines of code in v1.0, 3500 lines of code on my current internal version) and school is really adept at killing my free time (just now I have to do study for 2 exams and do 1 project for tomorrow, and only 3-4 hours are left till I have to go to sleep... seems I have to skip sleep again. :(
I would love nothing more than spend whole days on my program (and I actually did a couple of times) since it's quite fun to me (best days of my life, you could say), but unfortunately I don't have the luxury.
Well, in case you haven't noticed, my program already has a v1.0 released (I edited my first post here, btw, to reflect that, instead of double-posting... big mistake, people not only not read it because it's too large, but also don't look to see if it changed, mostly probably thinking I didn't even deliver a first version as promised and everything was probably an attempt at getting attetion... next time, I won't repeat those!), but I admit it has an ugly crippling bug that makes any fusions except Fool + Fool display the correct result, or hang the program. This has been fixed in my working version (v1.5 Beta), as the whole underlying code has been overhauled to do things simpler and non-convoluted as to make it possible to implement future features like sorting, which also fixed the bug v1.0 has.
In case you're curious, the bug was in relation to how the program determined which Persona (more specifically, which underlying object it needed to work with internally) was selected in the grid by taking the position of the row selected, then subtracting the number of Personas in each Arcana starting from Fool until the number resulted was less than the Arcana's number of Personas... If that sounds confusing to you, it's because it is. It's a really ugly way of doing things, and it just screams of bug potential (not to mention I have to think up of more ugly tricks to make it work if I want to enable sorting based on column value in the grids). Now I've dumped all the unnecessary weird maths-way of doing things and just attached a pointer to each row in the grid which points me to the right object that I need. Much simpler!
Oh, and if you want to see if I'm still working on this project, you can go to it's host page (all important links in first post, btw) and check out the project feed as well as the last date something had changed. "Code committed" updates means that I just uploaded the newest version of the source code (note: not the executable) that I was working on to the project's page on SourceForge (just for curious eyes and historic reference, mostly).
Now that I look at it, my last update was 29 days ago. :P Is that why you thought the project stalled? :P
Guess it should be no surprise for that since I entered school break (read: away from home for holidays), and also had an expected rough comeback thanks to school. I've still worked on it, but no major changes since then, and the next major change (in progress as of right now) is going to take a while since I have to check, add data to and correct all game databases (all 8000 lines of them for each game). :P
Aaaanyway, right now I'm working on v1.5, and if it weren't for integrating ailments into skills because of my lack of noticing it in P4, I could have done an early February release, at the very least. Right now, I'm looking more at mid-February release, at the very least, but it depends in large on how my finals end up (hint: do expect some major delays).
Until then, though, I've uploaded a special v1.5 beta (http://www.filefront.com/15354029/Oracle-of-Maiya-v1.5-Beta.rar) for you (and anyone that wants to see it). Triangle spread fusions don't work yet (I've yet to implement the interface for it, not much work since I just copy what it already is for normal spread, and the underlying procedures for calculating the resulting Personas were there a long time ago), and the databases aren't really accurate much. P3 FES's is the most accurate as I checked for any errors just recently, though I haven't finished yet. P3's is next, having been based off P3 FES, and P4's is just a copy of P3 FES's with just the name and levels value for each Persona modified so that normal spread fusion results are correct.
The program auto-loads the P3 FES database at startup (for my convenience in checking features out), btw (this will be replaced with auto-loading your last used database when it's released, either in v1.5 or the next).
If you need more accurate data for your project, or if you want to introduce custom data (read: your own Personas with their own unique stats, skills, etc. not found in the game), then you can open the database files (.odb) with Notepad and add those yourself or even create your own (the program will pick that up right away, as long as it has the correct extension). I've made them simple text files (instead of actual databases or XML) for this reason alone (besides being simpler, though I do not hesitate to make it more complex if it's fancy, more efficient and makes me learn something new). I want users to be able to correct my mistakes if I don't spot them or don't have the time, as well as make their own databases for games that had similar fusion mechanics I had no clue about. :D I hope you can figure out how it works (it's pretty simple if you analyze it a bit), and if you have trouble just ask me and I'll help (when I get the chance; Thank you, Uni! [Uni = University).
In case you also want Triangle spread or some features not in my program, you can use freezer's Persona 4 Analyzer (http://www.atlus.com/forum/showthread.php?t=4329), Persona 4 Utility (http://episteme.arstechnica.com/eve/forums/a/tpc/f/39309975/m/935001650931/p/21) (logic would dictate P4 Analyzer is better, since it came and was inspired after P4 Utility), Persona 3 FES Analyzer (http://phorte.ph.ohost.de/home/Java/personanalyzer/persona.html) (has some Personas missing, I hear; page/program [it's a web app] might be unavailable at times, it seems) or some Persona recipes for P3 (http://docs.google.com/View?docid=dgqvh67s_3cqv67gcz) (in addition to those on GameFAQs).
Now that we've finished that part, I don't quite understand what you're working on. Is it a forum game? A game mod (which is basically a game in itself) based on the Persona universe? From what I can tell it's the latter, though I really am confused about the "plot-an(d)-scheme" part.
Sure, I'd love to help you out, but in what language do you want to do the scripting? JavaScript? Python? Custom game scripts? Or are you referring to normal programming languages?
PS: I can't believe I've just done this humongous post... I was really trying to avoid doing posts this big since no one will read it, as well as thought that what I had to say was simple and short. :(
Evilkinggumby
01-14-2010, 12:45 PM
Cloud737 - "Now that we've finished that part, I don't quite understand what you're working on. Is it a forum game? A game mod (which is basically a game in itself) based on the Persona universe? From what I can tell it's the latter, though I really am confused about the "plot-an(d)-scheme" part."
Haha sorry to be so confusing. first I needed to see if you were indeed "out there". I am glad you are still plugging away at this project of yours and I apologise for not looking back at the initial posts to see it had been released and updated in any way. That was all my bad.
The work you are doing sounds awesome. Wherein I doubt I could incorporate the code directly into what I am using, it will make for a great utility for builting the actual fusion grid in my project.
oh yeah..duh.. need to actually tell you what the funk I plan to do *foreheadslap*
I want to take as many of the elements of the SMT games, generally from the Persona portion, and incorporate them into a custom MOD for Fallout 3 for the PC. Effectively, Nocturne is WAY more attuned to the atmosphere and setting then Persona is, so a lot of what I can pull from Nocturne will end up in the game too (along with some facets of other SMT games). But sadly, since Persona 1/2/3/4 is what I know the most, that will be more of a basis for the early conceptual work. I do want to get my hands on Nocturne eventually so that I can check it out and so I can research my project further. :)
First step aside from general brainstorming will be mastering a grasp of 3dsmax so I can start looking into working with pre-existing models from fallout and oblivion and slowly building the summons over time.
so yeah this is a lengthy project. But HOPEFULLY one that proves fun and educational and creates a addon that will make fallout fans and SMT fans alike proud. If all else it MAY help Atlus in that it has a chance to spark interest in their games with a crowd that may not know them.
to start I will likely shoot to incorporate a base of 10-20 from the grid and as time permits add other ones to the mix. considering each creature has to be mostly made from scratch and animated/textured and setup with their own spells/stats, it's going to take a while. :) so some of them will be reworks of existing in game models and creatures, whenever possible.
it will also likely incorporate the old persona concept of demon negotiations, at least for the player to get their first few persona's. I think I have a grasp of the way I would do a fusion grid and "summoning" a persona, but until it's resarched it isn't anything I can explain yet.
Cloud737- "Sure, I'd love to help you out, but in what language do you want to do the scripting? JavaScript? Python? Custom game scripts? Or are you referring to normal programming languages?"
Don't worry I am not holding you to anything right now. This is going to take a while to come together, as currently I don't even know what the basis for code and the scripting engine bethesda used for fallout and oblivion. I just know there is a number of mods made that can assist me in knowing what the engine is capable of. :)
Cloud737- "PS: I can't believe I've just done this humongous post... I was really trying to avoid doing posts this big since no one will read it, as well as thought that what I had to say was simple and short."
haha yeah yer damn right no one will read em. dont' worry , i did. thanks for being so quick about it. I'll check your 1.5 beta tonight when i get home. And thanks for offering to help. Even if all you can do is hand off a partially working version of your program, it saves me oodles of time in the long run.
As for anyone ELSE reading all this.. if you have ideas or interest or suggestion PLEASE toss them out here. I am sure both me and Cloud will enjoy any input and interest in our work. Eventually I'll make a separate thread for my work to keep out of cloud's hair. :)
Cloud737
01-14-2010, 03:36 PM
Ah, don't sweat it, a lot of people have been oblivious to my post being edited. Those are two lessons from two mistakes I won't ever repeat: make posts too long (when the audience is the general public; it's OK for people above and beyond normalcy [read: idiocy :P]), and edit my posts to include new information after the first 5 minutes or first reply (whichever comes first) after posting something instead of actually double posting some new, important information. Those two combined had an even more devastating effect than separated (since anyone ever coming back to this thread will almost surely not even look at the first post and see if something's changed).
I'm still plugging, and always will be, don't worry. Like I said, I'm having loads of fun just programming it (because it's my first professional, real-world use app and I'm also learning more about my favorite programming language, the best ever in my opinion).
If you want to incorporate my code, while I doubt you would be working in Delphi (unfortunately, it's not as popular as others like C++, Java or C#, even though it has the best features of them all [and then some] and also way more simpler to understand, read and analyze... it's just elegant simplicity :D), I could compile the non-interface part of my code (the one you're probably interested in) into a DLL that you can incorporate anywhere. While I don't know how to do that now, I'm really willing to learn since I've thought about learning this so I can use it for my project in the future, and the fact that you'll need it is just what I need to get me started on it.
Unfortunately for me, I don't think you have any use for the code except for the fusion mechanics and classes that I've used, which are fairly brief and easy to translate or even write from scratch.
If you want to look over my program's source code, then I invite you to look in the project's source code repository (http://oracle-of-maiya.svn.sourceforge.net/viewvc/oracle-of-maiya/), more specifically in the trunk folder, though I may alter the repository structure (directory tree) in the future if I find a need for it, so it's always better to know how to get back to the root node (the one given above). If you want to get to the repository from the project's home page, then click on the Develop tab so all other tabs appear as well, then hover over Code and select SVN Browse from the drop-down menu.
The code with all the underlying classes and fusion mechanics (as well as database loading, user profile loading and saving, persona booking and helper functions) is in the OracleEngine.pas file, specifically in the "interface" section and the GetNormalSpreadResult and GetTriangleSpreadResult procedures and the object methods (the one declared in the "interface" section) in the "implementation" section. I'm so glad I decided to make it open source and publish it now. :D
Btw, I just remembered I should tell you that the Fusion grids in my program are populated from what you have registered in your Compendium at the moment (I'll implement being able to select the lists you want to use in my next versions), so make sure you register those Personas (and also change their stats and levels, though this is won't affect the result of Normal Spread fusions), as those features are implemented now.
Ah, I see now. Your project sounds quite interesting, and I would love to take part in it, but be careful as it's not as easy as you think. Even an app that sounds and looks as simple as mine is a lot of work (I can't believe something that is so visually simple and does simple things takes 3500 lines of code, and this is just the really early stages, not even a quarter of what I want to make it do in the end, doing only a few small things).
3ds Max alone will probably take about a year to learn enough, and is the easy part. You'll then have to learn about rigging your models with skeleton's to have realistic physics and movement, learning a few programming languages for building your mod and only then can you really start building your mod. I'm not a 3ds Max user or mod builder, though, this is just what I picked up from people.
I would love to work with you if you want me. It's a really fun experience and it will look great on my CV (along with my app), especially since I wish to be hired as a game developer after I finish uni. But please start with the idea that it will take at least two years to start doing it from scratch.
Btw, you don't really have to do your models from scratch, you could also import Atlus' models from their games themselves (especially nice if they release a Persona for the PS3, since it will have higher-res models), but I have doubts about the legality of using their models, even if it's non-commercial. But anyway, it doesn't matter that they're not PC games, I've seen quite a few talented people rip game models from Halo 3 and Metroid Prime, and those were on different consoles, too. The hard part will be figuring out where they are, unpack them if they're packed into a file along with other stuff, and then figure out what they used to build those models. That last step may not be necessary since the object code may work on all modeling programs, I'm not really sure if all of them output in the same format or can read the others' formats.
I'm currently wondering if Fallout may be the optimal choice. Sure, it's a great game, but I'm wondering if there are moddable games out there with better engines and graphics than this one, and also more popular (meaning bigger audience for both the mod and Atlus). Currently, the only thing that pops to mind is UT3 for it's engine, but I'm not sure what engine Fallout is using or if it's actually better than UT3's, though I do think you can say Fallout is more popular than UT3.
it will also likely incorporate the old persona concept of demon negotiations, at least for the player to get their first few persona's. I think I have a grasp of the way I would do a fusion grid and "summoning" a persona, but until it's resarched it isn't anything I can explain yet.
You could use demon negotiations as the normal, easiest way of acquiring Personas, a replacement or even a supplement (even better) for the odd yet cool card shuffling.
haha yeah yer damn right no one will read em. dont' worry , i did. thanks for being so quick about it. I'll check your 1.5 beta tonight when i get home. And thanks for offering to help. Even if all you can do is hand off a partially working version of your program, it saves me oodles of time in the long run.
Well, I knew that post would only interest you (and a few other loyal followers), so there was not much point in cutting it down after writing it. :P
Don't sweat it about being quick, I have all my threads listed for instant email notification. Besides, I figured if I weren't to reply as soon as I can, you'd probably forget to check back after a day or two. Well, maybe not you since you had a good reason to check back, but that's the general rule for people. :P
Phew... back to working on that one project, studying for those 2 exams and doing that 6 page English essay I have to do for tomorrow while forgoing sleep. :P
[EDIT] For anyone curious as to what happened to this discussion, it carried out in PMs rather than this thread.
Symphonia
02-25-2010, 06:54 AM
Ahh...
Wall of texts is my weakness @_@
I can't even stand a single post...@_@
Hey, about the code you used to your project, which language it is? It is Delphi? Or Java?
Guess I can help you in this project.
Oh yeah, I don't know if it's just me or everybody else,
But I always got problem loading the page in soureforge.net, when I'm trying to open Oracle of Maiya.
Got any advice?
Cloud737
02-25-2010, 01:38 PM
Oooo! A fan! :)
Haha, I know what you mean. Next thread announcing the release of a new version, I'm gonna shorten it pretty much to the core. :P
Yes, it is written Delphi. I take it you know Delphi as well? :D
Haha, would be quite nice to have some help here with things. :D Especially since I'm in a slum on deciding between stuff just recently.
Strange, the page shows up fine for me (and a few other people I talked to). I made sure to be logged out and all, so as to treat me like any visitor (note that if I were logged in, the address would start with "https", and this would generate an error had I visited it without having a valid cookie with my login credentials, but this isn't the case here as I made sure to correct the links). Did you try to open it again after a while?
Try clearing your cache if it's still like that. If the problem persists, I'd advise checking with your ISP to see what's up.
Symphonia
02-25-2010, 03:27 PM
Delphi, huh...
I haven't got that deep into Delphi, since I go back to JavaScript and Visual Basic...
But, oh well, I will see what can I do.
(But I guess I'll studying Delphi again, since I got my head full of PHP and JavaScript)
vBulletin® v3.7.0, Copyright ©2000-2010, Jelsoft Enterprises Ltd.