News:

Are you new here?  Please introduce yourself to the rest of us in the New Members area!

Main Menu
9 Guests, 0 Users
avatar_Senkusha

Development Log

Started by Senkusha, Monday, June 10, 2024, 20:26

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Senkusha

Well, I've been super busy over the past few weeks.  I figured that I'd get a quick summarized update of all the progress that I've made so far.

First, I'll let it be known that for this project I'm following the RTS tutorial on YouTube, created by Two Neurons.  He's a fabulous instructor, and seems to be pretty competent with regards to software engineering.  Anyway, here's the tutorial completed up to episode 23:
2024-06-10 19_25_18-AnimeRTS - Unreal Editor.png

I added the widget in the bottom right corner that displays the current Pitch, Zoom, and Direction, as well as the current location on the Map.  Other features that I've done were behind the scenes.  I reworked the GameTime function to use an easier method to speed up time.  Originally, the time operated at a much faster rate than Real Time.  I set the default time speed equal to one second.  Originally, you could slow time down, now it's defaulted to one second.  There are now also 16 time settings instead of the original 5.  These values range from 1x speed to 2500x speed.  Furthermore, the initial time was originally hard coded into BluePrint.  I have a setting that I can enable that uses the Real World Time as the initial start time.

Speaking of the camera manipulations.  Original, the camera was hard coded to 75 degrees, and the zoom worked within a narrow range (between 300 and 1350 Unreal Units).  Now the Zoom operates between 300 and 10,000 Unreal Units, and instead of only 10 zoom steps, there are 20.  I also set made the Pitch adjustable.  It now defaults to 60 degrees, however, by holding down the Right Mouse button, the player can adjust the pitch all the way to zero degrees, and up to 90 degrees.

Other things I've been doing behind the scenes:  I've been adding Resources (not the actual 3D models just yet), but only working on the internal Database.    I've also been working on a Configuration File and Settings User Interface.  Finally, I've been cleaning up some of the initially messy code blocks, expanding them and making them function more dynamically.

I've also been doing a lot of thinking.  Specifically about what features do I want to add and how am I going to implement them.  What is the Player's experience that I'm going after?  And finally what things would I like to expand upon going from version 1.0 into 2.0 when the time comes.  Because most of the time I'm at work, standing around counting shopping carts and stuff on them, and I'm not anywhere near my computer, most of the work I'm doing right now is mainly just thinking.  Do you smell toast too?

Senkusha

Despite some traveling around the city today with various errands to run, I got quite a bit accomplished today.  It may not look like much, however, I designed a common use "button" than not only can be used as a general use button, but also, has a built-in progress bar, quantity counter, swappable icon, and changeable text.  All of this can be changed programmatically during runtime, so if I need to change the display, I can update everything in one place, a single time.  This first screen shows the various Skills that I've added.
2024-06-20 21_44_00-AnimeRTS - Unreal Editor.png

I also got the panel switching to work as you can see in the second image.  I've done some minor moving things around as well.
2024-06-20 21_44_33-AnimeRTS - Unreal Editor.png

Senkusha

Although I have nothing to show that's different today, I've actually made a bit of progress!  I've nearly got the User Interface to display and UPDATE values (including saving and loading from a stored file) when changing a value!

I've had to go back and change some parts of my code to eliminate some redundancies, however, I'm confident that by tomorrow evening, most of the Pawn UI will be complete.  Then I just need to create the actual pawn models...

In my learning adventure, I'm becoming more comfortable working with Interfaces, Function Libraries and the Save Game mechanism that Unreal Engine offers.  Now if only I can figure out how to access a variable in memory from anywhere, without having to rely on the Save Game mechanism.  In time, I'm confident I'll figure it out. :nosweat:

Senkusha

Another day gone.  And although I don't feel that I've made very much progress, I have been able to streamline some of the internal workings of the User Interface.  Now instead of loading two separate panels for Stats and Skills, now it's dynamically loaded, which saves on memory usage.

I've also got the XP function working now.  The game checks to ensure that Pawn in question has sufficient XP to spend before allowing a Stat/Skill to be increased.  I still haven't quite gotten the Save feature to work on this, but I feel that I'm really close, and after a good night's sleep, I'm hoping to be able to conquer this problem in the morning!

I also have an internal database viewer widget that I made so that I can test this functionality.  Although, it is only temporary, this work is necessary so that I'm positive the internals are working correctly.

2024-06-24 21_41_10-AnimeRTS - Unreal Editor.png

The pawn selector at the bottom of the screen will eventually be replaced when I'm able to click on a selected Pawn.

And another bug I just noticed is that it is only reading from Pawn 0, which has 0 XP available. *sigh*

Senkusha

Today I got quite a bit finished up!  I finally got the Save Feature working.  So now when I increment a Stat or Skill, it actually updates the correct Pawn!  I also made some minor changes to the User Interface, and I'm glad I did, because there were some bugs hiding!  As you can see from this screenshot, my (top) values aren't generating correctly, (however the bottom number are generating correctly).  I've almost got it figured out, but unfortunately, I need to sleep now.

2024-06-25 22_01_26-AnimeRTS - Unreal Editor.png

Senkusha

I got the majority of the Attributes functionality completed today.  Now I'm just adding additional functionality for later when I can EDIT a pawn and I'm moving some buttons from the Debug panel over to the Pawn panel.  Here's what I've got so far!!

2024-06-26 22_02_40-AnimeRTS - Unreal Editor.png

Senkusha

I've been super busy over this past week, and while it may not look like I've actually accomplished a lot on the front end, I've done a lot of repair work in the back.

  • I created a Load/Save Game system.
  • Totally redefined the Save Structure from an Array to a Set, and re-coded all the Nodes to work with the much more efficient Set variable type.
  • Created and fought with a custom Modal Dialog box (still doesn't quite work, and I'm not sure why, but I do know the Event isn't being triggered, even though it's being called.)
  • Created the XP calculation system and tested it.
  • Moved some functionality to separate areas.
  • Created a Character Editor screen -- and am currently in the process of retrieving all the data to populate the fields.
  • Created a message box widget.
  • Created a customized print text widget to send messages to the Message Box.

The Stats Panel.
2024-06-27 20_49_28-AnimeRTS - Unreal Editor.png

Same panel, but Skills.
2024-06-27 20_49_38-AnimeRTS - Unreal Editor.png

Character Editor screen.
2024-06-27 20_50_03-AnimeRTS - Unreal Editor.png

Custom Modal Dialog
2024-06-27 20_50_18-AnimeRTS - Unreal Editor.png

Message Box:
2024-06-27 21_04_34-AnimeRTS - Unreal Editor.png

Senkusha

Quite a bit done today.  Finally got the Character Editor mostly finished.  The only exception is now for the customization of the actual 3D models.  But for that, I need to actually get some Pawn models imported into the engine.  For now, I'll use VRoid Studio to make some base models to play with.  I'll begin with tweaking the hair and eye colors.  Those should be fairly easy to build.

I've started reworking the building menu as well.  I figure that will probably end my week long running session I have to get this build, then it's back to work -- unless people are truly pissed off enough to actually shut down the country, I'll be stuck going back to work again.  Those Presidential debates were nothing short of a dumpster fire.  Anyway...

As I was saying, here's my image inventory for the day.  I think in total, I've only managed to pull out seventeen hairs throughout the course of the day!

Here's a comparison of my new VRoid model and a building from the Tutorial.  For scale/size reference.
2024-06-28 21_55_01-AnimeRTS - Unreal Editor.png

My modified Debug panel.  This will eventually be going away when I can determine how to select an Actor just by click on it.  Notice here that the Names can change!!
2024-06-28 21_55_23-AnimeRTS - Unreal Editor.png

The first piece of the Character Editor screen.  This is the far right panel, that allows you to edit the data.  Notice that the Gender field is actually a Slider control!  Non-editable fields show up in Pinkish text while the ones you can edit are in White text. (Health is tested here.)
2024-06-28 21_55_45-AnimeRTS - Unreal Editor.png

The beginning stages of the Create Building menu.  I went with a ComboBox since it ultimately takes up less room than the bulky control that we made with the Tutorial.  This also allows me to expand with more categories easier!
2024-06-28 21_56_12-AnimeRTS - Unreal Editor.png

Yes, someday, I'll work on the icon set so all these ugly white squares turn into pretty, pretty pictures!!  I'm waiting to do the icon work because I may change my mind on not only what to call some buttons, but if I even need a button altogether.

Senkusha

Well, the last day of my vacation has yielded some excellent results!

I finished migrating the Activities panel from a separate floating menu to a side panel.  It is fully functional (as in it did the exact same things the older "tutorial based" menu did.  I also add a couple of nice features that also shows the description of what each building is/does and the resources that are required to build the structure.  Also, I made it so that regardless of how the data is entered in the system, it automatically sorts this Resource data!

2024-06-29 21_54_42-AnimeRTS - Unreal Editor.png2024-06-29 21_55_15-AnimeRTS - Unreal Editor.png2024-06-29 21_56_02-AnimeRTS - Unreal Editor.png

The above data shows up whenever the player hovers over a button.  And all these buttons are programmatically added, meaning I don't have to add them individually!  I just have to add them to the database (DataTable) in the game.  At some point, I'll probably create a Helper Utility that will streamline the process, so that I can more quickly add the data on the fly, while I'm actually in the game...I'm thinking, User Contributed Content.  I don't know of any games that actually do this officially.

Also, one final note, you'll notice that the Resource text is red.  That's because right now, I have no resources (or the data).  If I were actually playing the game, any available Resources that I have, and if I have enough Quantity of a Resource, that Resource would appear in green text.

At some point within the next week, since I have to return to my job tomorrow, my development time will be greatly reduced, but at any rate, I'll be working on the actual Character Pawns in the game.  I've got one in the game right now that I plan on extending.  The first thing I need to figure out how to do is, how do I tell if a Player clicked on an Actor object.  -- Sounds like some research to be done while commuting on the Train tomorrow morning.

Senkusha

Well, that didn't last long.  LOL

I attempted to write a C++ module and corrupted something in my project, so now it won't even open.  I have to "recompile from source", whatever that means.  So, the worst case scenario is that I've lost a few months worth of work, but not the experience!  Worse case, I simply rebuild the game concept into something better, using the experience that I've learned, it'll be a quick process, and probably more optimized too!

Seeing that the Tutorial author hasn't updated his YouTube in over two months, I'm suspecting that the tutorial I was following was defunct anyway.  So, saying that, I've learned some things:

1.  When engaging in any tutorial, especially if you are just learning from the beginning, try to find completed tutorials to learn from!

2.  Don't mess with C++, unless you know it.  I'll be learning how to work with C++ within Unreal Engine, but on completely blank, throw-away projects until I'm competent at working with C++.

3.  Find a Source Control, preferably one that's free.  Online would be nice, because of hardware redundancy, but isn't a prerequisite.

4.  Probably the most important thing I've learned so far:  Actually plan out and write down the ideas for the game design instead of just winging it off the top of my head.  Hmm, I wonder if there are any software tools that have been created specifically for this?  Word Templates maybe?

Senkusha

Alrighty!

I got my project back! YAY!  And I fixed Microsoft Visual Studio to the Recommended settings Epic Studios suggests.  Apparently, there is a problem with the VRM4U plugin, the add-on that allows you to import VRoid Studio models directly into Unreal Engine.  Now that I have that, hopefully resolved, I can continue with my project.

I'm dealing with a couple of problems right now with getting access to the Construction Timer.  I want to display a progress bar, and I think I'm going about it the wrong way.

I may take a step back and reevaluate what it is exactly that I'm looking to build, because right now, I seem like I'm just floating in space with no definite direction.

Oh, and I managed to get Source Control using GitHub activated.  Unfortunately, I think my project is too big right now to fully utilize it.  *sigh*