Yes, you read that right. I've finally gotten Invasion, the cornerstone mechanic of any Risk game, to a somewhat working state. I say somewhat because, basically, I can't get the game to compare more than one set of dice per roll.
To put this into perspective, say the game rolls [6, 4, 2] for the attacker and [6, 1] for the defender. Because of the bug, the game will compare the two highest rolls (the 6s) but afterwards it won't move on to compare the second highest numbers (the 4 and the 1). It will instead compare the two highest numbers twice. This causes nearly all invasions to bring both the defender and attacker's troop counts down into the single digits most every time.
I'd probably have been able to fix this over the past couple days, but I've been trying and failing to reinstall Windows onto my new SSD and I'm the sort of person who is unable to focus on anything once he comes across a difficult problem.
Hopefully I can get this thing to work soon so I can go back to Mega-Risk dev.
Sunday, May 3, 2015
Invasion (mostly) works!
Sunday, April 19, 2015
Multiplayer Thigns
Well, I tried to make it a weekly thing. And I failed. And I'm sorry.
Not much has happened over past few weeks. After I found that the storage site we were using would only let us store 1GB of stuff on it I told Conrad that I would look for an alternative. I am now using the recommended Perforce client and running a server myself, but Conrad and I are getting the same timeout problem we were with Subversion. So there's that. :/
On the actual dev side of things, I've been figuring out how to make multiplayer work because, for the most part, all of the remaining basic features will requre some sort of multiplayer functionality to work (turns, disaster cards[which happen in between turns], and some UI stuff). However, I found that our entire character setup is basically wrong. So I had to remake everything. Then I came across problem. As of today, I have posted my problem on UE4's AnswerHub and am waiting a reply.
So that is the state of the game. Hopefully the next time I make an update I'll have everything in a more working state.
Not much has happened over past few weeks. After I found that the storage site we were using would only let us store 1GB of stuff on it I told Conrad that I would look for an alternative. I am now using the recommended Perforce client and running a server myself, but Conrad and I are getting the same timeout problem we were with Subversion. So there's that. :/
On the actual dev side of things, I've been figuring out how to make multiplayer work because, for the most part, all of the remaining basic features will requre some sort of multiplayer functionality to work (turns, disaster cards[which happen in between turns], and some UI stuff). However, I found that our entire character setup is basically wrong. So I had to remake everything. Then I came across problem. As of today, I have posted my problem on UE4's AnswerHub and am waiting a reply.
So that is the state of the game. Hopefully the next time I make an update I'll have everything in a more working state.
Friday, April 3, 2015
A POST.
Spring break is nearly over and this is the first post during that time. :/
Although not as much got done as I had hoped, some very important stuff happened:
- Unreal went free, allowing Conrad to go full-on dev.
- We (kind of) got a form of source control was set up, and although there is a problem with it now, it will allow us to practically work on the same project all at once.
- I got invasion practically done. All that is left is to fix a bug or two.
Conrad has been great adding in details that I've been too busy with the main stuff to do. He's added in better camera controls, foliage, a main menu, and some music (although that was mainly lost in the great source control calamity).
I, meanwhile, have been figuring out invasion code and trying to get source control working. Speaking of which, I should explain why Mega-Risk didn't get a Minecraft-sized update these past couple of weeks. It happened in an event I like to call:
THE GREAT SOURCE CONTROL CALAMITY
About a week after the last blog post, Conrad and I had finally got source control working via an online repository hosting site. I had my project hooked up to it and all of my files were in there. Conrad had hooked his project up as well.
Conrad had more changes, but the changes I had made were more complex, so instead of either of us merging the source control files with our (and thus wiping out all of our progress), we decided that Conrad would copy everything I had done into his project and then upload his files, which I would download. I don't remember why, but Conrad ended up with a broken territory class. We tried fixing the problem in a variety of ways, but they all made everything worse until Conrad's project was completely broken and he had lost a lot of his work, including the music setup.
Fortunately, Conrad had uploaded some of his entirely new files to source control and I had added them to my project. Also, he had taked screenshots of some of his stuff and has been able to rework some of it from those. Nevertheless, it took us at least five days to get to a point similar to before the calamity.
But despite that, I'm proud to say that I should have invasion fully functional by the end of spring break on Tuesday and I can announce the next version.
I might have made more posts since two weeks ago, but at the end of any one day it never felt like we got any concrete set of stuff added in and I didn't want to say something like "we mostly got this and that done, but it's not done yet".
I realize I'm doing this here with invasion, but a number of things led to this today, including us having an actual meeting where we discussed things (:O), Conrad and I finally getting our projects synced and ready to source control again (once I fix an issue with logging in to the server), and Hank DLing Unreal (woo!).
I HOPE TO BE BACK SOON.
Thursday, March 19, 2015
kback
THE FINALS ARE OVER. SPRING BREAK HAS BEGUN. TWO WEEKS OF GOOD THIGNS.
At(or near) the top of that list of thigns is Mega-Risk dev. I've got plenty of time to work on this thing and start to morph it into something that looks less like a couple of morons flopping about with high-end software and more like an actual game.
Among planned features to be added over the next two weeks are(in no particular order):
- Full-fledged, dice-based invasion
- Multiplayer
- Ownership of territories by players
- More UI happiness
- Events(disaster cards)?
- Turns ???????
Invasion comes first, though. I've got Spencer's dice rolling program sitting on my computer, waiting to be rewritten in C++. Once I find out how to access code functions from UE4 blueprints, I'll hook the dice up to the invasion thing I have and then there will be a party or something.
After that's done IDK.
Also, since it's late and I couldn't start code conversion but I wanted to do something, I made a Trello board. The board is public so anyone can see it even if they don't have a Trello account. I'll try to keep that thing updated.
TRELLO LINK.
Also, since it's late and I couldn't start code conversion but I wanted to do something, I made a Trello board. The board is public so anyone can see it even if they don't have a Trello account. I'll try to keep that thing updated.
TRELLO LINK.
I'll be back soon with good, happy update stuff. :D
Monday, March 9, 2015
Of invasion and source control
We finally got a substantial amount of stuff added to make another update post!
As you may or may not know, Unreal Engine 4 recently went free. Because of that, Conrad is now on the active dev team! ^_^
Over the last weekend, the two of us got two things done:
- A basic invasion feature (mainly me)
- Camera rotation and zooming (mainly Conrad)
Also, after many frustrating hours of Googling, I got source control to work. For those of you who don't know, that's basically a way of sharing files/projects between multiple people for collaboration purposes.
As of this moment, invasion simply consists of selecting a territory, hitting the 'Invasion' button, and selecting another territory. That second territory will have its troop count reduced by ten. This week, I hope to make it so that continents can only attack adjacent territories and also (maybe) implement Spencer's dice rolling program so that we can have true invasion. :D
I FORGOT THAT FINALS ARE NEXT WEEK. I'M AFRAID THERE WON'T BE MUCH DEV TIME UNTIL WED. 18TH, WHEN FINALS ARE DONE.
I FORGOT THAT FINALS ARE NEXT WEEK. I'M AFRAID THERE WON'T BE MUCH DEV TIME UNTIL WED. 18TH, WHEN FINALS ARE DONE.
Here are a couple of screenshots highlighting the stuff we did.

A: Zoomed in on the seahorse. Notice the 'Invade' button.

B: Zoomed out and invaded the tail.

A: Zoomed in on the seahorse. Notice the 'Invade' button.

B: Zoomed out and invaded the tail.
Monday, February 23, 2015
PROTOTYPE - Update 4 (Mega-Risk v.Proto_0.0.1)
Welp, I did it. I added the ability to select territories in-game and then edit their properties with using a set of buttons. I also made all the continents into territories and put them on the map.
Here, I've changed a few things around in-game. All of the settings are reverted to their original state when the game closes.
Implementing this wasn't nearly as tricky as I thought it would be. I simply made it so that when the player clicks on a territory (which can be toggled through a built-in event), any existing UI is deleted and new UI is created. This is to prevent multiple UIs from popping up.
The UI itself consists of a string of text displaying the name of the territory and a set of buttons that directly alter either the troop count or the color of the territory.
The map. Finished and covered in colored territories.
Here, I've changed a few things around in-game. All of the settings are reverted to their original state when the game closes.
I don't expect to be able to get anything of substance done anytime soon after this. All the easy stuff is done and the next task at hand is implementing invasion, which also involves figuring out how to make each territory know all of its adjacent territories.
However, it appears that a checkpoint of sorts as been reached. We have a 3D map of all the continents. They all have been divided into territories and have a couple of fundamental properties that can be altered.
Therefore, I'm going to go ahead and dub this:
Mega-Risk v.Proto_0.0.1 (we have a cool development name now woo!)
Changelog:
- Initial version
- Added 3D map
- Added Continent-Territories
- Added Territory selection
- Added Territory buttons
Sunday, February 22, 2015
PROTOTYPE - Day ??? (Update 3)
NOT DEAD YET.
I finally was able to take a Saturday off and get some stuff done! :D
Using vertex-snap magic, I was able to fix my earlier problem and then some. The board (or at least the part I'm testing) now displays a numeric troop value above the territory and has a colored overlay which I'm using in place of a border. This overlay will later represent ownership.
I also made it so that Unreal recognizes when the cursor is hovering over a territory. I'll use this to implement territory selection, which I'm hoping to do tomorrow.
BTW, I'm initially just going to use continents as territories since I haven't figured out the territory-continent relations yet.
Now for screenshots:
Here's my test region in-editor. The actual texture of the land is a dark, metallic grey (as you can see in previous screenshots); the colors are just overlays which double as basically giant buttons that can be used to select the territories.
"In-game" (well, in-editor game mode). You can't see the cursor here, but it's hovering over the purple territory. All territories turn white when they're hovered over.
TECHNICAL STUFF:
Each landmass is currently broken into: the base mesh, a 'collision' plane, and a blueprint for each territory.
- The base mesh has its origin at the center of map even though the meshes are in different places. Because of this, I can drag the map meshes into Unreal and set their locations to 0. This snaps the landmasses to their exact locations.
- The 'collision' meshes are basically placeholders for the actual territory blueprints. What I do is take the top face of each landmass and split it along the territory borders into various parts. I then make each of these parts, each of which is now a good representation of each continent, a separate object. I can then import them into Unreal. I use vertex snapping to line up the collision planes to the meshes themselves. It's all very manual but it works pretty well for now. Later on I'll see if I can revamp this system to use sockets and make it all more automatic.
-The territory blueprints take some more explaining to do. In fact, I think I'll make an entire other post to explain them.
P.S. Since I'm unable to create enough content most days to warrant full update posts, I'm going to number these things by updates instead of days.
I finally was able to take a Saturday off and get some stuff done! :D
Using vertex-snap magic, I was able to fix my earlier problem and then some. The board (or at least the part I'm testing) now displays a numeric troop value above the territory and has a colored overlay which I'm using in place of a border. This overlay will later represent ownership.
I also made it so that Unreal recognizes when the cursor is hovering over a territory. I'll use this to implement territory selection, which I'm hoping to do tomorrow.
BTW, I'm initially just going to use continents as territories since I haven't figured out the territory-continent relations yet.
Now for screenshots:
Here's my test region in-editor. The actual texture of the land is a dark, metallic grey (as you can see in previous screenshots); the colors are just overlays which double as basically giant buttons that can be used to select the territories.
"In-game" (well, in-editor game mode). You can't see the cursor here, but it's hovering over the purple territory. All territories turn white when they're hovered over.
TECHNICAL STUFF:
Each landmass is currently broken into: the base mesh, a 'collision' plane, and a blueprint for each territory.
- The base mesh has its origin at the center of map even though the meshes are in different places. Because of this, I can drag the map meshes into Unreal and set their locations to 0. This snaps the landmasses to their exact locations.
- The 'collision' meshes are basically placeholders for the actual territory blueprints. What I do is take the top face of each landmass and split it along the territory borders into various parts. I then make each of these parts, each of which is now a good representation of each continent, a separate object. I can then import them into Unreal. I use vertex snapping to line up the collision planes to the meshes themselves. It's all very manual but it works pretty well for now. Later on I'll see if I can revamp this system to use sockets and make it all more automatic.
-The territory blueprints take some more explaining to do. In fact, I think I'll make an entire other post to explain them.
P.S. Since I'm unable to create enough content most days to warrant full update posts, I'm going to number these things by updates instead of days.
Subscribe to:
Posts (Atom)



