So you want to learn to program?

Silent_Gunner

Crazy Cool Cyclops
Banned
Joined
Feb 16, 2017
Messages
2,696
Trophies
0
Age
29
XP
4,727
Country
United States
Hey, so now that I've finally conquered being in debt, I have had on the mind the idea of porting IKEMEN to something like the Switch. Specifically, IKEMEN-GO:

https://github.com/Windblade-GR01/Ikemen-GO

Ikemen is essentially a more open source version of MUGEN, with support for things like Netplay and has some of the features that one would expect of a game that uses a controller as opposed to depending on the keyboard to do basic things like pausing the game, changing the resolution, etc..

How hard is performing a port job for someone's first programming project? It seems, as far as I understand, that one of the difficulties of porting a lot of things to the Switch is converting x86-based code to ARM64, or aarch64 as it's also known as. Which might get it working on Ubuntu-L4T, but I take it that more work would be required to get it to HOS proper?
 

FAST6191

Techromancer
OP
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,375
Country
United Kingdom
I would have to go have a look at the code, and probably also go learn what the Switch has to offer.

Porting gets harder when the base code leans into the hardware itself (which you do gain a speed boost for, as well as possible simplification -- for something like a console why write a full control handler that could accept an entire unicode range when the console has a fixed set of controls?) or leans into a library that is not available/has no equivalent or leans into an OS (though that mostly still means library). Similar things if you are converting between languages, especially if they are radically different in scope of what they handle (the web browser we are likely talking through is several dozen steps removed from the code the CPU sees which needs a whole lot more handled)
The baseline code can also be a thing -- ever wondered why many of the lesser PC ports might be fixed framerates rather than "whatever my PC can do"?

At the same time the best first project is one you will see through even if it is theoretically harder than something more commonly seen. You can bite off more than you can chew too however -- there are aspects of programming that loom larger than some others with 3d maths (guess what games use a lot of), security (basically a whole field unto itself, indeed cryptography is but a small part of security and is a field unto itself though you might well be spared that one here), things with established protocols (basic networking is not so bad, inventing your own networking is not going to get you far), some of the real time/low latency stuff (guess what can be useful in games).


To that end I might say first get the project compiled.
After this maybe try making some mods for it. Some might prefer to spend time documenting it.
After this if you want to try isolating parts of the code that would make a port effort harder (if say it has a bunch of assembly code) then rewrite that as a more generalised piece of code (try to keep speed in mind as well) as that will start to give you a taste of what porting will entail (you will probably have to do that a few more times, or maybe go in reverse and take some aspect of the code that needs to run fast and go for assembly to get it down). Assembly code fragments are not the only aspect of that, if it has a single function written to take advantage of some library you might try getting rid of that, or if it is written in a high level language (some helper program maybe) then get rid of that.

At the same time as that if you want to get a compiler setup going for the target of the would be port then you can do that too. Might even spare you from becoming too dependent on say full fat desktop libraries, conventions, lack of resource caps, and programming suites (though smashing a big boy say Windows IDE to accept programming for the Switch will probably teach you a lot).
 

Silent_Gunner

Crazy Cool Cyclops
Banned
Joined
Feb 16, 2017
Messages
2,696
Trophies
0
Age
29
XP
4,727
Country
United States
@FAST6191 Can you or anyone else vouch for how good these ebooks are for getting into programming?

https://www.fanatical.com/en/bundle/c-plus-plus-bundle

I see it along with others that are big deals on learning materials that are otherwise an entire Walmart paycheck, and this store has these (along with a lot of games) on sale for prices that even Steam doesn't usually discount to, and wanted your input.
 

Deleted member 668561

GBAtemp Official Psychonaut
Banned
Joined
Jan 29, 2008
Messages
1,875
Trophies
0
Location
somewhere within 4 dimensional space-time
XP
2,654
Country
United States
@FAST6191 Can you or anyone else vouch for how good these ebooks are for getting into programming?

https://www.fanatical.com/en/bundle/c-plus-plus-bundle

I see it along with others that are big deals on learning materials that are otherwise an entire Walmart paycheck, and this store has these (along with a lot of games) on sale for prices that even Steam doesn't usually discount to, and wanted your input.

I can recommend this book for learning hardware design (software is easier if you know what the hardware is actually doing) it's a college book so it isn't the cheapest but it's well worth it for the info:

url.jpg
 
  • Like
Reactions: Silent_Gunner

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Quincy @ Quincy:
    Usually when such a big title leaks the Temp will be the first to report about it (going off of historical reports here, Pokemon SV being the latest one I can recall seeing pop up here)
  • K3Nv2 @ K3Nv2:
    I still like how a freaking mp3 file hacks webos all that security defeated by text yet again
  • BigOnYa @ BigOnYa:
    They have simulators for everything nowdays, cray cray. How about a sim that shows you playing the Switch.
  • K3Nv2 @ K3Nv2:
    That's called yuzu
    +1
  • BigOnYa @ BigOnYa:
    I want a 120hz 4k tv but crazy how more expensive the 120hz over the 60hz are. Or even more crazy is the price of 8k's.
  • K3Nv2 @ K3Nv2:
    No real point since movies are 30fps
  • BigOnYa @ BigOnYa:
    Not a big movie buff, more of a gamer tbh. And Series X is 120hz 8k ready, but yea only 120hz 4k games out right now, but thinking of in the future.
  • K3Nv2 @ K3Nv2:
    Mostly why you never see TV manufacturers going post 60hz
  • BigOnYa @ BigOnYa:
    I only watch tv when i goto bed, it puts me to sleep, and I have a nas drive filled w my fav shows so i can watch them in order, commercial free. I usually watch Married w Children, or South Park
  • K3Nv2 @ K3Nv2:
    Stremio ruined my need for nas
  • BigOnYa @ BigOnYa:
    I stream from Nas to firestick, one on every tv, and use Kodi. I'm happy w it, plays everything. (I pirate/torrent shows/movies on pc, and put on nas)
  • K3Nv2 @ K3Nv2:
    Kodi repost are still pretty popular
  • BigOnYa @ BigOnYa:
    What the hell is Kodi reposts? what do you mean, or "Wut?" -xdqwerty
  • K3Nv2 @ K3Nv2:
    Google them basically web crawlers to movie sites
  • BigOnYa @ BigOnYa:
    oh you mean the 3rd party apps on Kodi, yea i know what you mean, yea there are still a few cool ones, in fact watched the new planet of the apes movie other night w wifey thru one, was good pic surprisingly, not a cam
  • BigOnYa @ BigOnYa:
    Damn, only $2.06 and free shipping. Gotta cost more for them to ship than $2.06
    +1
  • BigOnYa @ BigOnYa:
    I got my Dad a firestick for Xmas and showed him those 3rd party sites on Kodi, he loves it, all he watches anymore. He said he has got 3 letters from AT&T already about pirating, but he says f them, let them shut my internet off (He wants out of his AT&T contract anyways)
  • K3Nv2 @ K3Nv2:
    That's where stremio comes to play never got a letter about it
  • BigOnYa @ BigOnYa:
    I just use a VPN, even give him my login and password so can use it also, and he refuses, he's funny.
  • BigOnYa @ BigOnYa:
    I had to find and get him an old style flip phone even without text, cause thats what he wanted. No text, no internet, only phone calls. Old, old school.
  • Psionic Roshambo @ Psionic Roshambo:
    @BigOnYa, Lol I bought a new USB card reader thing on AliExpress last month for I think like 87 cents. Free shipping from China... It arrived it works and honestly I don't understand how it was so cheap.
    +1
    Psionic Roshambo @ Psionic Roshambo: @BigOnYa, Lol I bought a new USB card reader thing on AliExpress last month for I think like 87... +1