
Show HN: Bot Land, a game where you fight others via code - Adam13531
https://bot.land/
======
Adam13531
Hey all,

I've been working full-time on a game called Bot Land for the last four years,
and it just launched: [https://bot.land/](https://bot.land/) In the game, you
can make bots with a Scratch-like interface called Blockly or use a subset of
JavaScript. Either way, bots are fully automated.

Here are some screenshots of the game:
[https://imgur.com/a/Rs2OWFg](https://imgur.com/a/Rs2OWFg)

Almost all of the development process (~5000 hours) was streamed live on
Twitch:
[https://www.youtube.com/watch?v=RS5Va996Exg&list=PLSM9PbIe-9...](https://www.youtube.com/watch?v=RS5Va996Exg&list=PLSM9PbIe-9hVfX0_wCD64AH7_DVNJDuCb)

It's free to play, so please try it and tell me what you think!

~~~
Madmallard
How the hell did you have the ability to drop 5000 hours on this?

~~~
Adam13531
I think the other comments were interpreting this as "where did you find the
time?" rather than "where did you find the other resources to support that
time?" (e.g. money and motivation). I've been maintaining a huge FAQ since
I've gotten these questions a lot over the last four years, and this one in
particular should answer the question:
[https://github.com/Adam13531/BotLand/wiki/FAQ#how-are-you-
af...](https://github.com/Adam13531/BotLand/wiki/FAQ#how-are-you-affording-to-
work-on-bot-land)

I linked that rather than copy/pasting it because you may find other answers
interesting on that page. :)

EDIT: I should clarify that 5000 hours is roughly the number of hours that I
_streamed_ , not the number of hours that I worked on Bot Land. There were way
more hours spent in the background doing all sorts of things (including
coding), but the majority of the actual development was on-stream.

~~~
Madmallard
I've been in the industry 8 years and worked on maybe a half dozen games but
none of the projects was >400 hours.

I don't see how to make the commitment to spend multiple years without like an
income coming from it and a team to work with. By myself it just becomes
unbearable after a while.

I want to make a living off games. I'm almost 30 and things aren't getting
easier.

~~~
Adam13531
Ahh, I see what you're saying. I think the answer to that is that I had set up
my entire life around Bot Land. It was my full-time job, I had the stream for
accountability, and I'd dumped my savings into the production of the game. I
couldn't just walk away from that. Plus, it's been a lifetime goal of mine to
make a successful game, and I'd always said that the one true way to
definitively fail was to not finish Bot Land (I hadn't had such a definition
of failure for other projects).

Without getting too rambly/preachy here, I'll say this: there are lots of
things in my life where I think, "I'd like to do that, so I'll get to it
eventually". After a long enough amount of time, you realize that "eventually"
doesn't just hit you in the face—you have to carve out time for the things
that you want to do. At the end of my last traditional job, I realized that my
career goals weren't being met. Primarily, I wasn't learning. I talked to my
wife about what I should do, and she suggested that I productize Bot Land.
That's when I had to realize that the concept of "eventually" was peaking
through the cracks probably _trying_ to hit me in the face, and I had enough
momentum to just go with it.

You mentioned that you're almost 30 and that things aren't getting easier. I
can't say that they _will_ get easier. What may help you take one of your many
games to completion is simply scoping it down _way_ further than you think you
should. Cut out multiplayer, cut out innovative AI, cut out randomly generated
dungeons, and just focus on a couple of solid aspects.

I don't know if any of that advice resonates with you, but if not, perhaps
defining what barriers you feel like you've hit would help identify what
patterns may be stopping you.

~~~
Madmallard
The barriers i repeatedly hit seem to be due to my lack of competence or
inexperience at the tools im using.

------
jacquesm
Cool, a modern day Core War!

[https://en.wikipedia.org/wiki/Core_War](https://en.wikipedia.org/wiki/Core_War)

~~~
bigiain
Came here to make the same comment.

I also played - I guess back in the late 90's, with an autonomous Asteroids-
like game where you'd write code to control your "space ship" that had "radar"
to show you nearby opponents and had pretty much just Asteroid-like controls,
which ran as a networked screensaver. It came out of a bunch of people working
at Canon - a friend of mine worked there writing printer drivers...)

(Now I'm wondering what you'd get if you let loose inside a modern device,
like a cellphone for example, with two opposing bits of fighting code with
full root access, but strictly equally time and resource shared? Would Core
War even make sense any more with Gigs of ram, hundreds of gigs of flash, asnf
stuff like wifi and bluetooth?)

~~~
furins
You probably played crobots:
[https://tpoindex.github.io/crobots/](https://tpoindex.github.io/crobots/) It
was quite popular at that time!

------
black_knight
Congratulations, looks awesome.

I had an idea for similar kind of game where you are a wizard and program your
own spells. The mechanics would be inspired by how magic works in The Dresden
Files[0], where you draw in magical energy, transform it and then use it in
some way. Maybe one could connect it with linear logic and programming.

[0]
[https://en.wikipedia.org/wiki/The_Dresden_Files](https://en.wikipedia.org/wiki/The_Dresden_Files)

~~~
jacquesm
That reminds me of 'Midnight at the Well of Souls' by Jack L. Chalker:

[http://www.geocities.ws/evilsnack/well.html](http://www.geocities.ws/evilsnack/well.html)

------
fortyseven
Shame about the loot boxes.

[https://i.imgur.com/NvQIJaG.png](https://i.imgur.com/NvQIJaG.png)

~~~
Adam13531
Are you talking about the monetization model, or is something broken with
opening salvage packs?

I assume the former. The goal was always for Bot Land to be free-to-play, and
there were many different approaches to monetization discussed throughout
development. In the end, I settled on the one you see in-game now, but the
tenets were always the same:
[https://share.bot.land/monetization.html](https://share.bot.land/monetization.html)

For reference, salvage packs are the single monetization point of Bot Land.
I'm not planning to include advertisements, and I don't want to do
subscriptions or anything. Salvage packs contain only cosmetic items, and the
rarities are included up-front (which I would have done even if certain
platforms like Apple didn't require that).

You can play for free and obtain every item in the game. The game took not
only a substantial amount of time to develop (4 years), but also a huge chunk
of my savings that I'd built up from my past jobs. I do need _some_ way to
make money, and I don't think people would give a game like Bot Land a shot if
it weren't free.

~~~
shkkmo
I appreciate your intent to make the game is not P2W and use IAP only for
cosmetic items.

However, why not allow users to purchase those items directly? The use of
"loot boxes", even for purely cosmetic items, can create dangerous and
unhealthy addictive behaviors as people buy again and again trying to get the
item they want. A number of countries [0] have made "loot boxes" illegal or
placed restrictions on them, so this isn't a purely humanitarian concern.

Additionally, since you can sell those cosmetic items for "Botcoin, which you
can then use to purchase anything else in the game." doesn't that end up
giving your game P2W functionality? It seems like moving to direct purchases
of cosmetic items would eliminate the need for re-sale and prevent concerns
about your game being P2W.

[0]
[https://en.wikipedia.org/wiki/Loot_box#Regulation_and_legisl...](https://en.wikipedia.org/wiki/Loot_box#Regulation_and_legislation)

~~~
Adam13531
I think that with the current climate of gaming, this is a minefield to
answer, and I don't think it does me any good to answer it. It feels like a
"gotcha, I knew it!" kind of question rather than an honest inquiry into how
Bot Land's monetization came to be. However, I've always wanted to be
transparent where I can, and I'm sure some people _are_ wondering about this,
so here's my thinking that led to cosmetic-only salvage packs:

For any game to be monetarily viable, it needs to pull in an average of $X for
each player. Any free-to-play game (including freemium but not including
something like shareware) skews how that average is formed because typical
free-to-play games are lucky to have 5% of their playerbase spending _any_
amount of money. This means that a large portion of the playerbase is actively
_costing_ money. Thus, they tend to rely on whales to spend huge amounts of
money to compensate for all of the people spending nothing (or next to
nothing). For this to work, the spending ceiling needs to allow for purchases
of this size to even take place.

I wrote a salvage-pack modeler that would compute how many items of each
rarity you would get by opening X packs, and how much Botcoin you could
convert those items into should you want to sell them. I determined that at
the highest number of packs that you can buy (70 packs, i.e. $100), you unlock
nearly every cosmetic item in the game except for the rarest ones (which you
actually unlock very few of). However, the average Botcoin value is enough for
you to purchase several specific items that you may have wanted. I never
wanted players to spend $100 for a single item and not be able to get it
somehow.

By allowing direct real-money purchases of individual cosmetic items, I'd have
to skew prices so heavily to make the same average revenue that I don't think
players would want to purchase them. Also, there wouldn't be the fun or
mystery of opening a salvage pack. I know what that sounds like. I even did a
parody of EA's famous words for April Fool's last year
([https://youtu.be/cCmj2hKbWeQ](https://youtu.be/cCmj2hKbWeQ)). But I can
unravel a bit of this at least:

1\. I'm not a businessperson. I don't know much about the psychology behind
sales and how to make various business models work.

2\. I have somewhat conflicting goals with Bot Land. I want the game to be
free-to-play, I don't want to exploit users, and I want to make a living off
of the game.

3\. The model which I know can fit those goals is the salvage-pack system that
you see in the game now.

4\. The payment model is not set in stone. So far, Bot Land has grossed
significantly less than $1000, and a large portion of that is from users who
already had accounts before the game even launched, likely indicating that
those users wanted to support me moreso than get something in the game. It's
easy to be ethical until challenged, but I'd like to think that if I found
users spending ludicrous amounts of money in the game, I'd do something to
curb that behavior.

5\. There's been an absurd amount of work just getting to launch, and I'm not
positive that I can even continue Bot Land's development beyond 2019 without
greatly changing the plans my wife and I made (more about that here:
[https://docs.google.com/document/d/1aCE4s5UvVLH7dHuO1OA2m5Sw...](https://docs.google.com/document/d/1aCE4s5UvVLH7dHuO1OA2m5SwgSj7znUy67K1Xh9kBcw/edit#heading=h.lxvjax1mnb0s)).
This bullet point's relevance is that I have so few resources to even be able
to focus on the game alone right now, let alone any other issues that may pop
up.

You may take this as incoherent rambling or mental gymnastics to be able to
justify what is typically a predatory business model in gaming. I will be
reevaluating as time passes to figure out whether something needs to be
changed. I highly doubt Bot Land will be successful enough for me to even be
able to make those decisions though.

> doesn't that end up giving your game P2W functionality?

Functional items are supposed to be balanced such that they can be
situationally better than other items of the same category, but not outright
better. Arguably, being situationally better allows you to be _outright_
better the more situations you come across, but I think that fully exploring
the nuances of this would be a much larger conversation when I think that the
heart of your questions is around loot boxes. In short: I don't think that
even if you could purchase Botcoin directly would the game be pay-to-win.

Finally, one last note that's not the most salient: I never really intended
for salvage packs to be convertible into the other items in Bot Land, just
cosmetic items. The one monetization point that I've written down for the
future is to introduce hardware coupons, that way you can directly purchase
functional items. I don't know when this would happen though, if ever.

\---

There are parts in this post, specifically with the five points I enumerated,
whose connection to the original questions and even to my own supporting
points may not be clear to a reader. I took time and care to type this, but
I'm sure that I could have made things clearer. I don't mind participating in
an honest discussion about this or other aspects of the game. I'll likely
stream tomorrow (Monday) if you want to ask me in-person (although I can't
guarantee that I have the required amount of time to devote to the
conversation).

~~~
shkkmo
Thanks for taking the time to reply in such a thoughtful manner!

> I determined that at the highest number of packs that you can buy (70 packs,
> i.e. $100), you unlock nearly every cosmetic item in the game except for the
> rarest ones (which you actually unlock very few of).

It is these rare items that tend to drive the addictive behavior behind loot
boxes. Is there a particular reason you feel like you want to have these rare
items be so hard to obtain?

If you don't mind me asking, what is your target revenue per player? $100
seems pretty high...

> By allowing direct real-money purchases of individual cosmetic items, I'd
> have to skew prices so heavily to make the same average revenue that I don't
> think players would want to purchase them. Also, there wouldn't be the fun
> or mystery of opening a salvage pack.

By using a randomized loot box (especially one without published odds) you are
effectively tricking players into paying more than they would otherwise wanted
to. This seems abusive to me.

> For any game to be monetarily viable, it needs to pull in an average of $X
> for each player. Any free-to-play game (including freemium but not including
> something like shareware) skews how that average is formed because typical
> free-to-play games are lucky to have 5% of their playerbase spending any
> amount of money.

There are monetization choices that I think do a good job of balancing that
distribution. Loot boxes is not one of them, nor is any mechanism by which
players are given the option to repeatedly purchase consumable items that aid
progress/grinding. This can actually discourage low-value players from paying
since they can't pay enough to make a real difference.

I personally think that one-time purchases for ($5-20) that give a permanent
bonus to grinding (10-20% boost to rewards earned by playing) are actually
more player friendly. They encourage more players to spend a little bit of
money on the game while reassuring them that you will not keep raising the bar
and pushing for more money to keep progressing. I will almost always buy a
package like this (as long as it is reasonably priced.)

> a large portion of that is from users who already had accounts before the
> game even launched, likely indicating that those users wanted to support me
> moreso than get something in the game.

Don't under-estimate this. The desire by fans and serious players to support
your game and keep you afloat can be a significant factor in the decision to
spend money on your game. Predatory monetization can destroy that goodwill,
which will in turn make you more dependent on your whales. When I feel like a
game is pushing me to spend money, it decreases my respect for the game and
the developers and reduces my desire to support them.

> It's easy to be ethical until challenged, but I'd like to think that if I
> found users spending ludicrous amounts of money in the game, I'd do
> something to curb that behavior.

An ethical approach to whales can significantly mitigate the predatory effects
of monetization. However, it is also a fairly invisible monetization technique
that doesn't do as much to engender goodwill across your player base.

> In short: I don't think that even if you could purchase Botcoin directly
> would the game be pay-to-win.

P2W comes in a couple of different flavors and doesn't really mean just one
thing. There are some heavily P2W games where F2P players struggle to compete
and spending money becomes necessary past a certain point of the game. (I
think of these games as P2W PvP) (Good matchmaking can push a game that would
otherwise fall into this category down the the one below.)

There are also a lot of P2W games that don't disadvantage F2P players
directly, but just allow players to pay to progress faster. Any games that
allows real money to directly convert to a fully unlocked/upgraded account
falls solidly into this category. It sounds like your game is one of these. (I
think of these games as P2W PvE) (Games with synchronized server starts that
would otherwise fall into this category can easily fall into the above
category.)

Then there is the whole spectrum of games that provide some in-game advantage,
but limit some forms of progression to gample/grinding.

Finally, there are the games that are truly not at all P2W, where real money
purchases can only buy cosmetic items and there is no mechanism to provide any
in-game advantage to paying players.

I don't like P2W PvP games. I don't mind P2W PvE games, especially when the
montization is well done and the money/grinding ratio is high ($1 to save
100hrs of grinding is unacceptable, $100 to save 1hr of grinding is great).

One of my favorite indy P2W PvE games is Hades' Star which is almost entirely
unlockable by spending money, but has an extremely high money/grinding
exchange. The game also offers a very reasonable permanent package that
provides a 10% boost to a couple of specific things.

I hope your stint on HN gives you a boost and helps you reach a sustainable
level of income from Bot Land. Good luck!

------
jkp56
Sounds interesting, but didn't work for me: it got stuck on the "bots are busy
assembling the game". There is no indicator of progress, no errors, no logs.
It's a good idea to add a feedback button that would upload logs on demand.
I'm using Firefox Android with uBO. Only GA was blocked, but there's no way
I'm enabling it.

~~~
Adam13531
Do you mind trying either the app or a different browser? I don't know why it
wouldn't load at all. I agree that there should be some form of errors, logs,
etc. I believe that will eventually happen if the game makes enough money to
continue development. Launching on four platforms was only possible due to
being able to thinly wrap the site, and unfortunately, now there are a lot of
other important tasks to tackle that will probably happen before this. :(

------
karmakaze
Nice. RobotWar for a new generation.

[0]
[https://en.wikipedia.org/wiki/RobotWar](https://en.wikipedia.org/wiki/RobotWar)

~~~
cortesoft
I grew up playing RoboWar for the Mac... looks like it was based on the one
you linked. Guess every generation has theirs!

------
ponyous
Woah congrats. I have watched a stream or two of yours and it looks really
interesting.

I really liked your marketing document and think others might find it really
useful, hope you don't mind me linking it here:
[https://docs.google.com/document/d/1TiSmB7IaWpIf_7cUWzk7GAtR...](https://docs.google.com/document/d/1TiSmB7IaWpIf_7cUWzk7GAtR8VU5I5Py-
leABO7fDT4/edit?usp=sharing)

(let me know if you are not ok with that and I'll edit the comment)

~~~
Adam13531
Thanks!

The marketing document is fine to link. It hasn't really been updated much,
but then again, I'm going to try more ideas from it now that the game has
launched and the fires have died down a bit.

~~~
cpb
Congrats man!

------
dcdgo
The Google code blocks integration is quite nice. as a developer, I wouldnt
want to play this though.

~~~
Adam13531
You can code in a subset of JavaScript too. Even with that in the game, I find
Blockly a little bit more usable given the current feature-set in Bot Land
right now (mostly the existence of snippets and premade scripts in Blockly).
It's nice to get large chunks of code that you can just drag around.

Alternatively, maybe you were referring to some other part of the game when
you said you wouldn't want to play this, in which case I'd love to hear your
feedback!

~~~
seaish
I think they were just saying that since they code for a living, they don't
want to play games that are also code.

~~~
Adam13531
Oh yeah, you may be right. I took it to mean "given that I know code, I
wouldn't want to use a drag-and-drop interface". I've had a few pieces of
feedback like that before, and sometimes even pointing out the existing coding
interface doesn't please those people. To each their own, for sure!

------
t0astbread
Screeps is also a cool automation game like that (and 100% FOSS!). (Judging
from the looks of this it's a very different game though, so try both!)

------
xentripetal
Enjoying it so far, small bug report:

Loadout weapon drag window can get permanently stuck on the screen, requiring
a refresh. See here
[https://i.imgur.com/cL4x2Vk.png](https://i.imgur.com/cL4x2Vk.png)

Steps to reproduce: Go to Edit Blueprint Window. Start dragging a window.
Press backspace to go back to the game field. The window is now permanently
stuck.

~~~
Adam13531
Thank you for reporting this! I say this with no sarcasm: I think this is a
completely unique bug.

Also, it's better that I get reports than not, but if you've got any future
bug reports or feature suggestions, there is an in-game bug reporter that you
can use via the button at the upper right of most screens in the game.

------
benwiser
Bit of a shameless plug I guess but it's especially fun for me to take a look
at this because I worked on a pretty similar game about 3-4 years ago making
bots battle each other for the students I was tutoring. Right after that I
made another game that was a more single player experience and decided it
would be fun to learn OpenGL so I obviously got a lot less done. This
definitely looks a lot more polished than what I produced and I hope it turns
out well! For those interested in the projects I worked on, you may find them
here:
[https://gamejolt.com/games/masjien/80426](https://gamejolt.com/games/masjien/80426)
[https://gamejolt.com/games/proxy/221194](https://gamejolt.com/games/proxy/221194)

------
AlexMuir
On iOS. Signup Email input should be of type email. Password length feedback
should be inline - not after typing pw twice and submitting.

Gave up at the ‘place two bots’ stage. Couldn’t work out how to place a bot.
Love the idea. Needs UX love!

~~~
stiray
Same here, android, unable to figure out how to place a bot. Everything that
made sense (select robot, tap in arena, tap bottom bot name and tap arena.
Even double tapping didnt work. Gave up too.

Update. Got two bots (at least based on count), I have no clue how, started
fight, but there is nothing to be seen, just black background. Battle finished
and again everything black except the menues.

I am fan of bot wars and would love to play it, but this is just too
frustrating to use.

~~~
Adam13531
Thank you too for the feedback! Would you mind either sharing the following or
submitting a bug directly through the game? If you'd like to share this
outside of the game but still privately, my Discord ID is Adam13531#3531.

• What device are you on?

• Are you using the app or the site?

• If you're on the site, what browser are you using, and have you pinned the
site to your home screen, or is the URL bar showing?

• What OS version are you on?

The mobile versions of the game are thin wrappers around the web version
([https://play.bot.land/](https://play.bot.land/)), and there weren't very
many mobile users before launch, so bugs certainly made it through the testing
process.

~~~
stiray
Yeah I suspected it is just a web game. I am so sorry you have decided to make
it web based. I have webgl disabled as it is common for websites to use it for
fingerprinting and I will not enable it.

------
mizzao
A for loop seems to be supported but there is no documentation on how to use
it. I'm getting the following error when trying to use a loop index i:

Your for loop's body section is not legal. You can only use literals as a
refinement on objects (when trying to index into an array[i] returned from
findEntities).

~~~
OtherMush
I looks like only the two built-in variables "array1" and "array2" can be used
like actual arrays. someBot = someArray[0]; will not work but array1 =
someArray; someBot = array1[0]; will.

------
29athrowaway
If you like these kind of games I recommend this one:

[https://robocode.sourceforge.io/](https://robocode.sourceforge.io/)

------
Pfhreak
How was streaming development of the game? Are you concerned about your source
being visible? Or feeling like you are being watched or judged while coding?
When did you start streaming development? I'm worried my side project is too
early in development to stream... Did you end up having to spend a bunch of
time making extra stuff for your audience, like the faq you linked?

~~~
Adam13531
Oh boy, do I have a huge answer for you!

> How was streaming development of the game?

It was great! People ask me a lot about what I'd change if I could go back in
time or start again, and while I would certainly change some technological
decisions, I would not change the streaming aspect. There are so many great
things that have happened over the years, and I feel like the culmination of
all of it can be summed up in this launch-day highlight I took:
[https://www.twitch.tv/videos/486320333](https://www.twitch.tv/videos/486320333)

That one video felt like it made the whole journey worth it.

> Are you concerned about your source being visible?

I wasn't super concerned for a few reasons:

• Code is copyrighted as soon as you write it, so if someone were to take it,
I would be able to take legal action against them.

• Perhaps more importantly, I didn't think anyone would _want_ to copy Bot
Land's code. Automation games are growing as a genre, but rarely will they
include scripting as the main component. To my knowledge, there wasn't a
scripting-based game ~4-5 years ago that proved that they could be successful.

• See the next answer...

> Or feeling like you are being watched or judged while coding?

Impostor Syndrome runs rampant with coders. Did I feel like I'd be judged?
Yes. Was I? 100% yes (by some people). Were some people mean about it? You'd
better believe it. However, I started streaming for accountability and
marketing, and I wouldn't have gotten those benefits if I didn't stick with
it.

Also, remember that as a streamer, you control who gets to stay around in your
chat. People are entitled to their own opinions, but I think the #1 rule as a
streamer is that of entertainment: the show must go on. As a programming
streamer, this doesn't mean that you have to be entertaining all of the time
since you have to be productive while streaming. Either way, in order to keep
the show moving, you have to be in a good enough mood to _do things_. When a
troll gets in the way of that, you purge/timeout/ban and move on.

If someone is judging you for your coding style or standards in an
unconstructive way, you have tools at your disposal to handle it.

> When did you start streaming development?

I started on September 8th, 2015. I believe I had one follower on Twitch at
the time, a real-life friend of mine.

> I'm worried my side project is too early in development to stream...

I don't think anything is really off-limits for a development stream. I've
spent entire days streaming myself milling around entirely in a text document
(i.e. not even code). I've spent days writing automated tests, triaging bugs,
debugging, etc.

> Did you end up having to spend a bunch of time making extra stuff for your
> audience, like the faq you linked?

Yes. If I had to estimate how many _full_ work days I've put into just
streaming-related tasks, I would say it's about 10-15. Granted, you can just
start with practically no preparation and see where it takes you, but I don't
advise doing that. My advice on streaming hasn't changed too much in the past
years; it's mostly encapsulated here: [https://blog.bot.land/2016/10/being-a-
development-streamer-o...](https://blog.bot.land/2016/10/being-a-development-
streamer-on-twitch/)

Streaming is just as saturated as games are nowadays. There are a million
streamers trying to make it big who "don't care about the numbers, they're
just doing it for themselves". If you want to get started, I'd say that you
should come up with a goal pretty early on, and that goal should _not_ be to
earn money from the stream. I won't share exact numbers, but I make less than
minimum wage as a streamer. As a developer at a traditional job (in the U.S.),
I'd make plenty of money.

I'd be happy to answer more questions you may have, although I think you'll
have to see for yourself how streaming goes in order to consider whether it's
worth it. And be ready to come to the conclusion that it's _not_ worth it
since it can affect your productivity and possibly your mood/energy.

~~~
Pfhreak
A little more context -- I stream playing games (because it's entertaining to
have people drop by). I have no interest in being a streamer for a career, so
I don't feel I need to compete with anyone, but if folks found my side project
interesting and dropped by to chat I think that could be a nice break.

Do you find it difficult to converse with folks while programming? How do you
maintain flow state while streaming? (Maybe this is just a skill you pick up?)

~~~
Adam13531
> Do you find it difficult to converse with folks while programming? How do
> you maintain flow state while streaming? (Maybe this is just a skill you
> pick up?)

This comic (which you've probably seen!) sums up context-switching as a
programmer: [https://heeris.id.au/2013/this-is-why-you-shouldnt-
interrupt...](https://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-
programmer/)

Imagine that but multiplied by 100. Every 3 seconds, someone is saying
something that you can see out of the periphery of your vision. How difficult
it is to interact is up to you; you can hold off on chat and handle it every X
minutes, you can let them interact with themselves, or you can interrupt your
flow every few seconds.

I try to take extensive notes about what I'm doing at any given moment so that
I can always pop the context back off the stack and resume my work. It's a
skill you'll hone as you go.

------
sportanova
Full on programming as a mechanic seems overwhelming, but I like the idea of
automation in strategy games

I’ll give your game a try, maybe I’ll be proved wrong

~~~
Adam13531
There are three levels of scripting you can do:

* None - just ignore the scripting and let the default AI take care of everything. There are some items that can't be used this way, e.g. Teleport and EMP, because the default AI wouldn't know how you'd want to use them. * Blockly - use the block-based scripting to control your bots. This is what I suggest as the step for newcomers who still want to customize their bots' behavior. * BotLandScript - this is a subset of JavaScript that I only recommend for people who already know how to code.

Blockly and BotLandScript _should_ have feature parity (not that they do right
now, but the differences are somewhat minor given the target audiences for
each), so you don't necessarily have to code (or even know how to code) to
play Bot Land. Then again, scripting will certainly give you an advantage.

~~~
mch82
Blockly (or similar methods like Blueprints in Unreal & Simulink) is how most
people will program in the future.

You’re going to get negativity from “developers” about using Blockly, but
unless they’re your target audience don’t let it get to you.

Lots of EE’s use graphical tools to layout the circuit boards anyway... so
text is really just an unnecessary abstraction over schematics & you’re
bringing programming back to its roots :-)

~~~
Jach
Want to make a timeframe for that prediction? I'd like to record it... While I
agree to ignore the criticisms from people who won't even play the game (which
includes me, so I haven't commented on it, even though I've played a number of
variants on this during high school) I think your prediction here is a
stretch. First a quote to consider:

"Linux supports the notion of a command line or a shell for the same reason
that only children read books with only pictures in them. Language, be it
English or something else, is the only tool flexible enough to accomplish a
sufficiently broad range of tasks."

\-- Bill Garrett

Now a point about EEs/CEs... it's _way_ nicer to write:

    
    
        module dff (
            q,
            d,
            clk
        );
    
        output q;
        reg q;
        input d;
        input clk;
    
        always @(posedge clk) begin:
            q <= d;
        end
    
        endmodule
    

than to actually lay out and route a flip flop. Of course you're going to
simulate such modules, and use graphical tools (the least of which is just to
picture signal waveforms), this isn't to say graphical tools are going away or
are pointless, but I would readily take the other side on a bet about your
prediction since I don't think programming will even in 100 years be something
people think of as manipulating graphical elements rather than typing/chording
expressions satisfying some grammar/syntax we'd call a language.

------
air7
Has anyone ever played Robot Odyssey? It was one of most beloved games as a
child. It's somewhat of a precursor to this project.

------
__rvnykk
Looks awesome, I signed up! I'll try it out over the next few days. Looks like
it could have a lot of potential

------
mizzao
I accidentally removed my bot's head/torso/feet during the tutorial and could
not add them back.

------
animal531
I always loved the classic PRobots and later CRobots, its a great way to learn
programming.

------
mt40
Very interesting. It looks just fun at first but become more and more
addicting. Good job!

------
valryon
If you like the genre you should also check Gladiabots on Steam:
[https://store.steampowered.com/app/871930/Gladiabots/](https://store.steampowered.com/app/871930/Gladiabots/)

------
speakingchatter
looks like a great game! Thanks for working on it!

