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
  • Psionic Roshambo @ Psionic Roshambo:
    hmmm 360 even lol
  • Psionic Roshambo @ Psionic Roshambo:
    Well I was getting a discount so 320 is probably right
  • BigOnYa @ BigOnYa:
    That is cheap, I used to pay $100 for a tine.
  • Psionic Roshambo @ Psionic Roshambo:
    Tine? One gram?
  • BigOnYa @ BigOnYa:
    Sixteenth
  • Psionic Roshambo @ Psionic Roshambo:
    Also it was literally out of a kilo when I got it off the boat so absolutely pure
  • Psionic Roshambo @ Psionic Roshambo:
    Holy shiz that's a lot
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I was getting 3.5 Grams for 320 could have stepped on it and doubled my money easy lol
    +1
  • BigOnYa @ BigOnYa:
    I'd be afraid to it nowdays, my heart would explode prob. I just stick beers n buds nowdays.
  • Psionic Roshambo @ Psionic Roshambo:
    I would get to drive from tarpon springs to like Miami a thousand bucks lol do that twice a week and back in 92 that was good money
  • Xdqwerty @ Xdqwerty:
    @BigOnYa,
    @Psionic Roshambo what are you guys talking about?
  • Psionic Roshambo @ Psionic Roshambo:
    Blew it on women and muscle cars lol
    +1
  • BigOnYa @ BigOnYa:
    @Xdqwerty Hamster food, its pricey nowadays to keep PCs running.
    +2
  • Psionic Roshambo @ Psionic Roshambo:
    I don't do anything except cigarettes and gotta stop eventually lol
    +1
  • BigOnYa @ BigOnYa:
    I'd do shrooms again if could find, and I was outside camping/fishing, and had a cooler full of beer.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I wouldn't mind some LSD, laughing until my face hurt sounds fun lol
    +1
  • BigOnYa @ BigOnYa:
    You ever try soaper powder/qauludes? I did once and like a dumbass drank beer on top of taking, I woke up laying in my backyard in the pouring rain, it knocked me out. I have not seen it around in many many years.
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    No never tried a lot of things but never that lol
  • Psionic Roshambo @ Psionic Roshambo:
    I did pass out one time on a floor after taking a bunch of Ambien lol thought it would help me sleep and did it lol
  • Psionic Roshambo @ Psionic Roshambo:
    Girlfriend was working at a pharmacy and stole like 500 of them, was and still is the biggest pill bottle I have ever seen lol
  • K3Nv2 @ K3Nv2:
    Ativan is pretty legit
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    The last time I had to take something to help me sleep, I was prescribed Trazadone it was pretty OK to be honest.
  • Psionic Roshambo @ Psionic Roshambo:
    Not something I need at all these days, doing a lot better lol
    Psionic Roshambo @ Psionic Roshambo: Not something I need at all these days, doing a lot better lol