#⌨coders-cave
1 messages · Page 50 of 1
lmao
java
cameras now can ZOOM IN :OO
(was easier than expected)
imagine not making ur own engine
cant relate

why am I temped to learn Java
its C# but a bit different
C# is pretty easy to learn
so is java
java is good for things like games
meanwhile C# is better for applications
and web
and everything thats not games
But I have 3 projects to do on amp + I have summer work where I'm gonna so websites in 4 weeks and I'd want to learn about web dev before it
I have no fucking idea. My contract says technical details of the work will be explained the first work day
which is annoying
I could technically message my employer and ask
unless they expect u to learn whatever language they want in the first day
The work description said "No knowledge of the topic is required, you're only required to have intrest in the topic"
so I think I'm fine 
aight fuck rust im going back to c#
6€/h. Pretty shitty but it's the minimum so good enough Ig
I could make more by like freelancing or something
Freelancing is hard to get in
Cuz u need a good repetition for people to start throwing money at you
And u cant get good repetition if no one is throwing money at you
I could probably get started through my dad
he's developer with very very good reputation and I know python pretty well so I could probably start freelancing python but school takes all my energy to that useless shit
What kind of path finding algorithm does WorldBox use? Is it custom made or an API/public algorithm?
i believe maxim was messing with astar/a*, and there is still that in the code
but i dont think the current pathing uses that, i think its custom
idk though
oh nah its astar, this is recent
Ive heard A* is what i want to use but i still have a difficult time understanding it
AStar is very good
very fast and dynamic
one of the best if not theb est
finally can load more than one texture
(was harder than expected)
very sexy i must say
now its 10x times better
with scenes(better than unity's)
and a chunking system
yes you cant tell form the picture
i need to start learning openGL because windows forms performs like a potato
thats some chunks indeed
what rendering system did you use
opengl
hoho
-
Unit tries to go to point directly with simple "raycasting(just calculation of line of tiles from point A to point B)".
-
If there's only one type of tiles in this raycast, then it's done and unit follows it. It's pretty inexpensive. Like for boat - only water tiles. For unit - only ground tiles(no mountains, lava).
-
If it's failed, then unit checks if point A and point B on the same island(so we won't launch astar into separate area inside mountains for example - because it would fail, and would take a lot of cpu ticks)
-
Then we look for path via MapRegions(bigger areas of tiles)
-
And finally, we do astar bounded by step 4 inside already found MapRegion-path.
There's more optimization that could be done via parallel processing, which is next step in todo list for some time later
makes sense
step 4 - blue "line"
i hate installing external libraries and bindings to my code because its complicated af 😔
Top tier map generation
daaamn this is some mario maker level design
secret map generation code
var height = random.nextInt(18) + 2;
shh
dont tell anyone
nice. But where's diamonds
go any higher and you will get pillars of grass going to the moon
minecraft 2d lesss gooo
why dont you just make it rand.Next(2, 20);
doesnt exist in java
oh right its written in java
i was wondering how that var showed up
wait so do the chunks take part in the generation or are they just for more coder look
Chunking makes things more efficient
Instead of updating and drawing the whole world
You make the world chunks and only update the used ones
Gosh damnit. I so want to learn to make game engine now. And fot some reason I want to now do it with Java
XD
Instead I have to sit in school and die of boredom
awesome explanation, thank you
i had only interacted with step 1 before, and seen code ready for step 5
and it's the first warm day of the year so my mom isn't gonna let me sit on my pc the whole day, fuck
now i understand much better why my mods that moved units broke so easily
i literally skipped half the pathfinding theyre supposed to do
It's all included in moveTo method I think. Need to check when will be home
bro why implementing text is so hard
I'm doing a project with a free mysql hosting but holy shit is it slow
I've been waiting 5 minutes to upload a 1.5MB csv file
and it's still not done
ffs
it errored
phpmyadmin is pain
Haha nerds go brrrrrrrt

no no this is where ppl try to assert their intelligence! you got it all wrong
That's just an insult to nerds and according to you everyone here is one, you shouldn't say such things
Again?
Take to the uhhhh..... not nerd gods
cant you just do this(gonna write it in c# but you get the idea)
int odds;
foreach(StoneBlock block in AllBlocks){
odds = rand.Next(0, 20);
if(odds == 2){
//replace the block
}
}
or did you do it that way but still got errors
still tho pretty cool, with this working speed you will be able to make 2d minecraft in no time
also this is if you register every stone block in a list and if you have a script individually for stone blocks
Would be better if AllBlocks was a list of Block, then you can make StoneBlock and DiamondBlock inherit from Block, so you can have a list for all your blocks
Hmm... Haydot is making game engine in C#, Hamza is doing game engine in Java so if I do game engine in C++ we would all be doing game engines but with different languages
well before that I gotta work on amp a bit
I always tought making game engines required some deep knowledge about low level programming and stuff, is it actually easier?
Well it is not that hard for sure
Currently I am just having problems with understing this shit for amp https://docs.tweepy.org/en/v3.5.0/auth_tutorial.html
You really just need a good rendering system, you could use.your own or you could use opengl
And from them on it's like making a game
Oh yea also very much matters what engine
If it's 2d it's simple
If it's 3D it's...very very complicated
yep. it's in moveTo but not the old goTo (please dont remove goTo even if it isnt used later)
The error was from the sprite rendering not the generation
No you cant make ur own
Unless you know assembly
Really well
And the images ive been sending are of a testing game, im not in the mood of making a platformer
Mastef i suggest remaking the game with my engine which is clearly superior to the unity engine in performance and stability and more things...

Bruh i have to remake the whole textures and rendering system
To implement text
I already hate making an engine
Everything in unity is bad so I agree
I guess the renderer is ok
But the physics engine is just....wow
Its fooked
I would rather rewrite the whole physics engine myself then have to deal with its crap
Aight ima start learning assembly
Good luck
I started making a game, ended up attempting to make an entire game engine and maybe even renderer on my own
Actually not render
Renderer*
If I also try to make a renderer I will end up dying from old age before I'm done with the game
i dont think they should be switching rotations like that 
they are too different in size 0/10 would not reccomend not like 2d minecraft

having error that i cant fix.. hid it behind a try catch without a log
now some of it functions and the error doesnt break the rest
having a seperate problem where im trying to edit a person as theyre created, but the thing im changing isnt created quite yet...
so i have a permanent loop that runs, always checking for FINISHED people to make the change to
2 stupid solutions back to back, but "with no errors"
bruh the first two lines ryhme
NOW WITH TEXT
NVM
dont use HIII as test
cuz if you flip it upside down it stays the same
sad life indeed
that's FPS upside down
ASHHHHHHHHHHHHHHH
i hate this
dont lul me
im crying

finally
TEXT IS HERE
:o
. .
o
;o;
just gotta fix this
Minecraft but 2D
Hey there
I'm having problems with Unity
Someone can help me?
Well, when i import some photo, that lose and change pixels
Emm, how i send photos here?
Can in dm, you don't have the chicken role yet
Ok, i will send you that on MD
That's not a good comment.
Terraria is so much more.
The image he sent
So basically there a line visible in the center of the unity image but it's not in the original image.
I don't know a fix for it, I told him to change filter mode / pixels per unit. Didn't change anything.
Now I'm trying to get him a more recent unity version
always repeating... because the bodies pile up..
||its to hide sprites from parts that arent necessary once the unit is skinned||
||because peoples heads were spawning at their feet||
They like there heads
This looks like wrong texture loading settings
minecraft 2d be like
also have you been working on this for half a day now
or full day
i started like 2 days ago
ive worked like 5-6 hours on this
time to make some kewl ui elements
with a big ass screen saying "made with unity " at the start
worldbox has a big ass screen saying made with unity at the start
how does that work
is it just like "you pay for unity pro version and you get a chance to not get a giant watermark for everytime you start!"
oh well that makes sense
i mean i can tell if the game is made with unity anyways
just open the game files
u see unity all over the place
made with HEngine
i would use Hengine ngl
but you know whats better
the eternal engine
what else do i need to implement after ui
also im gonna show you a madman brb
physics are simple
kinda
matters what physics, if you want really complex physics good luck
thankfully roguelikes have like no pjysics 
depends of the game
games like deadcells have physics
and it is roguelike
or well roguelite (I think) but still
noita is an almost entirely physics based and its a roguelike
but its also not a top down
top-down games dont really have physics because they are pretty much not needed, most of them like binding of isaac use animations to simulate falling, or maybe while the animation is on they are a bit higher up on the y axis
anyway so im a true coder and i can prove it by saying that i just had my second most important bulgarian exam in my school time thing and i spent the time before it coding
How tf am I supposed to implement this to AMP https://developer.twitter.com/en/docs/authentication/oauth-1-0a/obtaining-user-access-tokens
because for some fucking reason I need to have OAuth on to fetch users

Yeah that seems the most logical way to do it with top down games
oh there is a literature part of the exam now
ok well try/catch statements wont help me now
With physics i mwan the movement of entities
It exists in all games
Collisions
And things like that
Looks like a post request
Have u tried searching for a library that already do it for u
Instead of writing ur own
Anyone knows how to print values in console?
I'm so fking angry right now, I get that this is a free, FREE mysql database hosting, and I was OK with just 5 frickin MiB of space, but FFS if you SUSPEND my account if I even minimally exceed that limit, instead of directly preventing me from exceeding it in the first place, you are a bullshit company. Now all the hours I spent to upload the data is fucking gone and the database is locked behind a paywall
What language
C#, specifically for WorldBox
Does worldbox have a console
When you press "`" in game, you will see console, right?
You will probably find a class called tracer or logger
Or something of this sort
And it should have a function that should be called trace or log or append
Pretty sure Debug.Log("text") works
Even to this console ?
at least it does with bepinex console
I tried. It prints only when exception thrown
And somehow the breakpoints don't work either
Just throw an error then
breakpoints never worked for me, probably needs some special setup

Breakpoints dont seem to work with unity
When ever u wanna log something
Throw an etror
Inside a try block
Ez fix
Or ask @north dune
It will be probay LogHandler.log
Or handlelog

Why does he check if its error 0
Instead of initializing at the start
this is probably where the magic happens
LogHandler.log is the text you want to print
This is a log file
So u can send it to the devs if the ge crashes
Idk maybe its maybe its not
and LogHandler.getPath() is the folder contains log files right?
There's only one way to know
yeep
you could print LogHandler.getPath() and see what the path actually is
since we can't debug

How is he gonna print
Thats the question
File.WriteAllText(LogHandler.getPath(), LogHandler.getPath());
could work
.......
you don't need to know it
I'll just print hello world to see if log files have hello world in it.
It logs it to the console too ??
This is writing to a file
that's what I assumed
Doesnt seem like it logs to the console
Nah
Why would u erite to a file
Then read it
Thats like jupe code
Can u send the whole class
I wanna take a look
Its the LogHandler.log
think I got it
He is just adding more text to it when you Use LogHandler.HandleLog
using System;
using UnityEngine;
using UnityEngine.UI;
// Token: 0x02000152 RID: 338
public class DebugLogs : MonoBehaviour
{
// Token: 0x060007AC RID: 1964 RVA: 0x0000737B File Offset: 0x0000557B
public void showLogs()
{
this.text.text = LogHandler.log;
}
// Token: 0x060007AD RID: 1965 RVA: 0x0000738D File Offset: 0x0000558D
private void OnEnable()
{
this.showLogs();
}
// Token: 0x04000A36 RID: 2614
public Text text;
}```
So it uses LogHandler.log
Yes
Thats probably the code for the text gameobject
so just need to append text to LogHandler.log and you are good to go @silver flicker
haven't tested it yet
but you are free to try
Just use LogHandler.HandleLog
LogHandler.log is private
Or not
Its not
But usung LogHandler.HandleLog still better
I guess
anyway, here's the log folder if you are interested C:\Users\(Your user)\AppData\LocalLow\mkarpenko\WorldBox\logs
oh damn
I have an outdated version
0.7.0 
it's been a while since I modded the game lol
crap
bepinex broke with new version
Its from System.IO
I believe
Just checked
It is indeed System.IO
make sure you have using System.IO at the beginning of the file
main menu 
eh dont need it
hmmm have you tried to cntr + z the screen
this is a game engine not a game so someone else might want it
doesnt work
delete the line that gives an error
be like big boi componies, say "eh dont need this feature" or "its a feature now"
like im unbinding the framebuffer
when a line gives an error, just delete the line
you probably dont need it

because exams
also 11:20 hours of eternal nightmare for some fucking reason
forgot that open ?
oh
same thing happened to me
i was playing a game on pc
i turned off the pc and went to sleep
i wake up open my phone
and some dude told me that ive been playing the game for 10 hours
but my pc is off
imagine playing games and not making em
discord be like 
cringe
the only game i play is binding of isaac
#🌋worldbox-chat to be exact
every time I play a game I feel bad because I should be the one that makes games
me too tho
i tell myself "damn i wish i was behind the development"
lool yeah
mainly for binding of isaac, the mans are sitting on a fucking goldmine of a game
so good
im trying to figuere out what makes it better then every other roguelike
maybe synergies?
untested synergies with items?
combinational items
great replayability?
just had an inspiring discussion with maxim, maybe after my exams are over I will start a new project, maybe a game, or just a wb mod, I just want to go back programming stuff again 
it cant be just that tho, other game....actually they dont
its binding of isaac with less iconic artstyle but co-op gameplay
almost as fun but not quite
something in binding of isaac sets it apart
great replayablity maybe or the artstyle
its iconic
i feel like the main reason its so good is that its simple...and untested
and unfixed
while other devs are fixing too op synergies and items ed is just making more
I gave up
For today
2D Minecraft delayed by the 30 mins im gonna watch youtube on instead of working before i go to sleep

I wish i could buy worldbox unity project to make my own game.
lol
that's pretty much paying for many years of the game development
it would be very expensive
Dm mastef "sauce"

If you need to buy someone elses work to make a game you wont go far
@north dune ya i know. It would save me a ton of time tho. I wanted to make a game just like this based off Hindu mythology. When I saw the videos for worldbox on utube i became excited as this is exactly what I wanted to make, except off Vedic mythology.
goddamnit opengl and glfw will take long to learn
@barren shale, you could be right. Might as well pay some college kids to clone the game, its prolly cheaper
it really would be
there are services on fiverr for doing just that...
(dont rip this game off)
(thats bad)
(anygame)
i already said im trying to make a game based off hindu mythology. How can i be ripping this game off
idea get
Hamza are you stupid, or dumb? wow

i want to buy this games source to build off of
paying college kids to clone it would be
bettercheaper
how am i ripping this game off

he said cheaper, not better, woops
the a woops
i tried to hire a guy on fiverr who had his prices listed from 5-20 dollars
offered up to 70 for what i wanted, he said it wouldnt be nearly enough
then why the hell are your prices listed so low
what i wanted was relatively easy and had source to use as reference as well
the thing is he has hundreds of reviews and is 5 star
fiverr itself is a scam, not just the seller
Yea fiverr is pretty scammy
And opengl is fucking wigqvusbe
Implementing text is just harder than it should be
i wonder if anyone on fiver would make a game engine for you
ok i see the issue then
Thats pretty bad
Fiver sellers do their job quickly
just seems like effort to use fiverr
it would cost like 500 anyway lol
Id rather use unity
you...
Ok fine
70 isnt enough for ONE of those features..
Id rather use gamemaker
ridiculous
imagine using yourlife andlearning tocode,hahah
i wouldmuch rather get low wages at kfc
or sm similar
i mean no shit
is that the one that is its own series
Pretty easy to understand
nice
No
it has its own engine so i respect it
Yhats something else
language*
ah alright
Yea
what if i make my own language, rendering system, physics engine, game engine and game :)
god is pretty godly


i will die of old age by the time i make the rendering system
the awaited sequal
Which is sad cuz its mych better
how tf are you supposed to make a rgp with 10 scripts
still
i need 10 scripts to make movement damnit 
Totally different
ok new plan
i make my own pc parts, from which i make my own pc, operating system, then i make my own programming language, then rendering system, physics engine, game engine, game
ez
No
i make my own molecules...

i mean it would be a good story to tell my grandkids
"did i tell you about the time i made my own atoms, from which i made molecules, from which i made pc parts, from which i made pc, from which i made an operating system, from which i made all the other crap just to make a game?"
the tutorials doesnt implement it the way i want
and tutorials are more like explaination
so i still have to figure shit out
Hell yeah! I created my first window in opengl



I am just following this series for now
Patreon ► https://patreon.com/thecherno
Twitter ► https://twitter.com/thecherno
Instagram ► https://instagram.com/thecherno
Discord ► https://thecherno.com/discord
Series Playlist ► https://thecherno.com/opengl
GLFW ► http://www.glfw.org/
Thank you to the following Patreon supporters:
- Samuel Egger
- Dominic Pace
Gear I use:
---------------...
it should teach opengl pretty damn well and then I can research a bit more about actually making a game engine
yey triangle
now it is the correct shape
openGl is actually very fascinating
Yooo
I think I am gonna learn all this complex opengl stuff before going to game engine stuff
I was just gonna learn everything neccesary but I think nah
Why cant i add the fire proof trait any more on the trait modifier
Lemme check the code if I have mistake there
Yeah i cant add fire proof nor freeze proof
Probably a mistake in the code
@lofty turret you should be able to now
I just jumped to the action 
Text implementation almost done
Just one last bug
making a game engine is way less complicated then what people think
2d that is
3d is probably impossible for a single man
3D isnt really that much harder than 2D
texting, texting, 123
That is if you don't want to make the rendering system yourself
And the operating system
Computer, pc parts
Molecules
atoms
Making a 3d rendering system is as serious as something can be
no its ez
I added children
this button speaks the language of gods
lmao
how did you turn kids into a virtual GameObject?!

I meant children of objects
how can objects have children
(i understood what you meant btw)
You see
When a Male object and a Female object love eachother
They do the thing
And a child pop out
is that how room generation works?!
BUTTON
wait what
why screenshot doesnt show mouse
it changes color when the mouse is hovering over it
Damn, modern opengl is complex
lol
opengl looks too complicated to me im gonna learn it after school ends for this year lol
Well if I don't want to postpone the learning by 5 weeks I gotta learn it now
I have school or work next 5 weeks
so 3 weeks time to code anything I want
then i have 2 weeks when I'm only able to code work stuff
because I'm not gonna be home those 2 weeks
well good luck, im sure that opengl aint that difficult
also just tested the gameloop in opengl, now i understand why people use it
got to 500k frames in like a few minutes
windows forms has got nothing on opengl in terms of complexity, feels like im learning a new language lol
Windows form isnt meant to be used like your using it
Stop abusing windows form pls
#windowsFormsBestRenderingSystem

i love when my games run at 5 fps

ok then, now i understand why things are so complicated
also just learned about unsafe code in c#(i knew about it before but i never knew what it was), its like im using a whole different language
reminds me of rust because of its random symbols
that feel when you check benchmark for today's changes, and found out that pathfinding performance is improved by x33

2d minecraft
2D Minecraft is now not just a huge memory disaster
added textures loading and unloading
so it doesnt just eat memory
Next: added Minecraft Steve into 2d minecraft
Also why is the title still hello world! 
Hey does anyone here know the equivalent for xrange in python 3 because it's giving me nightmares
so this is why people don't usually sue multiple languages you get them mixed up
Here is the documentation
@north galleon I have about 3 years of experience in Python so if you need help with it just dm me. But please don't dm me to finish beginner problems for you
And still need people to fix ur code

well it was only one bit of code I never even wrote
or well I did technically but didn't have time to make my version actually work
No but I never wrote that yoo
the code was never meant to be used in scale
everything me or maddox have writtrn are working flawlessly and it's like 3-4k lines of code but #🔁map-conversion seems to be the most important one but I never have time yo fix it
I have 2 or 3 entirely new projects for amp planned
but I don't have time to do them the next 5 weeks
I'd really need a laptop to be able to work more but next semester I start a new school and the school has to provide a laptop for me so it'd be a waste to buy laptop now
But yeah I can safely say I'm a noob but everyone is at the beginning and I have been coding actively only the last like 7 months
and mostly in Python but I don't even like python that much anymore
Btw if anyone's intrested in low level hacking stuff I found this guy reasently:
ONLY USE FOR EDUCATIONAL PURPOSES
https://youtube.com/c/PwnFunction
I have list of YouTube channels for ethical hacking topics and all the videos compined from them is like 1k hours or something
well most are pretty bad videos but I like 2 channels in particular
3 to 4k lines of code
i dont believe that
amp seems too small for that
oh i see why the code is shit
its cuz of @fierce epoch
no
no worries nubs i was a nub at the beginning too
why u writin shit code
the actual longest code i ever did was 3k lines long on one file
but
i wasn't using functions
so i was sometimes writing the same shit
to do the same things
so it was more like
1,5k lines or 1,7k lines
stfu shut up nub
i still have the first program i made with C#
in 2015
its shit code
its like 600 lines
that probably can be done in like 100
i didnt know about classes
or methods
u dum anyway
bruh
can u make 2d minecraft ??
with a mainmenu
i guess not
nub
Minecraft 2D 😳
I need to implement emojis
Terraria u mean?
@orchid frigate happy now ?
No
Not enough 2d Minecraft
0/10 would not recommend

Make it more 2D
Tf does that even mwan
Terraria is just not Minecraft 2D
@knotty root don't use that word! It is considered offensive against certain group of people
this obviously a joke between me and my friends
mind not joining ?

I am reading to physics exam about electronical components and about nuclear reactions. All of this is kinda easy ngl
@barren shale 4d Minecraft (with mutli-verses and time travel) when
that's 3d terraria dud
True.
4d chess is something that I never thought could exist
You work more in a day then I work for a fucking week 
Me and my 30 minutes of free time to code are ashamed

Remember when I said I'm learning openGL?
I have been watching a video tutorial on it
I still haven't passed the 10 minute mark
It has been 3 days since I started watching it

@orchid frigate 😳
10D minecraft if you make it with string theory
I'm guessing that adding emojies was fun
Did you add them as images or as real emojies 
Idk I mean maybe opengl has some strange emoji rendering system that lets you use emojies
I couldn't know with my 10 minutes of learning
Fuck it why not 16D
If Microsoft managed to make 4D chess we can make 16D Minecraft
because the maximum number of dimensions the universe can have is 10 or 11 based on string theory
Every good rendering system has emojies
Well then we will make our own theory
Or 26
The "16D Minecraft" Theory
I'm not coder either, I'm programmer
but coders cave sounds way better than programmers cave
progamer
top down infinite world can be damn performance-costly
And why do u think that
well, even when i cut down the entire generation to only camera size, it's still a bunch of calculation 
If Minecraft runs at 60 fps on ur pc
Then whatever ur making should too
Unless its written inefficiently
Is it only generations
Nothing else is running ?
pretty much, generate tiles as player moves, then generate a bunch of objects, while clear out the one offscreen
im finding stuff to cut down on the processing()

yeah, it's pretty much ~60 fps when not moving, but down to ~30 when the player does
It might be the tiles that are getting generated
Having a script
Thats performance costing
Do you chunk tiles
And generate them in chunks ?
yeah, im testing out different ways to cutting down cals.
divide map into cells, generate in chunks, generate individual, etc. 
Generating in chunks is the best
the codes are still pretty rough draft
And make sure to disable all the objects in the chunks that are not getting drawn
I mean all the tiles
And use a sprite pool
And you will be good
It should go like this
Get all chunks nearby --> compare them with old chunks nearby --> if chunk is in oldchunks and not in newchunks then unload chunk else if chunk is in newchunks and isnt in oldchunks then load chunk --> if loaded chunk isnt generated then generate chunk
And when loading a chunk
Get the tiles from a pool
Search for object pooling on google if you want to know what that is
I used this system on an old project
Super fast
isnt it better to generate stuff as you go, for instance you move 5 ints on the x axis so 5 ints forth of stuff generates
or floats
i guess floats makes more sense
i know im amazing at terminology, you dont need to tell me
You have a perfect sense of which terms one should use to clearly relay your point.
More efficient
all i would do is just generate some stuff as far as the eye goes and hope for the best
Instead of checking the distance between the camera and every tile
Which could be thousands
thats why i gave up at 3d game making
You just checj between camera and a chunk
A chunk can have around 300 tile if youre using the normal size of 16x16
So 300 calculations turn into 1
too complicated to code 0/10
Wnna see my chunk.java file ?
no
i cant get opengl to work so im angry af
What language are u using
c#
Maybe try to use something like monogames before jumping into opengl
my #1 most best language of all time
i developed in unity for like
a year and a half
Terraria is made with monogames
unity too easy too boring
Same with stardew valley

i also have to...you know make a game engine after i learn opengl
then make a game
...
yea
i may have to pass the game part to the next generation with this schedule
WHY are you not making a shape damnit
@orchid frigate can isee rhe code
im following a tutorial by danc, and i think i understand the error but i dont know how to fix it
basically there is a shader program that is a string
I dont see any errors
but it doesnt work because there is some sort of an invisible character
What shape should it be drawing


