• Welcome to SquidBoards, the largest forum dedicated to Splatoon! Over 25,000 Splatoon fans from around the world have come to discuss this fantastic game with over 250,000 posts!

    Start on your journey in the Splatoon community!

Programming - Games (Think Archo V Games)

jeffthesquid

Senior Squid
Joined
Feb 18, 2024
Messages
62
Location
Inkopolis but commute to Splatsville
Pronouns
jeff/jeffs
No, I mean it this is a thread about programming games in general. I feel that it could be themed with programming at Archo V games. So as I mentioned somewhere I have never played Splatoon 2 - only Splatoon 3. I only know of Archo V from reading some of the Inkapedia and browsing the web. I fell in love with the studio because I reminds me of an office I worked in when I was younger. I haven't programmed a game since I was 20 but I just got back into it today and I'll keep this thread open to share.

-o-o-o-o-o-o-o-o-o- Lore Time -o-o-o-o-o-o-o-o-

So in this story I'm Jeff the Squid and I work at Archo V Games. Right here:

1708312733159.png


Yes, I brought my charger to it. Hopefully, I don't get into turf war here! Yes, that is my desk. I am a fan of the Squid Sisters? I guess... I never seen them sing. Not really familiar with them. Ok, but back to the story. So it's time to write some code - that is after I get a coffee.

1708314163034.png


So I got my coffee. Not bad for coffee on the plaza. I think I'll get getting another coffee every morning before I start work. Ok, ok, let's stop procrastinating and turn on our computer.

1708314788711.png

Well, let's start coding... but first I need some ideas. What should I code?
 

jeffthesquid

Senior Squid
Joined
Feb 18, 2024
Messages
62
Location
Inkopolis but commute to Splatsville
Pronouns
jeff/jeffs
So my boss told me to stop being ridiculous and wash my hair from all that ink as well as get the dirt out of my eyes. So I took a shower. He also wants me to return the charger back to the Octoling I stole it from.
1708569494534.png

"Yes, Mr. Jelly. I took a shower and returned the equipment back to the Octoling as you asked me."

"Good. I need you to code your next project in Python.", commands the jelly.

"No way, dude! JavaScript is the only language I ever want to code in. You're not changing my mind!", responds Jeff.

"Well, you can look for a new job is you keep acting like this.", explains the jelly.

"Dude! You totally want me around. I'm like best programmer on the team. You know that you want last even a few days without me on the team!", explains Jeff.

"Ok, take out your laptop. We're going to do a little pair programming.", commands the jelly.
1708570018877.png

"Wait, almost forgot my goggles.", says Jeff.
1708570297316.png

"Why do you need goggles, Jeff. Doesn't make any sense to program with them?", comments the jelly.

"Goggles protect my eyes from the radiation emitted by the laptop.", explains Jeff.

"Really... ok... let's start learning some Python.", says the jelly.

"No way! Python sucks! Why do we have to do this carp. Can't you teach me something related to JavaScript or maybe we can use a JavaScript to Python compiler. I mean I don't want to write anything in Python.", screams Jeff.

"Jeff... Jeff... just listen. The sooner we get through this the sooner you can code.", explains the jelly.

"Man, this blows...", comments Jeff.
 
Last edited:

jeffthesquid

Senior Squid
Joined
Feb 18, 2024
Messages
62
Location
Inkopolis but commute to Splatsville
Pronouns
jeff/jeffs
"So let's see what you have now that I have taught you some Python. You should have a rather simple game which we can use as a basis for a new game.", says the jelly.
1708730775073.png

"Oh, it looks like you took a picture of yourself yesterday when we were playing basketball. And you put yourself in a cape? Can you explain this game?", asks the jelly.

"Yeah, so it's Super Mario World with me in it and I capture some blue jays. It's like an areal fight between me and birds.", answers Jeff.

"Well, we can use that. It may even sell better than our Squid Jump. We haven't released a new game in years and this looks like it could be the start of a new wave of games.", comments the jelly.

"I agree and it was so awesome programming this in JavaScript. I'm never programming in any other language again.", remarks Jeff.

"No, I said Python. We're trying to target the Squid Circuit. It's is very small and fits in the palm of your hand. I doubt JavaScript will work on it.", informs the jelly.

1708731069753.jpeg

"Dude! You can eat my shorts! I'm going JavaScript all the way. You need to create some kind of communication layer for JavaScript and Python.", remarks Jeff.
 

jeffthesquid

Senior Squid
Joined
Feb 18, 2024
Messages
62
Location
Inkopolis but commute to Splatsville
Pronouns
jeff/jeffs
"So let's see the code.", commands the jelly.
1708732083051.png

"Ok, ok. So you're testing to see if you're in the air. Ok, you're tracking each bird... wait something feels off here... why are you passing in 0.25 to swoop()? I thought we use only whole numbers for movement. What's with the floating point?", asks the jelly.

"Dude, what planet are you on? We're moving with subpixels, not actual pixels!", screams Jeff.

"Subpixels... what the heck is that?", asks the jelly.

"Basically, you add up fractional parts of a pixel until you get a pixel value. You can only move pixel by pixel on the screen.", explains Jeff.

"You're saying we only move one pixel at a time and the subpixels will decide how often we move?", asks the jelly.

"Yes, if you move more than one pixel at a time you'll get jittering animations. That's why our Squid Jump animates so smoothly. You don't ever want to skip pixels - only move one pixels at a time and use the subpixel values to determine how often to move. For example, if you move 0.25 pixels per frame when you are running at 60 frames per second your character will move every 15 frames. 60 x 0.25 = 15. You will never have any animation problems and collisions will never overlap.", explains Jeff.

"Hmm... very interesting... but we don't want overlapping collisions? The common method is to allow a character to got a bit into a wall, detect the intrusion, and back the character out of the wall.", replies the jelly.

"No, that's just stupid. You first check to see what is around the character and then set flags allowing the character to move or not. Man, you need to go back to school.", explains Jeff.
 
Last edited:

jeffthesquid

Senior Squid
Joined
Feb 18, 2024
Messages
62
Location
Inkopolis but commute to Splatsville
Pronouns
jeff/jeffs
"Ok, smarty pants! Show me your character's class definition.", commands the jelly.
1708739073919.png

"Oh, I see. So you check for collisions before you move then you process the statuses looking at flags to see what direction you can move in. Very genius!", remarks the jelly.

"Yeah, that's why you want to have me around. Without Jeff Archo V Games would be pure awesomeness!", adds Jeff.

"Sure... hmm... there's an animation engine. You never told me about this. Do you have a working program for animate?", asks the jelly.

"Yes, it's here.", shows Jeff.

"Wait! Something does not make sense here. I understand there needs to be a this pointer. Where in the carp is that? jeff.drawPicture() makes no sense.", asks the jelly.

"Well, we're using the Super Jeff World gaming engine.", answers Jeff.

"I had no idea you wrote the engine for the game. Why didn't you use the Archo V Gaming library.", asks the jelly.

"Because Archo V is written in Python and it blows. We need to convert all that carp the JavaScript.", scream Jeff.

"Ok... why are you naming every piece of code after yourself?", asks the jelly.

"Because I am Jeff. I'm here! Get used to it!", answers Jeff.

"Well, that's Jeff'd up!", laughs the jelly.

The two programmers pause and Jeff isn't too happy with his name used in vain.

"Jeff, chill out! I want you to show me your animation code.", commands the jelly.
1708740577359.png

"Oh, very nicely written. It is genius but how are you using getAnimationPic() inside your Jeff class. Does sprite inherit from Animation?", asks the jelly.

"Not really, you see I so love JavaScript so much that I hacked the bejesus out of it and allowed for multiple inheritance plus I made the variable "jeff" override "this". Basically, it compiles into native JavaScript using the JeffScript.", answers Jeff.

"So we're using JeffScript?", asks the Jelly.

"Yes, we're going on Jeff here.", chuckles Jeff.

"Oh boy...", sighs the jelly.
 
Last edited:

Users who are viewing this thread

Top Bottom