Jump to content

How's it look?


magicjtv

Recommended Posts

Very nice. Looks clean.

  • Like 1

PPM Information Guide               Survivability Tool                  Interface DoT Procs Guide

Time Manipulation Guide             Bopper Builds                      +HP/+Regen Proc Cheat Sheet

Super Pack Drop Percentages       Recharge Guide                   Base Empowerment: Temp Powers


Bopper's Tools & Formulas                         Mids' Reborn                       

Link to comment
Share on other sites

A little more info...

 

  • Home screen now includes buttons for opening documents.
  • All three options, Mid's Reborn, Dropbox, and HeroBase, allow you to load/save to/from the cloud.
  • Mid's Reborn option can also load/save on the local device, even in the browser.
  • Mid's Reborn and Dropbox only allow you to open/save your own toons.
  • HeroBase is a public crowdsourced database containing thousands of characters. 
  • All cloud storage is free, both for the end user and for the developer, so there is no concern about losing data in the cloud due to an unpaid bill.
  • All cloud storage is secure, using HTTPS and OAuth authentication. All data is encrypted before storage in the cloud.

iPhone X-XS-11 Pro – 1.png

 

An example screen for loading a character from Mid's Reborn Cloud.

Open.png

 

The character screen.

  • At the top is the name of the toon, its archetype, and its primary and secondary powersets.
  • Up to 3 builds are supported, with buttons at the top for selecting the current build.
  • Tap on a box to set its power. This brings up a (as yet undesigned) power picker at the bottom of the screen.
  • Tap on an empty dashed circle to add a slot. This changes the circle to colored.
  • Tap on a colored circle to add an enhancement. This brings up a (as yet undesigned) enhancement picker at the bottom of the screen.
  • Tap on an enhancement to change the enhancement.
  • Double tap an colored circle to remove the slot. This changes it to an empty dashed circle.
  • Double tap an enhancement to remove the enhancement. This changes it to a colored circle.
  • When there are no slots left to place, all the empty dashed circles disappear.
  • Tap the "i" button of a power to bring up the power and enhancements stats for the power.
  • Like desktop Mid's, some powers have a button that indicates if the power should be included in the toon's total stats. In this example, Personal Force Field has that button.
  • The borders are color-coded. Blue = Primary, Red = Secondary, Yellow = Pool, Orange = Epic, Green = Inherent
  • At the bottom is a tab bar that provides different ways to look at the toon's powers.
  • Save using the Upload button in the Navigation bar.
  • If the build was loaded from HeroBase, you can rate the build from 1 to 5 stars or leave a comment on the build using the comment button in the Navigation bar.
  • The hamburger button is for advanced options. At a minimum, it will include an option to view the toon's total stats. Other options may be added. Possibilities include Set All Enhancements To Maximum Level, Bonus Wizard, Perma Wizard, and the IO Bonus Spreadsheet.

iPhone X-XS-11 Pro – 2.png

 

Edited by magicjtv
Link to comment
Share on other sites

Power Picker

  • Tapping on a power box opens the Power Picker at the bottom of the screen.
  • The Power Picker is intelligent. It knows if you haven't yet selected a primary and secondary. In this case, it first presents you with a Powerset Picker, allowing you to select your primary and secondary powersets. (Top part of the image below)
  • When Picking a power, the Power Picker displays two columns. The first is a list of all powersets the build has or could have. The second is a list of available powers in the selected powerset. (Bottom part of the image below)
  • Swipe to scroll or press the triangles.
  • Tap the "i" button for info about the current selections.

iPhone X-XS-11 Pro – 3.png

 

These Pickers can be used as needed throughout the UI. For example, to change the toon's primary and secondary powersets, tap on the text showing the toon's primary and secondary powersets in the UI. This brings up the Powerset Picker, allowing the user to change their selected primary and secondary.

Edited by magicjtv
Link to comment
Share on other sites

MRB Team: discussing what steps to take moving forward to a more crossplatform-compatible, possibly web-based Mids successor
Magicjtv: LESS TALK LET'S DO THIS

 

Your determination is starting to make us look bad! 😛

 

In all seriousness this is looking great, especially for early stages. It's giving me some City of Data vibes.

  • Like 1
mrb-social2_mini.png.464409b4404c13db31506dbe99d59609.png

Mids' Reborn : Hero Designer

The build planner to make your awesome characters even more awesome!

   
Into the Night "... and so we went into that dark night, for we knew our dawn would come again..."
~ The Meowcronomicon

 

Link to comment
Share on other sites

15 hours ago, Felis Noctu said:

MRB Team: discussing what steps to take moving forward to a more crossplatform-compatible, possibly web-based Mids successor
Magicjtv: LESS TALK LET'S DO THIS

 

Your determination is starting to make us look bad! 😛

 

In all seriousness this is looking great, especially for early stages. It's giving me some City of Data vibes.

Thanks. My plan was to have this be a supplement to Mids, not a replacement. That's why I only targeted platforms that Mids doesn't support.

 

But if you guys want a Windows version too, it can be done. The core is written in a language called Rust, which is like a modern-day C++. I can be run on pretty much any platform, including web browsers when it's compiled to Web Assembly. Adding a new platform just means writing a GUI shell to talk with the core. The core handles most of the work, like calculating stats and talking to servers.

 

Edit:

But just to be clear, yeah, this is still in early stages. The core exists, but is basically just a simple proof of concept at this point. The database, including HeroBase, exists. There's some code, including the core, running in simulators on iOS, and Android, and in a browser. But the character creator screen is just an Adobe XD mock up. Servers need to be written, communication with cloud storage needs to be written, tests need to be written, etc. It will take some time.

 

Edit 2:

Another way to get a Windows version (and a Mac version too) would be to add Electron to the web version. Electron turns web apps into desktop apps.

 

And sorry for this post being a bunch of techno-babble. It just kinda happened.

 

Edited by magicjtv
Link to comment
Share on other sites

If folks want to have a look at the code, it's here: Hero Core On BitBucket with an additional library here: Scatterbase

 

Hero Core is the Rust library and there are sub-projects for the Android (Kotlin), iOS (SwiftUI), and WWW (React + Tailwind) runnables. Scatterbase (Rust) builds and provides access to the database.

 

Edited by magicjtv
Link to comment
Share on other sites

On 7/15/2020 at 4:28 AM, magicjtv said:

Another way to get a Windows version (and a Mac version too) would be to add Electron to the web version. Electron turns web apps into desktop apps.

Electron is actually one of the things we'd discussed. I'm more of a web designer, and Zed has a good foundation in Javascript, so we'd be able to more easily handle the front-end stuff while Metalios works behind the scenes.

 

But yeah, lots to talk about, tons to consider! With .Net MAUI on the horizon, that's also a strong contender for us.

  • Like 1
mrb-social2_mini.png.464409b4404c13db31506dbe99d59609.png

Mids' Reborn : Hero Designer

The build planner to make your awesome characters even more awesome!

   
Into the Night "... and so we went into that dark night, for we knew our dawn would come again..."
~ The Meowcronomicon

 

Link to comment
Share on other sites

Quote

But yeah, lots to talk about, tons to consider! With .Net MAUI on the horizon, that's also a strong contender for us.

I hadn't heard about MAUI. It looks pretty cool.

 

The design philosophy I went with was to have the core written in Rust because it's the most reliable language I know of, it's portable, and it's super fast. I can use that speed for the AI stuff. And then around the Rust core are best-in-class front ends for each platform. It's a bit more work to do it that way, but you get full access to the capabilities of each platform.

 

Anyway, that, along with everything needs to run for free, are the reasons I went in the direction I did. 

 

But I'd hate to duplicate effort, so I'll take a look at MAUI once it's released. But the Rust core is honestly going to be better for me than something written in some other language.

 

Edit:

BTW Rust can run inside .net. 

Edited by magicjtv
Link to comment
Share on other sites

Status Update

So, for this week's Show and Tell, I don't have anything to show, but a few things to tell.

 

I spent the week doing "spikes", which means exploring new tech. Out of that came a new router for React, react-awesome-router. Silly name, but it's easier to use than react-router and it has route guards, which I need and react-router lacks. Doing this required  refactoring the existing React components into a functional style.

 

For iOS, the UI is now responsive, adjusting automatically to different screen sizes. Ditto for Android. The Android UI was also re-written from scratch in a functional style that preps it for the upcoming release of the Compose framework. It also now uses Jetpack for navigation.

 

Edit:

Well, ok, there's one thing I can show. Here's a screen shot of the new responsive Android code running on a tablet.

Screen Shot 2020-07-19 at 5.32.29 PM.png

 

And the new responsive iOS code running on an iPhone SE...

Screen Shot 2020-07-19 at 5.38.45 PM.png

Edited by magicjtv
Link to comment
Share on other sites

Version 0.0.0 of the database server is up. This is running on a free account at Heroku. Their free accounts go to sleep when not being accessed and take a few seconds to wake up when they get a request. Eventually, a paid account will duplicate the capabilities of the free account so there's not a sleep delay. But the free account will never go away. It will always be available for use. The final code will try to connect to the paid account first, and if fails it will connect to the free account.

 

This is a read-only database that stores static info like archetypes and enhancements. Another database, yet to be written, will store info that can change, like player builds.

 

WARNING: DO NOT TICKLE THE DATABASE SERVER!

 

Tickle

Tickle

Tickle

 

Edited by magicjtv
Link to comment
Share on other sites

1 hour ago, magicjtv said:

WARNING: DO NOT TICKLE THE DATABASE SERVER!

Do not taunt Happy Fun Ball.

 

Edited by Rathulfr
  • Like 1

@Rathstar

Energy/Energy Blaster (50+3) on Everlasting

Energy/Temporal Blaster (50+3) on Excelsior

Energy/Willpower Sentinel (50+3) on Indomitable

Energy/Energy Sentinel (50+1) on Torchbearer

Link to comment
Share on other sites

BTW, if you want to play with the server, the API uses the patern COMMAND/ID. Here's a list of valid command's with a sample id and link for each:

 

archetype Class_Blaster https://gentle-dusk-67062.herokuapp.com/archetype/Class_Blaster

enhancement_set Absolute_Amazement https://gentle-dusk-67062.herokuapp.com/enhancement_set/Absolute_Amazement

enhancements_for_set Absolute_Amazement https://gentle-dusk-67062.herokuapp.com/enhancements_for_set/Absolute_Amazement

powers_for_power_set Arachnos_Soldiers.Arachnos_Soldier https://gentle-dusk-67062.herokuapp.com/powers_for_power_set/Arachnos_Soldiers.Arachnos_Soldier

primary_power_sets_for_archetype Class_Controller https://gentle-dusk-67062.herokuapp.com/primary_power_sets_for_archetype/Class_Controller

secondary_power_sets_for_archetype Class_Stalker https://gentle-dusk-67062.herokuapp.com/secondary_power_sets_for_archetype/Class_Stalker

ancillary_power_sets_for_archetype Class_Brute https://gentle-dusk-67062.herokuapp.com/ancillary_power_sets_for_archetype/Class_Brute

pool_power_sets_for_archetype Class_Warshade https://gentle-dusk-67062.herokuapp.com/pool_power_sets_for_archetype/Class_Warshade

enhancement Crafted_Basilisks_Gaze_A https://gentle-dusk-67062.herokuapp.com/enhancement/Crafted_Basilisks_Gaze_A

power_set Scrapper_Melee.Ice_Melee https://gentle-dusk-67062.herokuapp.com/power_set/Scrapper_Melee.Ice_Melee

power Defender_Buff.Cold_Domination.Benumb https://gentle-dusk-67062.herokuapp.com/power/Defender_Buff.Cold_Domination.Benumb

 

 

 

 

Edited by magicjtv
Link to comment
Share on other sites

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.

Screen Shot 2020-07-26 at 8.08.44 AM.png

Edited by magicjtv
  • Like 1
Link to comment
Share on other sites

I Can Haz Web Site?

https://hero-react.herokuapp.com/Splash

 

Screen Shot 2020-08-02 at 1.56.12 AM.png

 

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

 

 

Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

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.

 

Screen Shot 2020-08-09 at 12.02.21 PM.png

Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

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.

 

  • Like 1
Link to comment
Share on other sites

I have noticed that Heroku seems to be generally unreliable in terms of your app so far. There have been times where I try to load it and it'll appear near instantly while other times will take several minutes to do so, and conversely the same situation but then telling me there was an error/the app is unavailable. Not all that impressed with Heroku as a whole honestly.

  • Like 1
mrb-social2_mini.png.464409b4404c13db31506dbe99d59609.png

Mids' Reborn : Hero Designer

The build planner to make your awesome characters even more awesome!

   
Into the Night "... and so we went into that dark night, for we knew our dawn would come again..."
~ The Meowcronomicon

 

Link to comment
Share on other sites

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.

Screen Shot 2020-08-23 at 5.13.32 PM.png

 

There are now seven themes available for the app: Light, Dark, Hero, Villain, Gamma, Neumorphic, and Neumorphic Dark. They're shown below.

 

Light Theme

Screen Shot 2020-08-23 at 5.20.17 PM.png

Screen Shot 2020-08-23 at 5.20.32 PM.png

 

Dark Theme

Screen Shot 2020-08-23 at 5.22.22 PM.png

Screen Shot 2020-08-23 at 5.22.42 PM.png

 

Hero Theme

Screen Shot 2020-08-23 at 5.24.38 PM.png

Screen Shot 2020-08-23 at 5.24.49 PM.png

 

Villain Theme

Screen Shot 2020-08-23 at 5.26.37 PM.png

Screen Shot 2020-08-23 at 5.26.50 PM.png

 

Gamma Theme

Screen Shot 2020-08-23 at 5.28.49 PM.png

Screen Shot 2020-08-23 at 5.28.58 PM.png

Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

Continued from previous post.

 

Neumorphic Theme

Screen Shot 2020-08-23 at 5.31.03 PM.png

Screen Shot 2020-08-23 at 5.31.14 PM.png

 

Neumorphic Dark Theme

Screen Shot 2020-08-23 at 5.33.38 PM.png

Screen Shot 2020-08-23 at 5.33.50 PM.png

 

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.

Edited by magicjtv
  • Like 1
Link to comment
Share on other sites

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.

Screen Shot 2020-08-30 at 11.01.18 AM.png

 

Here's Build #2 using the Villain theme:

Screen Shot 2020-08-30 at 12.14.05 PM.png

 

 

* 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:

Screen Shot 2020-08-30 at 10.50.33 AM.png

 

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)

Edited by magicjtv
  • Like 2
Link to comment
Share on other sites

×
×
  • Create New...