# Any programmers out there?



## KimberVaile (Sep 23, 2017)

Heya folks, any of you fine furs out there proficient in programming? I myself do some coding in C++ (still learning) and had done some coding in Java (I coded my first turn based rpg in java). I was wondering if any of ya folks liked programming game engines and the like! Nothing terrible complex, just turn based stuff, simple sprite based scrollers ect. I was hoping maybe one of y'all might be interested in collaborating with me on that or sharing ideas on what interests you in terms of game mechanics.

This isn't exactly a wanted ad per say, but if you enjoy game programming and experimentation, please do send me a personal message! I've got some free time and would love to spend that on a little programming project!


----------



## redhusky (Sep 23, 2017)

IDK Are there!? I used to do Maya and Maxscript for plugins but that was forever ago. But I've always done flash stuff. All of my work has been in HTML5 via Construct 2 but I'm looking to try out Godot. Oh and Unreal when I was in college.


----------



## redhusky (Sep 23, 2017)

Also, one side business I am getting ready to get started is to take author's stories and make them into COYA and Dating Sims. Here's a tech demo I worked out not so recently but I finally found out how to get it hosted online via github. I know itch.io let's me host HTML5 projects but I don't feel right putting it up there since it's a storefront. 
theflyingnest.github.io: CYOA Template Engine

This demo is more to show that I can make very large forks without a problem.


----------



## redhusky (Sep 23, 2017)

KimberVaile said:


> Heya folks, any of you fine furs out there proficient in programming? I myself do some coding in C++ (still learning) and had done some coding in Java (I coded my first turn based rpg in java). I was wondering if any of ya folks liked programming game engines and the like! Nothing terrible complex, just turn based stuff, simple sprite based scrollers ect. I was hoping maybe one of y'all might be interested in collaborating with me on that or sharing ideas on what interests you in terms of game mechanics.
> 
> This isn't exactly a wanted ad per say, but if you enjoy game programming and experimentation, please do send me a personal message! I've got some free time and would love to spend that on a little programming project!



What are you working on atm?


----------



## KimberVaile (Sep 23, 2017)

redhusky said:


> Also, one side business I am getting ready to get started is to take author's stories and make them into COYA and Dating Sims. Here's a tech demo I worked out not so recently but I finally found out how to get it hosted online via github. I know itch.io let's me host HTML5 projects but I don't feel right putting it up there since it's a storefront.
> theflyingnest.github.io: CYOA Template Engine
> 
> This demo is more to show that I can make very large forks without a problem.





redhusky said:


> What are you working on atm?



Right now? Trying to work on a prototype engine for a side scroller combat game in the vein of Golden Axe. Though it's new territory, so it's proving slow. It's in C++ though. I've not worked with html5 projects before, that'd be new territory for me. I get the impression it is similar to flash though.


----------



## redhusky (Sep 23, 2017)

KimberVaile said:


> Right now? Trying to work on a prototype engine for a side scroller combat game in the vein of Golden Axe. Though it's new territory, so it's proving slow. It's in C++ though. I've not worked with html5 projects before, that'd be new territory for me. I get the impression it is similar to flash though.


Fancy!~ I've been considering a beat-em-up too when I get to another project. I've got too many things to finish atm to start up another one. X3

HTML5 replaces/substitutes flash. But if you know one it's not too hard to know the other.


----------



## RakshaTheCat (Sep 24, 2017)

O hey, I missed that thread somehow. Did you consider using ready made engine as a base, like unity or something similar? Usually its much faster to get something playable :3


----------



## jayhusky (Sep 25, 2017)

Building on Raksha's post, using prebuilt engines is the better way to go unless you want to spend all that time worrying about memory management and other little things.

But answering original question, I'm a reasonable coder, I've worked in most web forms (PHP, HTML, CSS JavaScript, SQL and more (seriously too many to list in one go) as well as .NET, C#, C++, Batch and a small amount of Java.
Here is a link to my GitHub, just a small offering of things I've worked on jaysonhusky / Repositories · GitHub


----------



## redhusky (Sep 25, 2017)

I just figured out ALL ON MY OWN WITHOUT HELP FROM ANYONE how to host my HTML5 projects on GitHub. I have two example test projects up now:
CYOA - theflyingnest.github.io: CYOA Template Engine
Dating Sim - theflyingnest.github.io: DatingSimExample


----------



## KimberVaile (Sep 25, 2017)

I believe in creating your own game engines when doable. Using a prebuilt engine reduces the unique qualities of your game with specific engine quirks and behaviors, which leads to your game in turn, becoming less unique.


----------



## redhusky (Sep 25, 2017)

KimberVaile said:


> I believe in creating your own game engines when doable. Using a prebuilt engine reduces the unique qualities of your game with specific engine quirks and behaviors, which leads to your game in turn, becoming less unique.


It varies for me. Whatever gets the job done the fastest and cuts out the most middle men as possible.


----------



## RakshaTheCat (Sep 25, 2017)

KimberVaile said:


> Using a prebuilt engine reduces the unique qualities of your game with specific engine quirks and behaviors, which leads to your game in turn, becoming less unique.


Hmm, interesting, could you provide an example? I believe it could be a case with unity in some rare circumstances, since you don't get source code so cant customize everything, but simple things like sidescroller will look and play exactly the same regardless of whats used to make them.


----------



## KimberVaile (Sep 25, 2017)

16 bit games vs modern side scrollers. There was a lot less uniformity in game engine choice, hence you had more side scrollers that had it's weird little quirks.  Compare battletoads to something like streets of rage. Same premise, different gameplay. Some of it is the engine in my opinion.


----------



## RakshaTheCat (Sep 26, 2017)

Hmm, I had quick look at both of those titles and cant find anything that couldn't be recreated on engines like unity or unreal, since neither really dictates gameplay. Unless you have in mind more specialized kind of engines, like something specifically made to handle sidescrollers? I don't know that kind at all though, since these would be too limiting for my taste.

As an example, silly little game we made for gamejam that was supposed to look like those old 16 bit things, made in unity:
megadrivesonic.itch.io: Fish Kiss by MD CyberBat


----------



## EmpressCiela (Sep 26, 2017)

I'm a programmer, but I'm still a noob when it comes to experience. I just finished learning Batch and SQL (kinda).


----------



## Eleven-lyc (Oct 10, 2017)

Programmer by trade here! Learnt my first language myself back when I was in college, and haven't stopped since. My language of choice would be C# and the .NET platform, but I know many others. I have a fondness for PHP, too.
I created a few command-line-based games way back, many of them card and casino games like Blackjack and such. I was never into graphics, so that element of them was always really simple and crude; it was the logic I was more interested in. I think I have some extensive designs lying around somewhere for a game of Canasta that I never ended up implementing… I've also created a few weird things in the past when experimenting with other APIs, such as making a web browser bounce around the screen using JavaScript.
In slightly more recent years I've looked into game design, though this was a while ago now. Very interesting, and made me see just how much of a mess some of my old stuff was!
C++, you say? Entirely C++? What APIs are you using for it?
If I were working on a game for fun I'd be inclined to go for building my own engine too; for me part of the fun is building something that's yours, rather than the end product. It also yields a greater understanding of the various problems and solutions to game development, which relying on someone else's ready-made solution wouldn't give.


AkuroZinnui said:


> 127.0.0.1 sweet 127.0.0.1


*Adds to list of things to say all the time*


----------



## Telnac (Oct 14, 2017)

I taught myself programming 30 years ago and have been a professional game programmer for 20 years now.  

I joke that C++ is my native language, but I speak some broken English.  

I've done some engine programming, but I'm not terribly fond of it.  I wrote a small game engine back in college using OpenGL for the old SPARCstations and I've written a sound engine from scratch for the original PlayStation.  More recently, I've dabbled with creating a basic deferred rendering pipeline using DirectX 12 but I never fleshed that out to be a full game engine.  Most of my experience has been in gameplay or AI.  Those who are good at optimizing rendering pipelines are worth their weight in gold, but I'd rather work on making the game fun than making the game pretty.


----------



## KimberVaile (Oct 14, 2017)

Eleven-lyc said:


> Programmer by trade here! Learnt my first language myself back when I was in college, and haven't stopped since. My language of choice would be C# and the .NET platform, but I know many others. I have a fondness for PHP, too.
> I created a few command-line-based games way back, many of them card and casino games like Blackjack and such. I was never into graphics, so that element of them was always really simple and crude; it was the logic I was more interested in. I think I have some extensive designs lying around somewhere for a game of Canasta that I never ended up implementing… I've also created a few weird things in the past when experimenting with other APIs, such as making a web browser bounce around the screen using JavaScript.
> In slightly more recent years I've looked into game design, though this was a while ago now. Very interesting, and made me see just how much of a mess some of my old stuff was!
> C++, you say? Entirely C++? What APIs are you using for it?
> ...



I started with Java, then moved to C++ and started some experimentation. I actually don't use any APIs, the standard functions of the base C++ suffice, at least I feel like they do. Comparatively I've only recently begun programming , so you're experience is leagues greater than mine, most of what I've learned from programming is from text books  I started by making a turn based game engine, now I'm trying to include sprites and the like. Glad to see other programmers lurking about!


----------



## KimberVaile (Oct 14, 2017)

Telnac said:


> I taught myself programming 30 years ago and have been a professional game programmer for 20 years now.
> 
> I joke that C++ is my native language, but I speak some broken English.
> 
> I've done some engine programming, but I'm not terribly fond of it.  I wrote a small game engine back in college using OpenGL for the old SPARCstations and I've written a sound engine from scratch for the original PlayStation.  More recently, I've dabbled with creating a basic deferred rendering pipeline using DirectX 12 but I never fleshed that out to be a full game engine.  Most of my experience has been in gameplay or AI.  Those who are good at optimizing rendering pipelines are worth their weight in gold, but I'd rather work on making the game fun than making the game pretty.



That's quite a track record, well done!


----------



## Telnac (Oct 14, 2017)

KimberVaile said:


> That's quite a track record, well done!


Thanks!  If game engine programming is something you want to get into as a career, make sure you know what you're getting yourself into.  Yeah, you can make plenty of money (especially if you get into AAA console development) but long hours for months at a time are the norm, not the exception.  Game programming has to be a labor of love.  You can make more money working far less hours as an embedded systems engineer somewhere than you can making games.  The work may not make your former high school classmates jealous but you're far more likely to live in a nice house & drive a nice car and still make it home in time for dinner.


----------



## Telnac (Oct 14, 2017)

KimberVaile said:


> I started with Java, then moved to C++ and started some experimentation. I actually don't use any APIs, the standard functions of the base C++ suffice, at least I feel like they do. Comparatively I've only recently begun programming , so you're experience is leagues greater than mine, most of what I've learned from programming is from text books  I started by making a turn based game engine, now I'm trying to include sprites and the like. Glad to see other programmers lurking about!



If you're rendering sprites, you're using more than the base C++ libraries.  Anything involving direct access to hardware is going to use an API, and that includes both graphics and sound.  Which book are you learning from?  It should say somewhere if you're using OpenGL or DirectX or some custom API for the rendering pipeline.


----------



## KimberVaile (Oct 14, 2017)

Telnac said:


> If you're rendering sprites, you're using more than the base C++ libraries.  Anything involving direct access to hardware is going to use an API, and that includes both graphics and sound.  Which book are you learning from?  It should say somewhere if you're using OpenGL or DirectX or some custom API for the rendering pipeline.


Deitel How to Program 9nth edition. Also, I'm still using the base API because I still haven't wrapped my head around how to render sprites, I'm essentially waving arms about in a void trying to grab a hold of something.


----------



## Saiko (Oct 14, 2017)

I'm a grad student in computer engineering and research software that designs hardware. Most of my code as of late has prototyped stuff from graph theory and linear algebra, mostly in Python so far but a little Verilog too. At some point I'll probably need to start using C++ with Boost, but I'm putting that off as long as possible lol.


----------



## Telnac (Oct 14, 2017)

KimberVaile said:


> Deitel How to Program 9nth edition. Also, I'm still using the base API because I still haven't wrapped my head around how to render sprites, I'm essentially waving arms about in a void trying to grab a hold of something.


Ah!  OK, so you're learning C++ and Object Oriented Programming.  I thought you were well along in writing your own game engine, which assumes you've already mastered the basics of C++.  

I used to teach an introduction to programming & several game programming courses so you get stuck feel free to message me.  I can probably give you some advice.  I can't find any information online about what that book teaches regarding rendering, but if I had to guess they'd more likely use a wrapper API like Panda3D rather than diving directly into OpenGL or DirectX (which would require a separate textbook just for that!)


----------



## KimberVaile (Oct 14, 2017)

Telnac said:


> Ah!  OK, so you're learning C++ and Object Oriented Programming.  I thought you were well along in writing your own game engine, which assumes you've already mastered the basics of C++.
> 
> I used to teach an introduction to programming & several game programming courses so you get stuck feel free to message me.  I can probably give you some advice.  I can't find any information online about what that book teaches regarding rendering, but if I had to guess they'd more likely use a wrapper API like Panda3D rather than diving directly into OpenGL or DirectX (which would require a separate textbook just for that!)



Yes, people had the impression I was knee deep in developing a sprite based engine, which I was not. I made a text game engine in Java once, and that's the extent of it, I've been trying to learn how to make my own sprite based engine, and I've obviously been hung up on that. Thanks for the offer, I'll try to keep that in mind, seeing as it's only gonna get harder from here, hah.


----------



## Eleven-lyc (Oct 14, 2017)

Aye, I'm largely the same; most of what I know comes from books, API documentation, and my own experiments.





KimberVaile said:


> Also, I'm still using the base API because I still haven't wrapped my head around how to render sprites, I'm essentially waving arms about in a void trying to grab a hold of something.


Yeah, you'll need a graphics library for that! Something that'll give an API for drawing stuff. I haven't used DirectX or OpenGL, but I can recommend SDL for starting out; Simple DirectMedia Layer. It's probably quite old now, but there's plenty of quite good tutorial material for it on the web.





KimberVaile said:


> Yes, people had the impression I was knee deep in developing a sprite based engine, which I was not. I made a text game engine in Java once, and that's the extent of it, I've been trying to learn how to make my own sprite based engine, and I've obviously been hung up on that. Thanks for the offer, I'll try to keep that in mind, seeing as it's only gonna get harder from here, hah.


Aww, don't let it put you off! It took me quite a while to really “get” C/C++, and I can pick up languages pretty quickly. One thing I've noticed books and such on the subject often miss is the difference between C/C++ and other languages, such as Java, C#, Python, e.t.c.. Many languages come with a supporting platform of some sort; with Java it's the extensive Java API and the Java Virtual Machine runtime; with C# it's the extensive .NET API and Common Language Runtime… But with C/C++, there's essentially no supporting platform, no well-defined runtime. It's almost entirely up to the programmer to link in with supporting APIs, and build the program for each environment in which it should run (Windows 7 / XP / Linux Ubuntu, 32-bit/64-bit, e.t.c.), the sorts of things that a runtime usually takes care of. I suppose you could say C/C++ is a bit like SQL — just a language specification. Also, with SQL, each database engine provides its own implementation of the language; with C/C++, each operating system provides its own implementation (by my understanding, at least).
It'll be hard, but hopefully very interesting! You'll get to see some of the technicalities that Java's been hiding from you.

Also, Telnac, question for you! It's something that I've always wondered about, regarding graphics libraries and how they fit into Windows… By my understanding, Windows exposes access to the video hardware to user-mode via GDI, GDI being implemented in kernel-mode. But I've also heard GDI being described as “old” and “inefficient”, and DirectX almost being described as a “replacement”. Yet by my understanding, DirectX is simply another user-mode graphics API, alongside the likes of OpenGL and SDL, all of which would have to call into the kernel-mode GDI API to access the video hardware. Do you know if there's something I'm missing? Is there another kernel API besides GDI hidden away somewhere, which provides access to the video hardware? Or is perhaps the term GDI ambiguous, referring to one of two different things, a kernel-mode API and a user-mode API, with graphics libraries like DirectX simply replacing user-mode GDI?
It's something I've been wondering for almost as long as what the “//” at the start of the scheme-specific-part of URLs denoted, another great mystery that was finally uncovered not so long ago.


----------



## Telnac (Oct 17, 2017)

Eleven-lyc said:


> Also, Telnac, question for you! It's something that I've always wondered about, regarding graphics libraries and how they fit into Windows… By my understanding, Windows exposes access to the video hardware to user-mode via GDI, GDI being implemented in kernel-mode. But I've also heard GDI being described as “old” and “inefficient”, and DirectX almost being described as a “replacement”. Yet by my understanding, DirectX is simply another user-mode graphics API, alongside the likes of OpenGL and SDL, all of which would have to call into the kernel-mode GDI API to access the video hardware. Do you know if there's something I'm missing? Is there another kernel API besides GDI hidden away somewhere, which provides access to the video hardware? Or is perhaps the term GDI ambiguous, referring to one of two different things, a kernel-mode API and a user-mode API, with graphics libraries like DirectX simply replacing user-mode GDI?
> It's something I've been wondering for almost as long as what the “//” at the start of the scheme-specific-part of URLs denoted, another great mystery that was finally uncovered not so long ago.



That's a great question.  I thought it bypassed the GDI since GDI was built back when 2D graphics was the norm, but I wasn't sure so I had to look it up.  It turns out that yes, that's exactly what it does.  Starting with XP, there was a 3D standard (XPDM) that graphics cards could support.  However, the details of exactly how they supported it varied wildly from card developer to card developer and that led to many compatibility issues.  Starting with Windows Vista, Microsoft and 3D graphics display developers agreed on a new set of standards (WDDM), which were built into the hardware of 3D graphics and the kernel, but that standard initially did away with GDI entirely which drew the ire of developers who didn't want to be forced down the path of Direct2D or OpenGL for rendering in 2D.  That was addressed starting with Windows 7 when the functionality of GDI returned with the new standard of DXGI.  For 3D, both OpenGL and DirectX call the newest version of WDDM, which gives them the freedom to handle the low-level implementation of things such as memory allocation as they see fit.  So I suppose someone with a lot of time on their hands could implement a 3D graphics pipeline that rivals OpenGL or DirectX, but I'd rather just go with one or the other.


----------



## Eleven-lyc (Oct 17, 2017)

Ahh, so WDDM essentially replaces GDI as the kernel-level API for video hardware? Or rather, XPDM replaced GDI, and WDDM replaced XPDM. Interesting… Well, I learnt something new today! Makes sense that I didn't know, though; most of my books are from the late Windows XP era or earlier, back when GDI was still around, and it seems Windows was still trying to iron out a decent replacement for the GDI interface at that time.


----------



## Telnac (Oct 18, 2017)

Yeah, I remember video card compatibility was a huge issue in the late 90s.  Nothing gave you the dreaded blue screen of death father than trying to run a game not compatible with your card!  XPDM helped, but it still took many years before it all got ironed out.


----------



## Redwulf16 (Nov 22, 2017)

I'm in high school now but I want to program when I grow up. I've written a few websites in html and I did a cool matrix rain effect in a windows batch file. 
I tried to program in java but it wouldn't let me save to my program files. Said I needed admin permission even though I'm the admin for my computer.
My guess is that my antivirus software was blocking it somehow.


----------



## Telnac (Nov 25, 2017)

Redwulf16 said:


> I'm in high school now but I want to program when I grow up. I've written a few websites in html and I did a cool matrix rain effect in a windows batch file.
> I tried to program in java but it wouldn't let me save to my program files. Said I needed admin permission even though I'm the admin for my computer.
> My guess is that my antivirus software was blocking it somehow.


What operating system are you running?


----------



## Pikuhana (Nov 30, 2017)

I have touched Javascript but never gone in depth.. I like Python3 too much.


----------



## Eleven-lyc (Dec 4, 2017)

Redwulf16 said:


> I'm in high school now but I want to program when I grow up. I've written a few websites in html and I did a cool matrix rain effect in a windows batch file.


Sounds pretty sweet! And eh, best to start out with something other than Java really. Python seems pretty popular nowadays. If only FA allowed uploading of creative programs like that, alongside creative art and creative writing… Can see the problems with such an idea, though


----------

