I Made A ROLE-PLAYING Game in EXCEL! | Devlog
HTML-код
- Опубликовано: 11 сен 2024
- In this indie devlog I made a role-playing game entirely built and run in Microsoft Excel using Microsoft add-ins and JavaScript. You can choose from 3 classes; Wizard, Knight, and Archer! Let me know in the comments if you'd like a tutorial on how to make your own video game in Microsoft Excel! Leave a comment on what Microsoft Suite App I should make a game in next! Source code can be found on my Patreon!
#devlog #microsoft #excel #gamedev
Patreon: / setheric
Discord: / discord
Twitter: / setheric_
Just found your channel and your videos are amazing! I'm actually shocked the algorithm hasn't picked up your videos yet. Super engaging, pacing of jokes was great and made it so fun to watch, you didn't waste my time with useless talking. Maybe it's because you didn't hit the 10 minute mark on the video haha. PLEASE keep making videos, you're already in my top 10 RUclips channels.
Thank you so much! :)
I think it has just picked him up just now!
Exactly!
@@Unpug it has finally noticed
Took the words right out of my mouth, this guy deserves so much more recognition!
Now make a stealth game called Splinter CELL("game", A1)
Don't tempt me lol
Lmao best joke I ever heard
Good one 🤣
there's actually a cellphone game called splinter cell, also a stealth game hahaha
@@wohoi It's actually a PC, PS, and Xbox game series.. but ok.
This reminds me of when I was so bored in statistics, b/c I already knew everything, that I spent my time in class building an RPG using just my ti-84. When I tell you it took me over a MONTH to code the name entry system! It's almost like it wasn't made to make games or smthn. I made a surprising amount of progress, but sadly it got wiped from my calculator when I forgot to protect it before my SAT. I cried when I got home that day and it wasn't because of the test lol. Maybe I should start it up again for fun.
That’s awesome! I’ve heard a lot of similar stories from other commenters!
Please do it again and make a video out of your project. Will watch it
The last thing I expected to see today was an RPG made on Excel 😂
Looks rad great job!
Thank you so much!
Even with the title "I Made A ROLE-PLAYING Game in EXCEL! | Devlog"?
Honestly, that's on you.
If you want some unsolicited code review, instead of having 300 lines of code to draw a character, store the color of each pixel in a 2d array. Then you can iterate through the array, add the characters location offset to the array location, the draw that color value to that location. You'd have an array declaration at the top of the file and then a double for loop. Then you can edit the sprite by just changing the array. For bonus points, use a hash map so that you can store the colors in the array as a single character, then the array will look like the sprite, sort of.
Yes.
Iterating through arrays is slower though.
The chair break...🤣
I'm glad you enjoy my suffering XD
Man says he is here for the pain and then uses JS instead of VBA. This is the content I am here for. Good stuff.
Do you even really hate yourself if you don't code only in Whitespace?
@@IndigoGollum You could of course code in the hardware, although it makes debugging costly.
2:26 represent the sprites with 2D arrays of color values, then create a method to draw the arrays
Yeah but that would make too much sense 😂
@@SethEric You could use Tiled to make the CSV file than make your array
@@SethEric Next step: don't clear the entire screen, look at the difference between old and new positions, calculate the pixels that are no longer occluded by a character and redraw the background only for them. (I know very complicated, but no flicker)
Hey with the drawing normally any graphics engine has the partial drawn canvas problem, the solution in most case is to have two canvases, and swap between them as one finishing drawing. Maybe you could emulate this behaviour by having a different tab in excel and swap between them as the next frame finishes drawing?
This is interesting! Haven’t thought of that!
@@SethEric It is simpler. Draw new frame in Temp canvas. Then copy it on to View canvas (so you never clear View). With this you only somitemes see a line between old frame and new frame
I saw you on reddit and said "This looks pretty cool"
And BOOOY I wasn't wrong
Watching this feels like I looked up help for my algebra homework and found calculus physics extreme
Lol thank you!
That’s actually pretty awesome,
Coolest thing I’ve seen all day.
Thank you so much!
Really cool!
Maybe a silly remark, since it seems kinda obvious - but why the white flickering?
It seems a bit like you first reset the cell back to the background color (white), and then you repaint the entire wizard or something. Technically doing two draws per cell per wizard repaint.
Especially when you pause the video, you can see the wizard is interlaced with white vertical lines, which shouldn't be necessary, and probably cause the laggy looking effect
I'd think you can solve this by not resetting to white first, but doing a diff and only repaint the cells with the colors that need to change
A lot of the cells neighboring cells are already the correct color, and only the edges seem to need redrawing - if that makes any sense
I thought about this as well, I had messed around with it a bit but it started to get too in depth for a short video. I’m sure there’s a great solution, I just didn’t take the time to figure it out.
the vba code for anti flickering is application.screen update false then write your code and then update screen to true. at least it worked for me.Schau dir "Excel Game// a land goo's crazzy" auf RUclips an
ruclips.net/video/4mVvstwaAgc/видео.html
Adding to that note about checking the difference- If you add a sheet where you can draw in your character or even a tile set for the character, you could paint it in like the enemy and reference the space around your character sheet root pixel instead of having so many lines of code. You could even just check a bounding box and ignore any pixels with a certain color value so it doesnt appear as a box in game. I'm not sure how referencing the sheet data would work from VSCode but I would guess you're doing plenty of that in other areas.
What the fuck...
For the first time RUclips algorithms work and suggest good videos
Awesome! This reminds me of when my buddies and I used to make animations and games on our Ti-83 Plus calculators in high school.
That’s awesome!
Same! The TI-83 was the first thing I ever really programmed. I got a C in calculus because I was programming an RPG instead of paying attention.
-what game engine do you know?
-EXCEL 🔥🔥🔥
I think what you could have done with the characters is make the characters on a hidden spreadsheet inside excel by hand (instead of writing code for every pixel), then access that spreadsheet and copy the cells over to your main sheet. I'm not sure which excel API you're using, but most should support this. Since it's 1 call, it should probably also be faster maybe?
You said you tried a lot of things, so I'm not sure if you already thought of this way and it didn't work out maybe, but I wanted to bring it up nonetheless.
That's what I thought of doing, but in the basic VBA editor you can't copy more than one range at a time.
love it, for me who stuck a lot boring time in excel, this feel good
And just when I thought I had seen all that Excel can do... this video pops up. Absolute madlad.
"This method of doing things is actually pretty scalable"
It’s insane you don’t have more subs yet. You’re great man.
Thank you so much!
should've coded a pixel art editor for the pixels. in excel. and coded that in a custom coding language made in excel. which you made using a calculator. that you built yourself.
but seriously: this is too underrated! keep it up!
Funny this is I had actually thought about making a pixel art editor to streamline the process lol
how you can have under 1k subs but your content is god tier
Thank you so much!
I love this video. It's a perfect example of someone creating something for the pure joy of it. ❤
This is why I don't worry about people feeling meaningless once AI can do our jobs. There's so much creativity within each of us. When we don't have to worry about doing the work required to meet the needs of our bodies, we have all the time to do the work that satisfies the needs of our souls. We'll work on what makes us happy. 😊❤
Yes, we still need to figure out how to make a living. I'm not that naive as to think that will be an easy problem to solve. Still, I believe that's an easier problem than figuring out how to make people feel meaningful.
Thank you so much! Awesome perspective :)
We shouldn't need to have to make a living once we are at the point that there are almost no jobs because of AI.
Don't know how did u do it. I've seen the whole video and I had fun. Subscribed to SethEric
Thank you so much!
LOL when you said you had to change webpack to get the popup to working i totally felt you, webpack is an enigma to me LOL
Not what I was expecting to see today lol... great work!
Thank you! Haha
Never think excel can do this, so cool! keep up the good work!
Thank you so much!
i was just thinking about a game in excel and this guy made one one. Wow!
Bro that's awesome, never knew excel was so powerful
This man must go viral
I hope!
This is absolutely amazing. I could only imagining making and ideal clicker game in excel. To make this they should be paying you for marketing the shear breath this program can go. Absolutely amazing
Thank you!! Sponsor me Microsoft lol
How much underrated you are?
*Yes*
Hahaha thank you!
Hey, ya know google sheets has a Node.Js api. I've used there C# api to create global leaderboards for school projects before. Meaning that you could technically, have multiple clients upload or download values to a google sheet. Which means you could probably figure out some simple multiplayer mechanics with that. Would love to see that being used in a project. Great job btw!
Interesting! I’ll have to check it out!
I tried hard to make a pathfinding feature to make a single chase another single cell running. But you have made a literally fine demo game.
What in the world....?
4:20 I see what you did there mister
Hehehe
He took "I know Excel" on his resume to a whole other level.
This si incredible
You can actually load the character as sprite and loop trough pixels ignoring transparent pixels and using position relative to center pixel.
That sounds super useful! Any more info on how to use that using the API shown in the video?
@SethEric If you want anwser, you gotta ping this guy, youtube comment section is trash...
@Jakub Dóka
I am impressed that you can make a video game in Excel
Thank you!
instead of clearing the viewport, add a second hidden viewport where you actually draw stuff than copy the fully drawn viewport to the new one.
even if you copy pixel by pixel the similarities between frames will make it look significantly less flickery.
this is what framebuffers are, and that explanation is a rudimentary implementation of a back-buffer.
damnit, I've been working on a RPG in Excel for 6 months now and just learned you beat me to it!! I'm only using VBA though.
Tough task seems so, but definitely possible. Nice job!
the home depot edit fucking killllllled it ahah
Hahaha definitely my favorite part
@@SethEric ur channel is about to blow the fuck up. Stick with it!! Pretty soon you won't have time to reply and like everyone's comments :)
@@zaqarius thank you!! And I’ll always try my best!
What this game needs is those walking tree guys from LotR.
You know... Excel-Ents.
That'll be in DLC ;)
you 100% deserve more subs
Thank you!!
I once made a rogue like in excel. Youre inspiring me to keep developing it
You should! That’s awesome!
Nice man! hope too see what you have more in the future!
Thank you!!
I love this, but I hope my students never find out about it
hahaha thank you!
Interesting approach. I will have to look into how you actually were doing this as I did not know it was possible to use JavaScript in Excel. A friend sent me your video as I made a quasi-roguelike in Excel but I did it all via userforms and VBA. (Unfortunately, no way to really get animation other than "jumping" from one location to the next unless you have a really powerful computer.) However, creating tables in the Excel sheets and using lookups, I was able to get all the data to create levels at runtime in the userform. I also coded it in with multiple difficulties so you could see the whole map, only just a small area around you, or where it mimicked fog of war and stayed visible after you walked past a section.
That sounds super cool! I was able to use Javascript with Microsoft add-ins. More so using Excel as a canvas
Damn
didnt expect that!!
what a madlad, you're a beast mate. subscribed.
Thank you so much!
This reminds me of a time I tried to make a text based aventeure using folders and paint JPGs in middle school. I couldn't get very far because of winXP character limits in the directory bar though :/
I used to do the same thing with powerpoints lol
Dude this man is insane
Somewhat tell me this could be the future..
But I'm imagining he was using VBS inside Excel to run all the logic and number. In fact, if game engine design to be somewhat like this, should be fun to assign logic to each cell, while having sprite support natively.
Interesting idea!
This is my kind of content, thank you so much.
Thank you!
you can ask Excel to stop the screen update while the code is manipulating the character for the next position using Application.ScreenUpdating = False and turning on again when finished, to stop the drafting effect
Interesting! I’ll have to see if add-ins have a similar function
I use Excel to simulate elections for my worldbuilding projects. Gotta be my favorite IDE. :D
Good job bro! Really nice content!
Bruh You are a genius you deserve more views and more subs
Thank you so much!
cool I wanna play this at office
First of all, underrated channel and content and dude the game is sick!!!! Btw you could have made the whole game in the popups maybe? It might have been maybe easier idk never tried js. Great content dude you deserve a sub!!
Thank you! And yes but that would’ve been too easy lol
@@SethEric True lol and maybe you can someday try out VBA too
an approach to avoiding issues with flickering would be to calculate the diff from one frame to the next rather than clearing the previous frame. so you'd iterate over all the pixels in your old frame and new frame.
if its a pixel in the old frame but not the new frame, clear it.
if it's a pixel in the new frame but not the old frame OR both frames but the color changed, draw the new color .
if it's a pixel in both frames but the color didn't change, do nothing.
that way you dont get any intermediate colors and also avoid unnecessary draw calls
Definitely a more elegant solution!
If he writes Excel in his CV, he means it
“Extensive experience”
That's really impressive, wtf
Thank you!!
The world's first ERPG :-O (Excel Role Playing Game)
I like it!
ERPG, has a different meaning
ERPG, has a different meaning
The real impressive thing of this vid is how you did not fall when the chair broke
Buddy bro lol good work
you have great potential!!!
Thank you so much!
Fun fact: used one of the character you used from google for my game aswell
very cool! I actually found these characters on the unity asset store!
@@SethEric yea idk if it was google or asset store
So Underated.🔥
Teach me your ways oh great master
Heads up:
in excel, while using the built-in vba macros,
You can speed up the code/formatting by about 20x's by turning off screen rendering while making updates.
That means:
Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual //you may have to use whatever number is represented instead of xlmanual...
// ... make updates ...
Application.Calculation = xlCalculationAutomatic // you would need the number that represents "xl calc automatic"
Application.EnableEvents = True
Application.ScreenUpdating = True
Recommend trying out the js version of those statements and giving it another go -- you may find your game quite playable!
Thank you! I’ll have to check it out!
Nice idea. It looks like an old game with graphics issues. I like it. 👍
Thank you so much!
Your a legend by doing this
Thank you haha
At first I felt sad that I probably wouldn't ever be able to create sth like this, but then you had to modify a Webpack config which is my bread and butter. I'm fine now. lol
This feels like it's going to be a viral video at some point. Awesome work, idk how you can stand developing in microsoft products though xD
Thank you so much! It's a struggle lol
Absolutely incredible
Thank you!!
Seth, this is crazy good
Thank you haha
I love videos like this
I'm glad!
Interesting. I never knew Javascript could be used with Excel like that.
I was surprised too!
@@SethEric That's a brilliant game engine that you built there. I'm actually really impressed. I haven't seen anything this enthusiastic in a long time. Keep up the good work.
@@CodemasterJamal I appreciate the kind words!
So awesome, framebuffers in excel 😆
so ur telling me that I can play this game in EVE?
the fact that the video is 4:20 is impressive lol
I'm glad you noticed lol
How the fuck do you only have 700 subscribers? After watching the video i expected to see a couple hundred thousand.
Hopefully soon! Haha
@@SethEric Most likely, yeah.
Am I the only person who's mind immediately went to noita when I saw the thumbnail
you really ***excelled***
I like it lol
Milky video my dude!
2:10 is funny
This is so very cool!!
Thank you!!
What a fukin legend
Thank you!!
@@SethEric dude I have started coding myself and now that I know how much work actually goes into it, my head starts spinning when I think of what you must have gone thru. Much respect
@@jirkastastny9400 That's awesome! Good luck on your coding adventures!
man, u r insane
As a surgeon named Ryan Reynolds once said... "But Whyyyyyyy?"
Cuz he can
because if I don't who will?
4:20, nice
Yessir
Realm of the Mid God
How is the editing so good!
Thank you so much!
comment for the algorithm, vid was funny af kekw
Thank you!!
Y'know, you could reduce some of those identical lines of code by putting them in arrays and looping through them. I'm what you might call a vbscript expert
🤣
This is crazy