The Fun of Just Stumbling Into Battle With Ninja.io
Published Oct 29, 2024
Hi! Can you tell us who you are and what you do?
Hello! I’m Rens Rongen and I’m the creator of ninja.io—a fast-paced, 2D multiplayer shooter web game.
I develop software for a living, creating custom solutions for my clients and improving existing systems as well. Aside from ninja.io, I also created zapper.io, a snake game with a unique twist. Both are available to play in Poki as well!
What games are you into right now?
I need to test my own product, so I like to play my own game occasionally. I guess lately I've been more into casual games, so it's not one game in particular, it's more like ninja.io that I've been mostly working on. It's just really the type of game that I want people to be able to dive into. You should be able to play it in like five seconds when you feel like it.
It's like one of those games you play when you're taking a short break at the office or you're doing whatever during the day and you're like, “Okay, I want to spend five minutes on my desktop.” Because it's really a desktop game, I have to say. It's not a typical mobile game like Candy Crush that you just open up and start playing with. So the type of games that I play, it's typically that type of game.
It's also really the focus of the type of projects that I work on. But there have been some games that I really enjoyed playing as well from time to time. I still like to open up Soldat, which is also a 2D shooter, multiplayer shooter. It has also been a big inspiration for ninja.io, so I took a lot of elements from that game when I worked on ninja.io.
It's a casual game, it's free to play. It's one of the projects that I still like to open up from time to time. But other than that, no. Let's just put it this way, I don't really commit to games the way I used to, especially 20 years ago. You buy a DVD or you buy a game and just really dive into it for days, weeks at a time. And nowadays, I don't have the time for that anymore. But apart from that, it's not really that interesting to me anymore either.
Aside from Soldat, what inspired you to create ninja.io?
What inspired it? I think it goes back all the way to childhood. You know, when you're a kid, you have a very rich imagination. And I used to draw a lot, think of ideas, or I would play a video game and then I would enjoy it so much that I would make drawings about it. And then as games evolved a bit more, and I'm talking about like the late 90s now, I found out that people now had the ability to produce content for those games.
So if you think about Warcraft II, for instance, it goes back a long way, but it included a world editor. And that was such a revelation for me, being able to not only play but also develop my own content for these games. I got really into that as a kid. And then later in the early 2000s, multiplayer gaming really became a thing. Warcraft III came out and not only could you produce your own content, but you could also share it with other people. You could create worlds and then share them either on the internet or in a lobby within the game server. This was quite fascinating to me. To be able to put all your ideas into a custom map and then share it with other people, with friends or complete strangers, was amazing.
And this became more and more of a thing. If you want to make really interesting maps for games, then it's a good thing to be able to code and to know a programming language. That's how I got into scripting. At first, I was just scripting Warcraft maps, but later StarCraft II came out and things became more and more sophisticated and I realized like, “Okay, if I want to make really fun content, it's important to be able to control what is happening in that content. And you can only control that by actually learning to program.”
So this is how gaming and content development took me into programming and from there I moved to producing web content. Back in the day, it was through Flashing. You know, the Flash Player was really ubiquitous around 2008, and maybe you remember the Newgrounds website at the time.
Flash, Newgrounds and more
So you had all these custom videos that people made, but also lots of little custom casual games that you could play for free. And so I started producing content for Newgrounds for a while. Just little games, side projects. I was always attracted to the idea of multiplayer games so that you can actually take other people, produce something, then include them in your project.
I think my first experience with that was back in the 90s still with Worms. Worms 1 and 2. These were games produced by Team17, I believe. Trade the keyboard, share it or join a game together, and it was turn-based. One person would play then the next one and the next one. I really liked that game, but I didn't like the turn-based components.
I really prefer the idea of having a real-time, 2D, side-scrolling shooter. So I just imagined what that would be like. But later this game called Soldat came out, and it was a 2D shooter. You could also create your own maps for this game. It was multiplayer, it was free to play. And I thought it was amazing. We especially used to play it at school a lot between classes and it was a lot of fun. And ninja.io is probably the web incarnation of what I envisioned a game like that would have to be.
So as I got more into development and as Flash kind of disappeared, it got replaced with more sophisticated technology, HTML5 and suddenly there was the right technology. To implement multiplayer in a browser in quite a convenient way. So yeah, that took me to actually start working on this 2D shooter idea that eventually became ninja.io. It was a process of just of years, I guess, of playing things and slowly coming up with an idea like, “Okay, this is something I would like to realize and I’m going to take my time for it.”
When did you start making ninja.io?
It was around 2016. I think that I noticed a new category of games appearing, the .io games. Maybe you remember games like slither.io or agar.io? The real-time multiplayer browser games. And they seemed quite simple, but it just worked and they were very addicting and very easy to play. No downloads were required; just go to the website or click it in your favorites bar and you're in the game.
And I thought, this looks too difficult to make, but it's a lot of fun and I can probably do this. So I thought, “Okay, let's see what we can do.” And around that time, cool new server technology came along as well, Node EAS. So you could do JavaScript both in the back and front end. It seemed like, okay, I can use the same technology on both sides, and this could save some time because obviously, just like any developer, you have to be very time-conscious when you do things.
And I just saw some opportunity there to, with my limited amount of time, really produce something. Unfortunately, there was quite the amount of feature creep, I guess. So slowly but slowly it became a bit bigger and bigger. Then from then on, around 2016, it gradually grew from a hobby project into a more serious project. And then at some point, I decided to partner up with Poki to reach a bigger audience and have it published on their website. And it was an exciting process, to take something from the hobby room where you're just sitting at your computer to a large audience. It was a fun process.
Who created the graphics for your game?
I did all the graphics. It was a gradual thing. First of all, I had to settle on a graphics engine to actually display things and I use PixiJS for that, which I think is now quite a common graphics framework, but at the time it was quite new. But the reason it was interesting is because it very much mimics the old Flash API. And with my background in Flash, it was easy to make that transition.
It’s not that difficult to make 2D graphics for a 2D game, as long as you have basic skills. If you have some Photoshop skills and you're willing to engage in some trial and error, then you can eventually come up with some decent content. And then there was the idea of adding customizations to the game. So once you have the ragdoll ready and you have the ragdoll physics implemented, you can start playing around with “How am I going to animate this character?”
Then comes developing custom graphics for the game and creating the menu items. But this is also an iterative process. So every time I think, “Oh, I'm not so happy with this.” Or I show it to someone, they’re like maybe you should try this, maybe should try that… It was quite a process.
I have to say, Poki was also quite helpful with that in a sense that there has been some back and forth and they’d be like, “Hey, you know what, maybe you should design the user interface more like this? Maybe make these buttons bigger? Make it this way so it's more user-friendly…” And they have some empirical data to actually back up their claims about how to properly set up a user interface. So it was quite valuable to also engage in that process of discussing and improving the graphics and how it's displayed.
Can you tell us more about your creative process?
There has to be a point where you have to say, “Okay, now I'm gonna put it out there.” And in my experience, it's good to put it out there early. Because then you can improve based on the feedback that you get. Just keeping it inside and keeping it indoors and just trying to iterate. And iteration, I think, can bring you a long way.
But at the end of the day, the feedback from players is really valuable. So the first time I put it out, the graphics were lower resolution. Things were quite different five to six years ago. So it really has been an iterative process. It was very nerve-wracking in the beginning to just put it online because if you're a bit of a perfectionist, it feels like it's never ready and it's never good enough, which I am.
I think there are so many probably shelved and dead projects lying hidden behind people's doors simply because they're not comfortable putting them out there. But I think once you do it, maybe people actually like it. And then you can always start improving it because you have to just accept that it's never going to be perfect and perhaps the first iteration is going to be pretty crappy, but you have to be okay with that.
Just say, “Okay, maybe it's going to be crap, but I have the time, willingness and readiness to improve it.” And I think it's really important to just go for it and then keep improving.
How about the launch process?
The very early tests were actually done before I had a domain. So I would just give people an IP address or I would open up the computer so people could join. Those people were ones I knew from the video games that I played, or some friends that I just said to, “Hey, could you join? I just want to test this feature real quick.” I guess you cannot really say it was released at the time.
Only when it came to a point where I thought, “Okay, now I'm at a level where I'm comfortable, I'm probably going to release it.” I still didn't have a name for it. And it took a long time to actually come up with a name. And then also to get the domain name, that's another thing. I had some interesting names in mind, but some of the domains were taken and oftentimes the domains were just not affordable either. Especially if you're looking for a .com domain, for instance, so it's very hard to get a good name nowadays. They're all taken.
And then I saw this .io gaming market, and the .io domains were still somewhat affordable at the time. So at first, I wanted battle.io because it's a shooting game and it seemed like a cool name to have, but unfortunately, it was taken like a week before I got the idea of using that domain name. I have a sneaking suspicion that Blizzard Entertainment might own it. I'm not sure, but I have a suspicion because of its battle.net, and so I could never get in touch.
Then I thought, “Okay, actually, ninja.io is also a cool name.” And it's short, it was marketable and easy to remember. So I was lucky to be able to get that name. And that's also the name on which it launched. At first, it was just a few people because there was no big release or anything. This was before I was even partnered with Pokey. So it was literally, I put it online, had some colleagues and friends try it at the time, and that was the launch.
But slowly but surely it started to naturally build a bit of an audience. And that was pretty exciting to see it slowly gain traction. I guess by through word of mouth people play it, or at school they play it and they tell each other. And I think a lot of the growth happened this way.
What are your current statistics?
So right now there's usually between 100 and 200 people online simultaneously. Sometimes 250, sometimes 90. So it fluctuates sharply. It really depends on what day and time it is. There's quite an American audience. So usually when it's like around the evening hours in North America, it's getting a bit busier. There's also quite an Asian audience. So it kind of fluctuates on which part of the world plays and what time it is in that particular part of the world.
It feels like the game was released twice because the initial release was a bit of a stealthy release, I suppose. Once I released it on Poki, everything changed at once. So maybe there were like 100 people online simultaneously before, but right after the Poki release, suddenly they said, “Okay, it's going to happen on this day.” Then when it really was on their front page, suddenly it became like a thousand simultaneous players and the service went kind of bad on the first two days because I didn't anticipate that influx of people.
And so it took down the game and essentially became unplayable for the first two days. And it took quite a while to recover from that. I'm just not used to this level of visitors and I did quite a bit of fine-tuning and I didn't sleep much for two or three days when that happened.
So yeah, about a thousand players online simultaneously and it came to about more than a million players a month in the beginning. That was quite exciting to witness. I guess that was about two and a half years ago. So yeah, it did really well in the beginning, visitor-wise. An unfortunate side effect of the release was that this was also a learning process for me, so the development side was a bit of a mess.
This is actually the first real multiplayer thing that I made and I was also really getting into JavaScript at the time, getting into multiplayer programming. So I built a significant amount of technical debt in that period and I found it difficult to then adapt to a larger audience, to kind of adapt the game along the way and to keep it running at the same time.
There were a lot of problems with latency issues, especially in the beginning. And obviously you can scale up the servers, but then you scale up the cost as well and that is a big challenge. I think I really underestimated just how much of a challenge that was. And the game is by nature quite complex, at least technically it's quite complex the way it's set up. It's not a good first project to set up and if I had to do it again, I would do it completely differently this time.
What would you do differently?
I would be more organized about it, probably set up maybe a design document and think really well about how to set it up rather than doing things by trial and error, which was really what it came down to in the beginning. I just wanted it to work and then move on to the next feature. I didn't really care if it was going to be well-designed, it just had to work and it had to be stable. And then I moved on to the next thing.
I guess I was more interested in creating the content rather than setting up a technically sound product. But then it comes back to bite you in the butt later and that's that. I really noticed that when it grew, you know, these things become much more important as your audience grows and the stability becomes a priority.
So I found myself a bit bogged down by all the technical challenges which slowed down development for a while, and it's still a challenge. It's kind of the main reason why I've decided to move on from ninja.io and focus more on either a new project or perhaps a new version of the game. I'm really thinking about that because at some point you have to decide, do I continue with what I have or do I make a new incarnation that is more sustainable? So I'm still playing around with where to go. But it was definitely exciting, especially in the early days after the release. It's just an experience every dev would learn from.
Do you find it hard being a solo dev?
No, I do enjoy it. It's because when you work on your own, you have all the freedom and essentially do as you please. However, it also means that you're more likely to make mistakes because when you work with others, someone can always help to point out, “Hey, maybe you should do it this way.” But even with that, I always had the preference of working alone.
It also has to do with allocating time. I'm not sure how it works for you, but I tend to get in a creative mood where I'm like, “Okay, now I feel like doing it.” It's not always something that's easy to plan. And if you work together with someone, you have to constantly kind of communicate and match their pace. You have to kind of interact and tell each other like, “When is this going to happen?” It has to be much more organized and in my opinion, that sometimes stifles creativity and it's just less fun, at least to me.
Me, on the other hand, I just like to put the result out there and then get whatever feedback rather than have this process where you're always doing something convoluted. I guess also you have to come to certain compromises when you work together. So it has its good sides and it has its bad sides. But in my current situation, it's my preference to work on these projects on my own.
Can you tell us more about the Poki partnership?
I'm not sure if I was the first to reach out to them or if they reached out to me. At some point you get this discussion going with some of their people about “Okay, when could we do it, how can we do it? What criteria have to be met before we can do it?” There are also certain limitations.
One of the things I personally like about the game is the ability to just chat with people. It's very free, where you can just join the game and you can just start shooting and chatting like the old games, like Unreal Tournament. Some of the older real-time shooters. I just really like the ability to sometimes just chat with random people. There's also some shit-talking going on like “Oh, you shot me with a noob weapon” this and that. And I think that's part of the fun. And there's also a social aspect to it where people can talk to each other and get to know each other while playing at the same time. Maybe they join a game at the same time and at some point they become friends or they just play together for long periods of time.
But before I diverge too much, when you work with publishers, they might not like this a lot because at the end of the day, people will be chatting there and somebody might say something nasty. There's a certain risk involved with having this open communication. So certain aspects of the game had to be toned down a bit for them to be able to accept it on their website. Your language filters like no cursing or at least catching curse words.
Unfortunately, a lot of time actually goes into just preventing abuse, preventing people from abusing the game and the system, using offensive language and setting. You know, you can create your own custom games inside ninja.io, like your own custom servers. People might use offensive server names or things like that. The publishers don't like this type of stuff, so you have to go through this process of making it difficult for those things to happen. So that was part of the onboarding process, I guess.
But once all of that is done, it gets really exciting to get your product out there and to see it reach a large number of people. I think that's what's so cool about browser gaming is that there's just an easy way to reach a lot of people. As long as you have a compelling thing it might naturally grow or you can work with publishers to make it so, and it's a very easy process compared to many other types of publishing, like in the music industry for instance.
So although I do think there are a lot of analogies between the music industry and gaming industry, there are still many glaring differences. But yeah, it was definitely an interesting process.
What are your takeaways from partnering up that you’d like to share?
I think it's just important to be ready, especially to be at a point where you're willing to put it out there because once you actually publish it via publisher, this iterative process becomes more difficult. It's put out there and you cannot just, “Oh, in five minutes, let me change this line of code here and put a new version back online.” But getting there, I think just get in touch with them and ask.
As for getting in touch with Poki, people were very friendly. You could just always get in touch via Discord or just have a Microsoft Teams conversation. I would say just contact them, get in touch and they will guide you along the process. Though make sure you have an original and fun project. I think that's important.
But contacting them can even be before you're able to start the project or even before your product is ready. It's possible to get in touch because they will also help you along the way. They can help you improve your product, and get you ready for it. They will give you advice on all sorts of things. They're also a very useful dashboard that can help you debug your game. It can help you get feedback from players.
So yeah, it can be a part of the process even before you decide you're ready to publish, but it's a matter of reaching out.
What’s your experience in handling your community?
Discord used to play quite a big role actually. Especially a couple of years ago after the launch on Poki. I really used Discord to get feedback from players. I also used it to create a sense of community involvement. For instance, I developed a map editor for ninja.io early during the development process. I still don't feel that it's ready to be used by regular users, but I did allow people the opportunity to just send in your designs on Discord and perhaps if I like it, I will add it to the game.
So this was a nice way to get people creatively involved. Or if you have ideas for customizations, just send it to me. And this led to some interesting emails and messages that I got. People send these elaborate drawings about their vision of the world in the game or a weapon in a game. So it was definitely interesting that way.
People were organizing tournaments in Discord and later someone built a website that would communicate with the ninja.io API to facilitate tournaments, and things like that. Initially, that was really a productive part of it, but right now, I'm still thinking about where to take it next, so I haven't been really active on Discord a lot.
I also found it to be quite a distraction because at the end of the day, you join and there are people, and you all start chatting and before you know it you're in a conversation for two hours. In the beginning, I found it very useful, but I also found it very distracting. So right now I'm a bit in-between. But don’t get me wrong, it can be very useful, and fortunately, I had some very nice people who were willing to do some of the community management. So I'm very grateful for that. They actually spend a lot of time just maintaining the Discord server. And so it can be very helpful. But for me, I found it too distracting lately.
How is your game monetized?
Ninja.io is fully monetized by ads. So how do ads work in the game? Well, you have basically quick battles, so there's a round of drop-in battles. Essentially, you join a game, you just join a battle. And then this battle usually lasts about 10 minutes unless someone is very good and fast and they finish the game sooner. But after that, there's a short break where you actually get to see the leaderboard and you get to see who were the best players and you can chat a bit with the people on the server. And during that, that's the perfect time to show some advertisements. So it lends itself naturally very well to video advertising.
People find advertising generally very annoying. But at the same time, when you do it during a moment where there is no gameplay, it's just a scoreboard and there's a lull in the gameplay, it works well. It's quite an intense game with a lot of intense action going on. So people like to take a short break and they lean back and then they get to see a short advertisement video. Most people found that bearable. It's like a 20- or 30-second video. And so the stats for the ads are actually pretty good in the sense that people generally watch the ads and finish them because it doesn't actually interrupt their game.
So that's the only way the game is monetized, really. I thought about perhaps selling customizations, but never really got to that point. It's still an idea, but if I start to work on a new project and it ends up not worth investing the time anymore, I might regret it. But I'm still balancing things in my mind like where do I want to take it? Do I really want to invest much more time? But yeah, for now, it's just advertisements. I guess it's also the most easy way.
There's not much liability because when you actually start charging money for things, then obviously you have to deliver products. Things can go wrong and you obviously have a responsibility that people get value for their money. So this liability aspect makes it a bit more complex and you have to kind of be willing to deal with that. Although there are many great services that provide this virtual shop idea. So yeah, advertising worked pretty well for ninja.io.
Managing ads
I always use third parties for it. So for instance, in the beginning, I worked for a while with AdinPlay. I still actually do for zapper.io, but for ninja.io, once I started working with Poki, I also started using their advertising API. So this is partly because obviously they have their own partners that they work with and there's a revenue sharing going on. So when people join and play on their website, in return for getting the audience that you get, you have some revenue sharing. And then when people play it on your own website, you get a bigger share of that revenue because obviously this is your own traffic.
But it depends really on what publisher someone is working with. However, I found it convenient because then you don't have to worry about configuring the advertising system too much. They take care of everything. You can just focus on the game development aspect and that's, I think, the way it should be.
Were there any interesting stories or opportunities that stemmed from creating your game?
I guess especially it's fun to see people producing video content for it and then seeing YouTube channels that mainly focus just on making some videos for your games. It's very fun to see these games or to see this happen. I have to say with ninja.io, it did quite well and it's still doing quite well.
Though it never really reached meme-level; that status that some projects have where they become really mainstream that it creates memes or movements or it reaches like a large audience. This never happened for ninja.io as it's just a browser game that quite a lot of people know about. But it never really became a meme engine or anything of that sense. But it's still fun to interact with people, and you're talking to someone about games and then suddenly it turns out they actually played your game and they say, “Oh yeah, you made that game? Yeah, I enjoy playing it.” It's kind of a fun experience.
And also the ability to be in touch with other game developers. So once I put it online, I got invited to some Discord servers and then there are suddenly other developers in this server whose video games I've played for years and suddenly you're able to talk to these people and that was really a fun experience. I talked to someone who developed a well-known browser game or a well-known app and you can share ideas with these people. And I really found that a cool perk of being involved in this is all the connections you end up having.
When I was a kid I used to play these games and I really looked up to the people who developed them because they're like gods for me in the sense that they put this product together that every day I'm playing it. And now you're basically interacting with these people and you end up realizing that they're just, you know, game developers, people who have a passion for this hobby just like I do or for many it's a profession. It's really fun to share ideas and to talk to other people who are really into this because it's not that common.
In my real environment, like my everyday life. I don't know many people who are really into this stuff. So it's good to be able to then get in touch and to talk about these things.
What’s next for you?
Well, right now I'm super busy with real-life things. We just had a big renovation behind us and my wife and I are expecting our first child. It's three weeks from now, roughly. It's coming up soon so we're super busy preparing for that. So that is going to be dominating my life for the next while. I don't know exactly how long. Yeah, it won’t stop and probably will never stop, but it's going to be particularly intense.
But yeah, I am working on a new project. I really like the idea of being for people themselves, being creative and allowing other people to be creative in a multiplayer setting. So that's something I'm working on like a real time drawing game where people can participate, join a room and do things together. This time I'm setting it up in a much more polished way.
I hope it's going to work out nicely, and I'm trying to really set it up decently this time and minimize my technical depth. And I learned a lot also from my current job. People are really professional in the way that they work and it's a more corporate setting and you learn a lot when you just develop on your own and you're sitting at home and doing things your own way. It's not always the best way to do things.
People really think about what is the right way to go about software development. And go about setting up projects. And so I learned a lot by working for my current employer. It's just a great learning experience. And I also incorporate those ideas and this knowledge into my future projects. So yeah, that's one of the things I'm working on. I cannot really name it yet. I have a name for it, but I cannot really share it yet.
Where can we find you to learn more about you and your projects?
You’re all free to join the Discord and ask questions there. Maybe I'll randomly log in and see it there. They can always send me an email at the email address there too. I also have a ninja.io Twitter/X. I don't really have a dedicated company or development social media right now. I think I'll save that for the next project. But yeah, people are always free to get in touch. I like it. I'm free to share ideas. It's always good to hear other people's ideas.
Have a game to sell?
Let’s find out if we play well together.