I’ve been developing this game for the past while now and want to be a bit more open about it’s development. I’m trying to create YouTube videos but I’m not a content creator but I am a perfectionist to It’s going to take a while till I have videos :/
Anyways, about my game:
I enjoyed Minecraft Mace PvP (which I will abreviate to MMP since saying that is too long) for a while and thought it would be cool to make a game entirely based around it.
It was originally going to be a speedrunning game but then I found my enemies too basic for that, then I went for wave based survival, and now it’s going to be a rogue-like similar to BoI.
I don’t have a playtest yet and have more details I’d like to share but just thought I’d get this out here.
So, now that I have more time Imma elaborate on what I’ve done.
I’ve created the procedural dungeon spawning with interconnected rooms and made the rough outline for a upgrade system. There’s also a few enemies that I made however most aren’t used in the game right now.
They are:
A basic enemy that moves to attack the player
A large enemy that is the same as the basic enemy with more health and a projectile when you are far away
A turret that targets the player when they have a (checks code to see exactly what) are moving along the Y axis. It also has a shield to deflect incoming attacks until it’s the only enemy left.
A enemy that attacks the player to launch them up and also uses a bomb at the same time to effectively combo the player
A flying enemy that stays at a fixed Y height while the player is below it and drops bombs from there until the player is above it where it starts shooting at the player
A flying enemy with four rotating shields to block the first few attacks. It also shoots a burst shot that expands on impact with the ground.
Today I added a better way of spawning enemies. Before I had to pass in the XYZ bounds of the rooms to spawn enemies but that isn’t great for when there’s multiple tiered rooms. I changed that by making a mesh that hides itself when the game runs. That mesh has a function that chooses a place somewhere on it then returns it as a Vector3 which is used to determine where to spawn enemies. The spawner also has support for multiple planes and chooses a random one to spawn an enemy on. With that better system hopefully I can CSG some rooms to have a playtest available soon!
I believe you can. Just in MC it’s way too unbalanced and ends up with on person permanently in the air out of danger. But as a standalone game those issues can all be fixed.
So I got an idea for an overall direction of the game and gameplay loop so here it is:
As punishment you’ve been sentenced to imprisonment inside of a computer program. You try to escape the prison and find your way into a large twisting maze of rooms. The only way out is to make it through the gauntlet that has been prepared to keep you in the game. It starts out calm and normal and every few rooms is a boss which is based upon some famous malware (Think Bonzi Buddy, You are an Idiot, ILOVEYOU). When you beat that the world starts to get more and more unstable until you reach the final boss where you shatter the program and get to escape.
The upgrades are hacks and then at the end of a run/death each upgrade is assigned a value which is converted to a currency. There’s a hub world where you get to trade with fellow inmates for permeant hacks.
I’ve spent a while wondering about the overall art style for the game and decided on using BlockBench for the assets for it’s simplicity and I think that it has a nice art style.
The instability would be different pools of rooms that would have varying gimmicks
E.G.
Certain platforms phasing in and out of existence
Weird Shaders to split red green and blue
position getting reset back a bit
The general idea is certain things to make it seem like you are breaking the game and escaping the bounds you should have access too.
I’m hoping for feedback since most of this is in the idea phase and I’d like to know if it seems bad before I’ve sunk time into it.
Sounds sick. I think something to always keep in mind is if your game has a specific way to fight enemies like here give the world a reason for it. It’s not necessary but I always appreciate it in games.
You should probably look up critiques of mace PvP and try to fix any particular issues about it that stand out in the design of the game. Just looking up “mace PvP is bad” would give you a lot of ideas on how to make the PvP in your game better than minecraft’s.
Thanks for the advice, I’ve been worrying about being too deep into copy territory. That’s good since I do have freedom over how the game is, I can make changes based upon what’s fun, rather than what’s accurate.
Between being unable to work on the project and a lack of motivation, it’s been losing a bit of traction but hopefully I can get back on track and fix some of the issues that actually harm gameplay from working.
This past week I decided to make Godot enforce static typing which has broken so many scripts. Going around and fixing errors has been such a mind numbingly dull task that I’ve gotten bored and didn’t want to work on it.
Luckily, the thing that brought back my motivation to work on it was hunkering down and listening to a couple Ted Talks while I work (Ted Talks on motivation and procrastination, ironically). I’ve made no functional changes to the game, I’ve just been trying to work on getting the project to run after all the errors caused from enforcing static typing. I believe I’m on the verge of being able to play my game again but that might just be hopium :/
May the mace go brr,
Istubedmytoe
P.S.
I started playing black 2, So far I got the pokedex then had to focus on my own game so I stopped playing :D
It’s been a lot of Ted Talks and a lot of time spent just fixing errors but I finally got the game to run again. My next goal is to boil the game down to what is my checklist to make the game into a playable demo for people to play.
May the mace go brr,
Istubedmytoe
P.S.
No black 2 updates D: I’ve been to busy making my own game.
Edit:
I forgot to save in Black 2 so I lost all my 3 minutes of progress :(((((
Also here’s some footage of my game since I can record it now:
Looks good just 2 things. First it feels a bit too minecrafty if that makes sense, I think especially if it’s a bit faster paced maybe make there be keybinds for throwing a wind charge or switching chest plate. The other thing is the gravity feels a tiny bit too floaty. But that’s just what I can guess from the video. Otherwise it looks good.
I’ve currently been focusing on dialing in the amount of damage things have been doing. I’ve been able to sort of think about how bulky I wa-
a giant spider crawled under my mouse pad
ok,
I’ve been able to sort of think about how bulky I want each enemy to be.
Now things that used to be one-shots from basic heights take a few hits. I’ve also been wondering about how much damage my “spear” should do.
I’ve created a desmos graph that shows points of the damage at: Running Speed, Falling Speed, and Max Speed.
If you could please tell me which curve you think is better that would be greatly appreciated.
Unblur once you’ve created your own thoughts about the graphs!
The Quadratic curve lets me have control over “risk rewards” things. E.G. Going max speed has risks of damage associated with it, so I can incentivize it by making it have a large damage increase. The problem is that it’s insanely complicated with tons of values that would be a nightmare to debug. It also might have a performance impact but idk.
The Other Quadratic curve just increases every damage by a flat rate which is good for simplicity but just seems a little dull lol
The Line is the simplest but has the issue of me having less control over how much damage things can do.
The secret third option that I don’t know how to code is an interpolation table similar to this. I get better control over how much damage things do at certain levels with minimum levels of bloat. The only thing is it might be difficult to implement since the example is a java library and I would be effectively redoing it in Godot.
Let me know your thoughts on on what graph for damage you think is best!
P.S. @wchc, do you think that it’s right to create a help topic for what graph to choose or just leave it in here?
Ok, I’ve made some progress on the game:
I pushed to get everything I needed for a playtest out as soon as possible resulting in a very rough game without much “fun” to it since it was just 3 rooms and 4 enemies (even though I have more in the code that haven’t seen the light of day). I came up with a list of bugs and things that needed to be fixed during the playtest and now have a list of things that I must do before my next one in a few days. So far my list of things to do/have done is:
Playtest:
No scythe for some reason [x]
Threatened for scroll wheel []
ender pearl broke [x]
Now TODO: make better indicator for that
settings through escape []
scythe spammable [x]
Ai makes it easy to chain attacks []
fix killing turrets with e-pearls [x]
It's surprisingly difficult to tell what you need to do with the turrets []
my pearl cooldown is dum [x]
Now TODO: Make it work on wind charges[]
not understandable what to do with upgrade cards []
(Maybe my ambigous art?)
add sound (audio feedback) [x]
give infinite windcharges[x]
Turret only dies to OHKO hits []
Sound was added by temporarily stealing Minecraft’s sound which will be replaced with something more professional when I actually get around to making a public playtest.
I had just wanted something that sounded alright but I wouldn’t have an excuse to keep in the final game because I know if I took something from Pixaby I might find it good enough and just keep it forever.
I also found 2 out of bounds clips quite quickly after the playtest involving:
Using riptide in a room where you immediately get launched by a turret’s shield, and tossing a Ender Pearl while inside of an enemy. (I realize this probably makes no sense but with a bit of work and some new temporary sound effects I will have a playtest so people can see what the game is like)
May the mace go brr,
Istubedmytoe
P.S.
The black 2 save got permanently retired to the pasture of black 2 saves in the sky since I switched computers and It’s to much work to upload the file to google drive (or Github since this is a platform of fancy coders).