Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


magicjtv last won the day on June 28

magicjtv had the most liked content!

Community Reputation

217 Excellent
  1. Status for this week: I've been on a job interview that has lasted for over a week, so I didn't get much done this week. The code that will give us a free cloud database is written and 90% tested. Last week's goals are carrying over to this week.
  2. A new version of the website is up at https://hero-www-server.herokuapp.com/ The new features this week are saving and loading a toon, and the ability to add notes to your toon. There's also the start of an Account system as well as a few tweaks to themes. Saving and Loading a Toon To load a previously saved toon, use the Mid's Reborn button. This brings up an Open File dialog. Toon files have a .hero extension. These files are not compatible with the desktop version. That will come later. To save a Toon, use the Save button in the header of the Toon page. This is one of two new buttons in the header. The other is the Notes button. Notes If you're like me, you have so many toons that you forget what your plans were with them all. Notes can help solve this problem. You add notes to your toon by clicking the Notes button in the header of the Toon page. Notes are saved with the toon. There's a WYSIWYG editor for the notes. Clicking Cancel takes you back to the Toon page without saving the notes. Clicking Done saves the notes and takes you back to the Toon page. Accounts Accounts aren't functional yet. They will be required if you want to add toons to HeroBase, rate toons in HeroBase, or mark a HeroBase toon as a favorite. You will not need an account for any other features. Goals for Next Week Be able to add slots (sans Enhancements). Accounts fully functional. Sample Hero File MyHero.hero
  3. An new version of the website is up at https://hero-www.herokuapp.com/#/ New Powers Database In order to solve a variety of issues, extensive changes were made to the powers database. It is now about 1/15th its original size. This was done without using any compression. Size Of Old Powers Database: >155.0 MB Size Of New Powers Database: 10.8 MB Effects Of New Database The Database API server is no longer needed. It's gone. Database is now part of the web app itself. It gets downloaded and installed locally along with the rest of the app. All CORS issues are solved because there is no REST server to have CORS issues. Paves the way for making the web site a Progressive App. Progressive Apps, which are supported by the Quasar framework used by this app, can be run offline and can even be 'installed' on a device like a regular app. This also provides yet another option for making the app cross-platform. Dramatically improves response time. Because everything is local, no round trips are needed and information about a specific build can be stored to reduce the calculations needed. This lowered the response time for the Power Set Picker from over 20 seconds to less than 1 second. All Rust code is gone. Most of the Rust code ran on the REST server and dealt with handing the database. With the REST server gone, the benefits of using Rust didn't outweigh the drawbacks. The app is now 100% Javascript. Rust may get reintroduced if we hit a situation that can benefit from its fast execution (Example: AI Wizard) This was a huge change that rippled through everything, so it was all I got done this week. Now I'll start on saving builds. In the meantime, please feel free to offer feedback on the website.
  4. There's a big update this week. I'm finishing it up now. I'll post about it tomorrow.
  5. Good news and bad news this week. First the good news * The Power Picker is now working, so you can specify all the powers for a toon. This is working with the multiple builds feature. Here's a screen shot of a completed build using the Neumorphic theme. As you can see, you can't yet add slots or enhancements. Here's Build #2 using the Villain theme: * The "Tell Me About The Archetypes" feature is done. This feature is meant for players new to the game who may not know what the archetypes do. Screenshot using the Neumorphic Dark theme: And the bad news * The intermittent CORS error came back. I lost some time trying to track it down and ultimately decided to ignore it for now. I'll be developing on localhost to get the features done. Only after that will I focus on CORS. So that means, for now, screenshots, not links. * Save and load not done, mostly because I lost time chasing after CORS. * There's speed issues with the Power Picker. It's really slow. This is due to the huge size of the Powers database. Goals for this week * Speed up Power Picker. This could actually be a major task that includes refactoring the database to better suit the constrained environments of mobile and web. * Add save and load. * Add ability to slot powers (but not enhancements)
  6. Continued from previous post. Neumorphic Theme Neumorphic Dark Theme Other New Features Multiple builds is now functional, not just buttons that do nothing. The name field now actually works. To Do The Power Set Picker and Power Picker still need to be ported over to the new system. The new system still needs to be uploaded to Heroku. I should have these things done later today or tomorrow. Goal for the upcoming week Be able to actually create a toon (sans enhancements), save it and load it.
  7. There's a lot for this week's update, so let's jump right in... My Frustration With My Lack of Productivity And How I Fixed It I really felt I wasn't producing much from one week to the next. Rather than dropping back to an update every two weeks (industry standard), I explored ways to be more productive. What this meant to me was looking at alternatives to using React for the web product. The three alternatives I explored where 1) Seed, a Rust framework, 2) Vue, a Javascript framework, and 3) Anything else that caught my eye. The results of this were that with both Seed and Vue I was able to produce results significantly faster than with React. Seed, however, had issues when trying to fetch data from a server, even when using only their example code. So Vue won the contest and the entire web site was rewritten using it. This week. I'm also using Quasar with Vue, which gives us a complete app framework, including the ability to run the web app as a Windows, Linux, or Mac app via Electron and as an iOS or Android app via Cordova. I'm still in favor of using native code for mobile, but this gives us a fallback. Stability Issues Mea Culpa. To handle the web server side of things, I wrote my own HTTP server in Rust. It's very small, only a few dozen lines of code, and very fast. But I didn't make the input buffer big enough to handle some of the larger requests, so it would sometimes fail. When it did, Heroku would (mis)report this as a CORS error. It's fixed now and I'll eventually move the server over to a non-custom solution, perhaps Rocket. New Features A new Setting drawer provides access to two new features: Essential Links and Themes. Essential Links lets you navigate to the Homecoming and Mid's Reborn Forums and Discord servers. There are now seven themes available for the app: Light, Dark, Hero, Villain, Gamma, Neumorphic, and Neumorphic Dark. They're shown below. Light Theme Dark Theme Hero Theme Villain Theme Gamma Theme
  8. For this week's show and tell all I have is a bug report. When I POST info to the server, I'm getting intermittent CORS errors. I post it and it works, I post 5 times and it works, I come back an hour later and post the same thing and it fails with CORS errors. I'm correctly setting all the CORS headers on the server response. If I weren't, it would never work. So I suspect this weird behavior has something to do with the Heroku servers themselves. What this means is I'll be spending this week on fixing the reliability issues. It may result in moving the server off of Heroku. I'm also going to look at ways to increase my productivity on the web app because I'm unhappy with how long it takes to make progress there.
  9. For this week's show and tell I have to Power Set Picker working. The feature is live and you can try it out for yourself at https://hero-react.herokuapp.com/Splash There's a minor redesign of the Picker from the original mockup which allows 7 items to be displayed in the list at once rather than the original 3. This is done using the same amount of screen space. Originally, I had planned on also having the Power Picker working, but it turns out to do this I need to implement the feature of passing a toon's data via a URL. Since this is a requested feature anyway, I'm happy to do it, but I want to make sure I get it right. So the Power Picker will be the focus of this week's development.
  10. I Can Haz Web Site? https://hero-react.herokuapp.com/Splash The web site is up and running. Right now, there's not much more to it than what you see in the screen shot. Obviously, there's still a lot of coding left to do, but the pieces are starting to come together. What we have now is two Heroku free web sites, one for the API, and one to serve pages like the page shown above. Both are slow when first starting up, but once awake, they're pretty fast. Once we have a paid site, the wake-up time goes away. In the mean time, if you see things like "Class_Blaster" and "Inherent.Fitness.Health" instead of "Blaster" and "Health", give it a minute and it should automatically fix itself. If it doesn't clear up after a minute, just refresh the page. What's Next? Coding the Power Set Picker and Power Picker so you can start building a toon. Edit: Repository links. All repositories should be public. hero-core (includes Android and iOS subprojects) hero-react scatterbase
  11. I wanted to make a list of future enhancements to the AI for when I'm able to develop this again. Option to not use unique enhancements (purples and ATs) in the build Evolve powers, meaning swap out existing powers for ones that better fulfill your goals. Tag .bwc files with metadata such as what AT the file is meant for (could be 'Any'), what powers it targets, etc. Use said tags to present the user with a list of .bwc files on the wizard's first screen that apply to their toon. The wizard would only search the Templates directory for these files. A suggestion was made to be able to tell the AI things like "I want this power to have at least 80% damage from enhancements". I like the idea, but am unsure on what the UI for that would look like. If you have any suggestions, give a shout.
  12. More bad new guys. My backup PC is flaking out on me now. This means that, for now, I won't be able to continue development on this project. That was my last PC and Mids only runs on a PC. Work on the web and mobile versions continues, as I can do that on my Mac.
  13. For this week's update I have the Character screen running in the web. In a previous post I mentioned how the architecture for this system is a GUI shell talking to a Rust core, which in turn talks to the cloud. The screen shot below is that shell, populated with some dummy data. Earlier this week I posted the cloud API. The next step is to build out the Rust core so the shell can interact with the cloud. The web version has been tested on Edge, Firefox, and Chrome on Windows and Edge, Firefox, Chrome, and Safari on the Mac.
  14. I was able to reproduce the problem. A short term fix is to run Slots / Enhancements -> Slots -> Clear All Enhancements before running the Wizard. I'm going through the code now to find out why this is occurring. The error dialog you're seeing is a permissions problem. Use the File Explorer to make sure C:\Program Files (x86)\Hero Designer AI MVP\Data\Config.json is not set to read-only, as shown in the screen shot below. You open this dialog by right clicking on the file and selecting "Properties". If the file is not set to read only and you still see the problem, the system could be preventing you from writing to the C:\Program Files (x86)\ directory. You can try installing the software in a different directory, such as Downloads.
  15. It definitely should not be doing that. But I loaded your build and ran it through the wizard 5 times and never got those results. I tested this by loading your build, clearing all the enhancements using the Slots / Enhancements -> Slots -> Clear All Enhancements menu item, and running it through the wizard. Is it possible to post your original build, the one before running it through the wizard, and a . bwc file? This will let me reproduce your situation. The .bwc file saves your wizard config. You can make one with the "Save your Choices" button on the 3rd screen of the Wizard.
  • Create New...