Last two months I been talking about new ball bouncing PVP turn based game, and now I will be talking how I post poned that and started working on new game. Thats life.
What?
When I was making ball game I had trouble with servers and I knew it will be a bigger scale game then anything I done before, so.. I had to have good servers and I couldnt just make them and test it fully by myself, as servers are thing that breaks the more people join.
Which resulted me into making new game with new server architecture, which will be way better, I will be using the same servers for all future games, the setup wont take a lot of time, I could setup everything for new game in couple of minutes (authentications, saving/loading, match-making etc.) as its reusable for every single game.
The first project
So first project that will be launched with the new server architecture will be a speed running platformer, as it was the simplest idea I could start at. Also I like speed running platformers so might just make my own at the same time.
The game is completed, its pretty simple game loop, you play the game and try to beat the map as fast as you can, earning gems that can be spent on stuff in game and cosmetics in the near future when they are added.
I mostly worked on visuals and gameplay tweaks this, not much, but the game looks way better now visually more appealing. There might be some issues still, as its hard to test a multiplayer game without a bigger player count. (more players more bugs per minute)
Expect a lot of screenshots and videos, not much to talk about as no extra systems were added.
So last month I have wrote about how I started new game, which is a ball bouncing PvP/PvE game, last month there was only main parts of the gameplay done, but this whole month was spent making servers for the game and database, so everything is stored in database on the profile person creates with his ‘google’ account sign-in.
Servers
Only ‘issue’ per se is the networking code, as I never worked on it solo, never built servers, only the gameplay block. I’ve searched for what programming language I want to use as I’m solo-dev and want to make the process as easy for myself as I can. The final decision was between java and nodejs, considered java for few days but the whole structure of building server on java is too big of a time investment. Went with nodejs.
Authentication
Authentication server is pretty simple, dumb server, which does only one thing, makes the account or sign-ins the account if there is account created with the google account you have selected, one callback that is received from google, and pretty much it.
Master Server
Master server is used for managing player stuff, all the database transactions etc. I have went with ORM of nodejs prisma.io which is pretty neat, made the process a bit easier then writing all the queries by hand. At the moment the master server also handles matchmaking, which wont be the case later on, as I have made very scuffed matchmaking, which is not efficient and slow. But the principle will be the same: You win games in multiplayer arena’s, you gain trophies, the better you do the more you gain, the worse you do the more you lose trophies, once certain threshold of trophies is passed you will be moved to a different arena, of which you wont be able to downgrade, so all games are arena locked.
Push Server
Push server is used for live events/interactions, ex: friend requests, live messaging etc. At the moment I have only used push server for sending information to a player to which server he should connect.
What has been done
So with all these servers, came features that been implemented into the game, all the screenshots will look like shit because the UI is only rectangles and texts, as I wanted to focus on back-end stuff first so I know what is needed to be made for the interface, so make more fluid process.
Equiping/Upgrading your characters
Talked about it last week, so that characters can be upgraded/leveled-up, requirements for it are some gold coins and you need to have certain amount of cards of that character. Upgrade can improve all the main stats, but also abilities and power stats too. Here is a little preview of upgrading character:
Also you can equip your character to one of 3 possible slots:
PvE campaign
As I was talking about it previous month, there will be a PvE campaign available, which will reward players for completing the singleplayer roadmap, you will gain some account exp and some gold coins and also that way you will unlock new characters (as all characters will be locked until some point of the campaign mission when you unlock it). There are different difficulties, higher difficulties are unlocked only when yo have beaten game on lower difficulty, higher difficulty increases rewards amount, simple preview of the main menu to give better understanding:
Treasure Missions
What I always wanted to incorporate into my games, is some kind of IDLE/AFK stuff, that you are not obligated to play the game to progress, you will be able to progress even offline, so here is where treasure missions come into play. You can send your character to a mission for some time and they then comeback with certain rewards, more characters sent increases the amount of rewards will be brought back – but character slots for treasure missions are locked per certain account level.
Lootboxes
So, lootboxes will be the only way to actually get character cards – which are needed to upgrade characters, but lootboxes can be acquired for playing so no need to pay for it (unless you want to support the development of the game). There is a simple animation when opening lootboxes, rewards are selected randomly, each lootbox have different types of rewards, some might have common cards, some rare, some epic.
Little preview:
You can get lootbox from playing PvP games (arenas)
You can open lootboxes for free (need to wait certain amount of time)
You can insta open received lootboxes from PvP games, by spending diamonds
You can insta open lootboxes that you dont even have from the shop (which is more expensive then just getting it from arena and then spending money to insta open them)
There are different ways to get stuff in the game, wanting to make it fair for everyone.
Activity Log
You can watch all your previous arena matches history, with good amount of detail:
Weekly Tournaments
There will be automatic weekly tournaments, the players with most wins in a week gets some rewards:
With this also came another little system: Inbox, which will be used to send the rewards for players, so when you win you get a message to your inbox, with a button to claim the rewards (ignore the button now, as it is just white and not visible). Also inbox can be used for sending announcements etc.
With that there also came Coupons, so the inbox message you receive for the tournament is actually a coupon code, which is detected in back-end of client and it makes a button, which automatically claims the coupon. Coupons have a lot of settings, you can lock it for certain players, you can lock it for certain amount of uses, you can lock it for certain amount of time and much more, so with this there might be also come some contests in community discord server which will have coupon codes as rewards.
Daily Rewards
There is always nice to have some daily reward system in place to award the most loyal players, so I have made a simple daily reward system: When you come back to a game, a dialog is shown, then it proceeds with an animation for a ‘lucky wheel’ there are 3 possible rewards and you are selected a random one – also you can claim them all by watching a video ad.
Shop
Probably took most amount of time of all the features I have been making, as I have remade the structure for shop listings few times now, each time always forgot something or didnt notice the problem that would appear by the way I was doing it. But I think I resolved it, and there shouldnt be any problems moving forward.
Shop has different sections, coins, diamonds, lootboxes, but it also has daily deals section that only includes deals for you specific, no one has the same deals, each day unique deals are made for the player, so you can buy some character cards that way.
Shop also has special offers, which are for $$$ but they have much more value per $ then buying everything individually, you are also shown how much you will save for using that deal instead of buying everything separately, so expect some special offers for different occasions etc.
Little preview of shop:
Whats Next ?
The next thing would be making all the art assets for the game, ui and in-game, then making all the contents: campaign levels, characters etc. Which should take about a month or two, and lastly would be just testing and tweaking everything.
Another month passed, I have stopped working on the astrodud myself, because the other developer have been gone for 3 months now, and trying to “carry” out the project myself is a waste of time. With that note I started making new game, completely solo, as there is no one that are motivated to make games it seems, people rather waste time then work on something.
The new project
This game idea was in my mind for a long time, always wanted to make it, it’s inspired by few different games, with addition of my own twist and more content, to have different types of gameplay available, no need to be chained to one type of game.
So first thing I did was main gameplay code and some base art for the game, which came out pretty nice, still there is a lot of work to do, server code and all the UI and game props (environment objects)
Gameplay loop
So the main-gameplay loop is smashing your balls into others 🙂 . The idea would be to have multiplayer PvP matches with some singleplayer story driven matches too.
First thing that I worked on, was the controllers for the balls and multiple different components for them as well. Having less code per component makes it easier to manage in a long run. There is about ~15 different controllers that can be applied to character, starting with basic movement controllers, health controllers, combat and ending by effects that can be applied/extended from other controllers, such as combo’s – wanted to make everything easy to extend upon in the future as there is a lot different variables changing all the time in few different places at time.
Some Base Characters
There is different characters with different abilities, you will be able to upgrade your characters – which will increase their stats.
Warrior
Special power is when charged to have a mega-speed which makes massive amount of bounces from others and the walls.Also has ability which is increasing damage 2 times after 3 bounces, resets when turn ends.
Wizard
Special power is that you can cast a fireball when charged, which deals a impact and radius damage. Also has an ability to apply a shield when power is charged which nullifies any damage received for one time.
Barbarian
Special power is throwing an axe which deals damage to everyone hit, collides only with walls and bounces up to 3 times. Also has ability of nerfing enemy that has been touched, nerfs only the first enemy touched.
Campaign
The singleplayer/campaign mode will be, you fighting with your characters against NPC’s that have different mechanics, with each level being more difficult then before. Also I want to incorporate a difficulty system that you can select so there would be a grind aspect in the game, so you can beat the levels multiple times in different difficulty levels.
Whats next?
Next month I will be working on other features and all the servers for authenticating/match-making and so on. Which wont be easy, I hope to finish it the next month and focus on the art and content for the game the month after, so it will be a lot of work as the game at the moment looks ‘meh
This month I have done a lot of stuff for the astrodud, however I was the only one working on it and there havent been update nor any other features apart the ones that I did, which sucks, might move on at some point, cant carry the game alone.
AstroDud
Emotes
I wanted to make emotes for a long time, but never had the time for, but as there is no feature were coming in, had to think of something to do. So I did the emotes.
The idea would be that players could buy emote-packs they would open, get some emotes, and equip them to one of their 5 emote slots. Emote usage is simple, you just right click your mouse in the game, drag your mouse on the emote and release it, now the emote will pop up above your head.
Spike Arena – GameMode
This was the biggest thing I have worked on in the past month, making a completely new game mode, which is spike arena, more about it:
Spike arena would be a game in which your astrodud hold a spike, spike can kill other players, it grows by killing other players or by collecting red blobs found on the map. You also have a speed boost that you can use by holding LMB(Left Mouse Button), your speed boost is limited and requires recharging which can be done by picking up blue blobs found on the map. You control your dud with mouse, it goes to the direction of the mouse.
Also the whole new game UI had to be made for the new game mode for porting it on different domains, so that got done too, which resulted in pretty nice and simplistic user interface.
Cosmetics models reworked
I always disliked how the game cosmetics have looked in the game, and in the sprites/renders. So I had to remake it, applied some modifiers and shaders, and ta-dam, now models look way better (did the same with all in game objects) so the game now looks like a proper game, not a rectangly thingy.
I didnt anticipate the amount of time I would spend on this as there are 100+ different cosmetics, also exporting all images for those cosmetics was frustrating, messed up few times and images came out without anti-aliasing, so had to redo it few times.
Hello, so one month has passed since the last post, which will probably be like that from now on, as the weekly posts are boring af, there’s more to talk about each month then each week.
All I did the whole month is work on AstroDud and brain storm for future projects game and not-game related, which is always good to have something under the sleeves when the time comes.
Wish there was more work done, but its very hot this summer and hard to keep the tunnel vision on the projects when temperature hits 31C inside, but that was to be expected, as summers are usually slower and more chill – as there are more temptations that stop the grind.
AstroDud
Gamemodes
What I have decided to introduce into the game this month are gamemodes, which will add a different look to the game, possibly attract more players.
First gamemode will be a simple agar style game, in which you will eat space farts and grow bigger making it possible to eat other players, you can also sprint – which results in losing coins and making space fart trails behind. Had to start from something simple to get the feet wet and watch analytics if it makes a change worth the efforts – which probably will. Added a short video for visual pleasure:
I have already a lot of ideas for future gamemodes, also for limited-time gamemodes so each week players could play something new and wouldnt get tired of it as fast. Some of the ideas include:
Spike Arena – dud’s have spike in their hand that grows longer by gaining score and spike can kill other players (very hyped about this idea, as I already was working on a game similar to this last year, just a 2d version)
Bomber Man – as title says, its a bomber man, which will probably be a battle royale themed, so you fight others on a play-field, destroying boxes – gaining boosts/power-ups, with map shrinking ofcourse until there is only one man standing.
Survival games – probably simplest gamemode, which might be a timed one, as it will only include maps that are survival so no race maps, some people really like honeycomb so this will be a way for them to play it more.
NaughtyDud – title is till work in progress, but it would be a mistery game similar to ‘among us’ – one player is the killer and others need to find out who it is by doing some tasks across the map. (at the moment this is not as likely as the others, because this will require a big change in code and additional systems)
Coupon Codes
This was in the to-do list for quite some time, not like it was hard to implement, but rather not as important as the issues we have faced after releasing the game. With coupon codes we are planning to post code here and there on our social medias, with giveaways on discord too (which will be automated trough a bot)
Here is a simple UI for the coupon code screen:
Two new maps
I have added two new maps to the game, both are race maps, here’s a little preview of them:
Also there is a survival map work-in-progress, its done, but needs some tweaking and optimizing in the networking part:
Joining Game Screen
I really didnt like how simple the screen ‘joining game’ was, and took some references from fall guys to make it much much bigger:
New Double Jump Animations
I made the double jump last month, but I didnt make the animations for it, so I had to make them this month, which came out pretty amazing, I really like it, feels much smoother, cooler in simply more amazing then ever.
The one thing I’m always unhappy with is the design of the game, its models but in most cases its the UI of the game, so I came back to the UI, tore it apart and made a new one! A better one! it looks way slicked, also have different screens for battle pass and shop, isnt as repetitive as before. I include couple of images of the new UI:
End Game Messages
More AD rewards
I’m always looking ways to add more monetization to the game, but dont want for it to be mandatory or annoying for the user, so I always have to offer something in return, otherwise, why do it?
So this month added free chests, that can be opened each hour, these chests are unique from other, contain more items, it would contain coins too but.. there was a problem when making chests and items, we cannot set value/amount of the item in the chest. Its all good with cosmetics, as you only need/get one, but coins would be 10,100,1000 and its not possible to do it at the moment – it might be in the future if we rework the items and chests.
Also was thinking of making minigames too, for example, you play video ad and get a reward-minigame which you play and the reward depends on how you play, it would be more fun if player could control the outcome then just RNG it. So this is still in the works.
Usernames
When we released game, we did not think about usernames of users and the human error – that people use stupid names, so had to make a censoring of usernames, didnt want to touch the database or affect the data in any form, so its fully client-side, which makes a lot of things easier to implement, there is a lot of words blacklisted, spelling, symbols etc.
New game mechanic – double jump
The game felt a bit plane, I mean its my first 3d game and first multiplayer game that has live action, I’m bound to make mistakes and not to be sure of what I’m doing is probably okay, is it ?
Made double jump! Which offer wider range of combinations when going trough the maps, as you control more of the character and you have the possibility to use the double jump for you advantage or if you use it wrong – for your disadvantage. Still thinking about more ways to make gameplay more fun and action packed
Major map improvement
It took 2 weeks, but I did it. I have made all the maps in blender, all maps look slick and smooth, platforms arent attached from different cubes, they go in and out as they should, look slicker, no overlapping, just perfection! Dont believe me ? see it yourself:
All the other stuff
Fixed some physic stuff with the knockouts, so players would fly/slide more instead of just falling, so its more dangerous being knocked out then it was before.
User states are synchronized, so you can see who is in-game and not, so you wont be able to start the game when any of the party members are still in the game.
Tweaked the camera to make it smoother, it feels like a mario cam a bit, as when you go forward fast, camera tryes to catch up and makes the distance between the player and camera, giving that nice speedy feel to it.
Fixed some animations with players, still some issues as I need to remake animation masks for the character probably, for more slick transitions.
Probably does not look like a lot, but it was quite a time working on all these things and all the issues that appear from thin air. For this month I’m wanting to make more gamemodes for the game (so its not just races) inspired by other games.
Its been 2 weeks since anything got done for astrodud still hoping it will be updated, there are some useful features done which adds more gameplay and not a lot is left to do for it to be complete, just would like that my work and effort wouldnt be wasted in the end. Not in my hands.. so whatever
The lack of game-development progress was the reason of skipping out the devlog. In that time I have earned more hours in photoshop then I do in half a year, in other words – I been on my grind.
Been coding a bit python, some fun exports, converting scripts, making a lot of clipart, working on new e-shops, brainstorming – which resulted in few cool ideas.
New website idea, which might come to reality, will know for sure this week, not a big one, but useful, for me, other small game developers, no personal gain – which is always good, as it means it might be used by people, haha. Just wanting to create stuff, and feel kinda sad when I’m not making anything.
Came to realisation, I dont like and probably will never like playing games, I havent played any game thats not mine for quite some time and I understood why I dont like it anymore.When I was young-er games gave me feeling of accomplishment (wins, better rank, items etc) and when I grew up, that changed, accomplishments for me now are creating things, being proud of the product you make, money you make, skills you learn.Tought its a sad thing, but it might not be.. Well at least not for me.
Whats now
What my plans are now ? I will keep on working on e-shops, making art, games, probably streaming (if I start working on a game I will stream the whole development process daily) I have an idea for streams, once a week to make 24hour stream of development , which also could be turned to a commentary video for youtube and short-series on tiktok. So really hyped about that idea.
Making games is still my main priority, might become a solo-dev even if I dont like it, but there is nothing I can change. Have some small clicker mobile games in mind that I sketched up few years back, so, if the artwork is almost done, why not to finish them.
Doing music, beats etc. I had this in my head for multiple years now, I don’t want to get big, known, earn money from it, I just like writing lyrics and I really want to learn making beat, which will probably be my focus on 2022
Not such a productive week as AstroDud development kinda slowed down a bit, but made some interfaces and a logo for another game that might not be created but.. yeah.
AstroDud
At the moment the only thing that was accomplished in astrodud was remaking the item system completely, making the equipment groups dynamic, different item types, everything is an item, coins, customizations, rewards, boosts, chests etc.
It required a lot of refactoring which I didnt do, another team member did, but this will allow us to use this item system for all the future games as its very generic, we can now even have shop with items in it not just chests, limited items etc. Many fun stuff can be added now, the main reason to do it like this was for daily challenges and battle pass system.
Ludo
So, we were thinking about making something simpler after the astrodud, just to chill and work on something to see how everything can be handled from the last projects and how to manage everything with multiple projects and servers.
I began drawing some ludo game related logo and a interface, its almost finished, could’ve finished it easily in a week, but hesitated a lot due to IRL stuff, but depending on the upcoming week I might complete it, as we will test astrodud major changes, and if everything will work we continue on astrodud and if not I will be able to work on the UI for ludo, so thats that.
So that blog wouldnt be so depressing, I will add some pictures, and will inform everyone in two weeks about how the things went 🙂
Still streaming from monday to friday on twitch come hang 🙂
AstroDud
This week have worked more on customizations and reworked the gameplay completely, which was a bit pain in the ass, but managed to do it in a week, still some things to do for the update but it should be within a month, the biggest update yet.
New items
So worked on a lot of new items, like we tripled or even quadrupled total items in the game, which will all become available in the update, these items arent associated with battle-pass, they just an extra items that people can get from the chests
[sp_wpcarousel id=”988″]
and these are some new battle pass items
[sp_wpcarousel id=”1024″]
New gameplay cycle
So, this is the biggest thing I have worked on in these 2 weeks, as with the update we will change the gameplay cycle completely, with a lot of new maps (which can be seen in previous blog)
Before the change it was each game is one single map and thats all, there couldve been multiple winners and after the game ended, its done, you go to main menu and search for another game
So now after the change we have matches and rounds, so single match contains multiple rounds, and after each round few of the players are eliminated until there is either 1 or none players standing.
Once the round is over, you get moved to the MapEndScreen which shows all the players and the ones that lost gets eliminated and fall down to their doom:
After there is only 1 player standing, everybody is moved to the WinnerEndScreen which shows the winner jumping happy with the crown in his hands, its kinda flex to show-off the winner:
After the WinnerEndScreen is shown, you are moved into FinalEndScreen which shows your character and your stats of the match:
So this will make game more competitive and fun as there can be only one winner
Conclusion
Well, not a lot of work have been done in these 2 weeks except the major rework of the gameplay cycle which is pretty cool.. We are still moving towards the big update, and really hoping we can finish it soon 🙂