How do I make my platform game work in 3Dvision?
  1 / 4    
So, I'm making a 2D platformer. Think 'Super Meat Boy' without the retro 8-bit graphics. The software I'm using to make it is called Clickteam Fusion 2.5, which is designed to allow people to make games ("any 2D game you can imagine" is the company's claim) without requiring any programming skills. It uses a sort of drag-and-drop scripting interface that is surprisingly versatile. I have *some* coding experience. I designed and coded [url="http://www.breathingearth.net/"]breathingearth.net[/url], which I'm very proud of. It was unique when I made the first version in 2006, and 8 years later I'm still not aware of any other website quite like it. But I find coding stressful and difficult, and I don't have any experience in a 'real' coding language like C++. I'm a paper and crayons person at heart, and my skills mainly lie in the domain of graphics, animation and interaction design. So I've committed to making my game in Fusion, and I'm at the mercy of what it will allow. Obviously, I'd love to make the game work in 3Dvision (it would need to be a parallax + depth kind of deal like Rayman Origins). But I have no idea how, or where to even start looking for the answers. Fusion uses DirectX9 for hardware acceleration, and the green 3Dvision text comes up when I run the game, which I guess is a start. It has some sort of support for shaders, though I don't know much about that yet. My [url="http://community.clickteam.com/threads/86928-Possible-to-make-a-Fusiion-game-work-with-3dvision-(stereoscopic-3D)"]thread on the subject[/url] at the Clickteam forums hasn't provided any real leads, other than someone saying that I might need a custom-built plugin to somehow communicate with the 3dvision driver. So, I feel like I don't even know what questions to ask at this stage, let alone where to look for answers. Any help or direction from some of you more tech-minded forumites would be greatly appreciated!
So, I'm making a 2D platformer. Think 'Super Meat Boy' without the retro 8-bit graphics.

The software I'm using to make it is called Clickteam Fusion 2.5, which is designed to allow people to make games ("any 2D game you can imagine" is the company's claim) without requiring any programming skills. It uses a sort of drag-and-drop scripting interface that is surprisingly versatile.

I have *some* coding experience. I designed and coded breathingearth.net, which I'm very proud of. It was unique when I made the first version in 2006, and 8 years later I'm still not aware of any other website quite like it.

But I find coding stressful and difficult, and I don't have any experience in a 'real' coding language like C++. I'm a paper and crayons person at heart, and my skills mainly lie in the domain of graphics, animation and interaction design.

So I've committed to making my game in Fusion, and I'm at the mercy of what it will allow. Obviously, I'd love to make the game work in 3Dvision (it would need to be a parallax + depth kind of deal like Rayman Origins). But I have no idea how, or where to even start looking for the answers.

Fusion uses DirectX9 for hardware acceleration, and the green 3Dvision text comes up when I run the game, which I guess is a start. It has some sort of support for shaders, though I don't know much about that yet.

My thread on the subject at the Clickteam forums hasn't provided any real leads, other than someone saying that I might need a custom-built plugin to somehow communicate with the 3dvision driver.

So, I feel like I don't even know what questions to ask at this stage, let alone where to look for answers. Any help or direction from some of you more tech-minded forumites would be greatly appreciated!

ImageVolnaPC.com - Tips, tweaks, performance comparisons (PhysX card, SLI scaling, etc)

#1
Posted 06/05/2014 03:09 AM   
Unrelated, but that's a really cool website.
Unrelated, but that's a really cool website.

#2
Posted 06/05/2014 06:54 AM   
I'd start be giving HelixMod a try in it, if you can get separate shaders for each of the layers of 'parallax' you could in theory add depth to them if the engine itself isn't already using any.
I'd start be giving HelixMod a try in it, if you can get separate shaders for each of the layers of 'parallax' you could in theory add depth to them if the engine itself isn't already using any.
#3
Posted 06/05/2014 02:46 PM   
Not sure if you've seen this already: http://developer.download.nvidia.com/whitepapers/2010/3D_Vision_Best_Practices_Guide.pdf Good luck & godspeed on your project. Please keep us updated with the latest.
Not sure if you've seen this already:


http://developer.download.nvidia.com/whitepapers/2010/3D_Vision_Best_Practices_Guide.pdf


Good luck & godspeed on your project. Please keep us updated with the latest.

Dual boot Win 7 x64 & Win 10 (1809) | Geforce Drivers 417.35

#4
Posted 06/05/2014 05:25 PM   
I'm pretty sure I can help you out here. I'm in the alternate universe where I find coding super interesting and fun, sometimes more fun than the games themselves. C++ is a sack of shit, but other more modern languages are really great. Anyway, the short story from what little I know is that you shouldn't need to do any coding here. Depending upon how flexible the Fusion tool is. Don't write anything directly to the 3D Vision driver or API- you should be able to use the Automatic Mode for free with no trouble. That's what you see when you run it in 3D. Kicks in as Automatic Mode. That gets you the driver interface for free, the only real question is how you supply depth to your image elements. You need to be able specify something is a background, something is foreground, what goes over what, what slips behind what. Even in 2D, there must be something there. That's going to be the key question- how do you provide depth to the images. You want to be specifying something like a z depth, and make your sky/backdrop at infinity or as big as possible. And, lay out layers at different depths. So, my recommendation is to study what Fusion offers with regard to depth and see if that is possible. (If not, you can do it with shaders too, as long as we can attach a shader to a specific item, but it should be easier than that.)
I'm pretty sure I can help you out here. I'm in the alternate universe where I find coding super interesting and fun, sometimes more fun than the games themselves. C++ is a sack of shit, but other more modern languages are really great.

Anyway, the short story from what little I know is that you shouldn't need to do any coding here. Depending upon how flexible the Fusion tool is.

Don't write anything directly to the 3D Vision driver or API- you should be able to use the Automatic Mode for free with no trouble. That's what you see when you run it in 3D. Kicks in as Automatic Mode.

That gets you the driver interface for free, the only real question is how you supply depth to your image elements. You need to be able specify something is a background, something is foreground, what goes over what, what slips behind what. Even in 2D, there must be something there.

That's going to be the key question- how do you provide depth to the images. You want to be specifying something like a z depth, and make your sky/backdrop at infinity or as big as possible. And, lay out layers at different depths.

So, my recommendation is to study what Fusion offers with regard to depth and see if that is possible.

(If not, you can do it with shaders too, as long as we can attach a shader to a specific item, but it should be easier than that.)

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#5
Posted 06/06/2014 12:07 AM   
Looks like there's one of those fascinating internet debates over c++ looming :p (seriously though let's not bother having that debate since it's utterly pointless, but for the record I never had a problem with it) Anyway, never used Fusion (presumably it's kinda like Gamemaker?) but I suspect you'll struggle to get the low level control here to put items on different depth layers (the depth value in Fusion will probably just determine the draw order). It would be easy if you were coding your own engine. I agree with bo3d, automatic mode is probably your best bet.
Looks like there's one of those fascinating internet debates over c++ looming :p (seriously though let's not bother having that debate since it's utterly pointless, but for the record I never had a problem with it)

Anyway, never used Fusion (presumably it's kinda like Gamemaker?) but I suspect you'll struggle to get the low level control here to put items on different depth layers (the depth value in Fusion will probably just determine the draw order). It would be easy if you were coding your own engine. I agree with bo3d, automatic mode is probably your best bet.

#6
Posted 06/06/2014 12:52 AM   
I think it reveals a lot about my programming expertise that I assumed that C++ was the latest and greatest thing :D Yes, fish99, I think it's probably like GameMaker. From what I've read, it's a bit more powerful, but it probably has a similar level of low-level control. I've got a successful parallax effect going with many layers, but I think that it's just doing draw-order, rather than depth. When the background moves slower than the foreground, I think it's just because it has a different movement speed rather than a different depth. @bob: Thanks for offering to help. I'll look deeper into the depth thing (no pun intended), and PM you.
I think it reveals a lot about my programming expertise that I assumed that C++ was the latest and greatest thing :D

Yes, fish99, I think it's probably like GameMaker. From what I've read, it's a bit more powerful, but it probably has a similar level of low-level control.

I've got a successful parallax effect going with many layers, but I think that it's just doing draw-order, rather than depth. When the background moves slower than the foreground, I think it's just because it has a different movement speed rather than a different depth.

@bob: Thanks for offering to help. I'll look deeper into the depth thing (no pun intended), and PM you.

ImageVolnaPC.com - Tips, tweaks, performance comparisons (PhysX card, SLI scaling, etc)

#7
Posted 06/06/2014 01:57 AM   
[quote="fish99"]Looks like there's one of those fascinating internet debates over c++ looming :p (seriously though let's not bother having that debate since it's utterly pointless, but for the record I never had a problem with it)[/quote]What's the biggest team you've ever worked with on a large C++ project? For large teams, I've seen C++ to be the candy store for the undisciplined programmers, and they make my life hard. If you have some C++ background, don't hesitate to take a look at 3Dmigoto. The more the merrier. :-> For me, it's really, really simple. The tools should make my job easier, not harder. C++ always makes my job harder, even if it's just me on the project. Part of this could be that I'm using Microsoft Visual Studio (for 3Dmigoto), and the C++ there is not as good as gcc or Linux versions, because Microsoft refuses to keep up with the standards. Still though, the motivation behind C++ is every feature known to man- and that is exactly what I do not want. I want the tools to help me avoid mistakes, not make me in charge of watching where every knife lands. I've got a much longer language history than most people, and I like to try new stuff. I can write in stuff as antique as Cobol, Fortran, Object Pascal, or 68K assembly, or as modern as Java, PHP or Python. PHP is absolutely, comically, pathetic. Not that anyone on the internet will ever listen to reason of course. :-> In general, the language is not nearly as important as the IDE. Microsoft used to know this, but Visual Studio 2013 is shockingly weak when compared to something like IntelliJ. Apple is also making the classic amateur blunder of making yet another new language, when what they really need is to improve their IDE. XCode is even worse than VS2013. Objective C is not a gem, but it's not as terrible as C++. If Apple thought C++ were good enough, they wouldn't have made yet another language and lose out on all of the programmers that already know C++. But maybe Swift is a good approach, it sounds like they made it with safety and fewer sharp edges in mind. I'm a little surprised they didn't go with Java, and gain all those programmers. Still, I'll probably learn Swift too. :->
fish99 said:Looks like there's one of those fascinating internet debates over c++ looming :p (seriously though let's not bother having that debate since it's utterly pointless, but for the record I never had a problem with it)
What's the biggest team you've ever worked with on a large C++ project? For large teams, I've seen C++ to be the candy store for the undisciplined programmers, and they make my life hard.

If you have some C++ background, don't hesitate to take a look at 3Dmigoto. The more the merrier. :->


For me, it's really, really simple. The tools should make my job easier, not harder. C++ always makes my job harder, even if it's just me on the project. Part of this could be that I'm using Microsoft Visual Studio (for 3Dmigoto), and the C++ there is not as good as gcc or Linux versions, because Microsoft refuses to keep up with the standards. Still though, the motivation behind C++ is every feature known to man- and that is exactly what I do not want. I want the tools to help me avoid mistakes, not make me in charge of watching where every knife lands.

I've got a much longer language history than most people, and I like to try new stuff. I can write in stuff as antique as Cobol, Fortran, Object Pascal, or 68K assembly, or as modern as Java, PHP or Python. PHP is absolutely, comically, pathetic. Not that anyone on the internet will ever listen to reason of course. :->


In general, the language is not nearly as important as the IDE. Microsoft used to know this, but Visual Studio 2013 is shockingly weak when compared to something like IntelliJ.

Apple is also making the classic amateur blunder of making yet another new language, when what they really need is to improve their IDE. XCode is even worse than VS2013. Objective C is not a gem, but it's not as terrible as C++. If Apple thought C++ were good enough, they wouldn't have made yet another language and lose out on all of the programmers that already know C++. But maybe Swift is a good approach, it sounds like they made it with safety and fewer sharp edges in mind. I'm a little surprised they didn't go with Java, and gain all those programmers. Still, I'll probably learn Swift too. :->

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#8
Posted 06/06/2014 08:55 AM   
[quote="bo3b"][quote="fish99"]Looks like there's one of those fascinating internet debates over c++ looming :p (seriously though let's not bother having that debate since it's utterly pointless, but for the record I never had a problem with it)[/quote]What's the biggest team you've ever worked with on a large C++ project? For large teams, I've seen C++ to be the candy store for the undisciplined programmers, and they make my life hard..... [/quote] Let's make GLOBALS and EXTERN them everywhere.. let's use the Hungarian notation and also...don't forget lets #ifdef all the code in ONE HUGE function <3 Then you will get the most awesome pile of "software" ever :))) It's really funny (and frustrating for me) to see how many people DO THIS .... -_-. And the best part is that "somehow" it works...until you touch it hahaha
bo3b said:
fish99 said:Looks like there's one of those fascinating internet debates over c++ looming :p (seriously though let's not bother having that debate since it's utterly pointless, but for the record I never had a problem with it)
What's the biggest team you've ever worked with on a large C++ project? For large teams, I've seen C++ to be the candy store for the undisciplined programmers, and they make my life hard.....



Let's make GLOBALS and EXTERN them everywhere.. let's use the Hungarian notation and also...don't forget lets #ifdef all the code in ONE HUGE function <3

Then you will get the most awesome pile of "software" ever :))) It's really funny (and frustrating for me) to see how many people DO THIS .... -_-. And the best part is that "somehow" it works...until you touch it hahaha

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

#9
Posted 06/06/2014 11:03 AM   
[quote="bo3b]I've got a much longer language history than most people, and I like to try new stuff. I can write in stuff as antique as Cobol, Fortran, Object Pascal, or 68K assembly, or as modern as Java, PHP or Python. PHP is absolutely, comically, pathetic. Not that anyone on the internet will ever listen to reason of course. :-> [/quote] I was asked to set up a GCSE Computer Science course for my school to start this year (now nearing the end of the first year). I have zero experience coding so I chose Python because it is meant to be easy to learn. I have thoroughly enjoyed learning it. Loved it in fact. I was interested by your views on C++ and PHP as I am frequently defending my choice of Python as the main language instead of C++ or PHP. The exam board couldn't care less btw, they even accept BYOB which is like a deeper Scratch. It was refreshing to hear a different side of the argument. Soz for OT edit What's wrong with Hungarian notation? I tell the kids to use it. CamelCase too. I like them as it lets me know what the variable is and I find it is usually helpful for error trapping. Did I do bad then?
bo3b said:I've got a much longer language history than most people, and I like to try new stuff. I can write in stuff as antique as Cobol, Fortran, Object Pascal, or 68K assembly, or as modern as Java, PHP or Python. PHP is absolutely, comically, pathetic. Not that anyone on the internet will ever listen to reason of course. :->


I was asked to set up a GCSE Computer Science course for my school to start this year (now nearing the end of the first year). I have zero experience coding so I chose Python because it is meant to be easy to learn. I have thoroughly enjoyed learning it. Loved it in fact.

I was interested by your views on C++ and PHP as I am frequently defending my choice of Python as the main language instead of C++ or PHP. The exam board couldn't care less btw, they even accept BYOB which is like a deeper Scratch.

It was refreshing to hear a different side of the argument.

Soz for OT


edit

What's wrong with Hungarian notation? I tell the kids to use it. CamelCase too. I like them as it lets me know what the variable is and I find it is usually helpful for error trapping. Did I do bad then?

Lord, grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference.
-------------------
Vitals: Windows 7 64bit, i5 2500 @ 4.4ghz, SLI GTX670, 8GB, Viewsonic VX2268WM

Handy Driver Discussion
Helix Mod - community fixes
Bo3b's Shaderhacker School - How to fix 3D in games
3dsolutionsgaming.com - videos, reviews and 3D fixes

#10
Posted 06/06/2014 02:48 PM   
[quote="andysonofbob"]I was asked to set up a GCSE Computer Science course for my school...I have zero experience coding[/quote] Why would they ask you to set it up if you have no experience?
andysonofbob said:I was asked to set up a GCSE Computer Science course for my school...I have zero experience coding
Why would they ask you to set it up if you have no experience?

#11
Posted 06/06/2014 03:18 PM   
[quote="andysonofbob"] .... What's wrong with Hungarian notation? I tell the kids to use it. CamelCase too. I like them as it lets me know what the variable is and I find it is usually helpful for error trapping. Did I do bad then?[/quote] Everything is wrong with Hungarian Notation. It mostly produces hard to read code. Debugging a code using this notation is a pain in the ass... What is nicer ? bool bReadLine or isReadLine? m_isReadLine (module variable) / g_isReadLine (global variable) etc.. Not to mention this atrocity : arru8NumberList. If you really need to put the type in the variable name I think you can do is better: numberListArrayOfUnsignedBytes; Variables should always have meaning and be full words rather then abbreviations like szName (zero terminatted string / C string). If you want to read a bit about clean coding standard you can see some examples here: http://nccastaff.bournemouth.ac.uk/jmacey/NCCACodingStandard/index.html Writing clean and understandable code is like writing a good book or a bad book;) My advice is to AVOID hungarian notations as much as you can.
andysonofbob said:
....
What's wrong with Hungarian notation? I tell the kids to use it. CamelCase too. I like them as it lets me know what the variable is and I find it is usually helpful for error trapping. Did I do bad then?


Everything is wrong with Hungarian Notation. It mostly produces hard to read code. Debugging a code using this notation is a pain in the ass...

What is nicer ?
bool bReadLine
or
isReadLine?
m_isReadLine (module variable) / g_isReadLine (global variable) etc..

Not to mention this atrocity : arru8NumberList. If you really need to put the type in the variable name I think you can do is better: numberListArrayOfUnsignedBytes; Variables should always have meaning and be full words rather then abbreviations like szName (zero terminatted string / C string).

If you want to read a bit about clean coding standard you can see some examples here: http://nccastaff.bournemouth.ac.uk/jmacey/NCCACodingStandard/index.html

Writing clean and understandable code is like writing a good book or a bad book;)
My advice is to AVOID hungarian notations as much as you can.

1x Palit RTX 2080Ti Pro Gaming OC(watercooled and overclocked to hell)
3x 3D Vision Ready Asus VG278HE monitors (5760x1080).
Intel i9 9900K (overclocked to 5.3 and watercooled ofc).
Asus Maximus XI Hero Mobo.
16 GB Team Group T-Force Dark Pro DDR4 @ 3600.
Lots of Disks:
- Raid 0 - 256GB Sandisk Extreme SSD.
- Raid 0 - WD Black - 2TB.
- SanDisk SSD PLUS 480 GB.
- Intel 760p 256GB M.2 PCIe NVMe SSD.
Creative Sound Blaster Z.
Windows 10 x64 Pro.
etc


My website with my fixes and OpenGL to 3D Vision wrapper:
http://3dsurroundgaming.com

(If you like some of the stuff that I've done and want to donate something, you can do it with PayPal at tavyhome@gmail.com)

#12
Posted 06/06/2014 03:46 PM   
[quote="bo3b"]What's the biggest team you've ever worked with on a large C++ project?[/quote] 1 :D
bo3b said:What's the biggest team you've ever worked with on a large C++ project?

1 :D

#13
Posted 06/06/2014 04:47 PM   
@helifax lol! When you put it that way... It doesn't look like the variable names I have got the kids to use. Python's variables are dynamic so you dont need the declare them and they are quite easy to read. (At the level the kids are at now anyway!) What do you think of this naming convention? ClownHeight_flt CharacterAttributes_arr NewName_str Age_int InStock_boo SquareMe_fn Kind of "Least important last?" Someone suggested that to me. [quote="Pirateguybrush"][quote="andysonofbob"]I was asked to set up a GCSE Computer Science course for my school...I have zero experience coding[/quote] Why would they ask you to set it up if you have no experience?[/quote] My life experience seems to have given me a practical knowledge the vast majority of the CS course. I've played in a number of bands (digital and analogue) where we would make instruments, make sounds, manipulate sounds, use sequencers etc. All very DIY. I bought my first PC purely for music which was a P90 and cost £2K including Cubase. It sucked compared to the free Octomed software we used on our linked Amigas. I built my own PCs after that I can tell you! Believe it or not there's loads of CS skills there: digitising sounds, basic networks, hardware etc. In my past life as a geotechnical engineer / hydrogeologist I got fed up with the backward thinking company I was working for and ended up creating a relational database for the contracts side of the firm. I knew very little about DBs but learnt an awful lot about them after that! I love databases. Everyone on these boards knows about computer hardware, there's plenty of cool YouTube clips about how the CPU and RAM work in easily sufficient detail for A-Level. There is also that Little Man Computer which simulates how the CPU handles instructions too. Binary maths is simple at GCSE and OK at A-Level. Programming at GCSE is just sequencing, iteration and selection. I have looked at A-Level and so far my kung-fu is very weak but I can create functions, iterate through 2D Arrays etc. I can do one shot programs, if you know what I mean? E.g. get a program to read and iterate through a B&W bmp file, inverting the image etc. Probably laughably simple for the coders here but I'm learning as I go. The exam board is really clear on the skills required. They seem to be more interested in problem solving, which kinda makes sense. There's probably more I need to know but I think I am at the point where I know what I need to know. I started off as a primary school teacher, got bored so moved up to secondary school to teach ICT because I enjoyed the media elements (anyone here would have the subject knowledge to teach GCSE ICT tbh). Got bored and pushed for CS. If I am honest, I pushed for CS knowing I would be asked to do it. No-one else remotely qualified or interested. There is not enough CS taught in UK schools. I'm really glad I did push for CS. I love teaching it. My students seem to enjoy the course too. tl:dr? Hobbies and life experience have given me more than enough subject knowledge, the coding required for GCSE Computer Science and to an extent A-Level is within my ken and I am really enjoying learning it! You did ask mate! I bet you are glad you did now! lol ;P
@helifax

lol! When you put it that way... It doesn't look like the variable names I have got the kids to use. Python's variables are dynamic so you dont need the declare them and they are quite easy to read. (At the level the kids are at now anyway!)

What do you think of this naming convention?

ClownHeight_flt
CharacterAttributes_arr
NewName_str
Age_int
InStock_boo

SquareMe_fn


Kind of "Least important last?" Someone suggested that to me.


Pirateguybrush said:
andysonofbob said:I was asked to set up a GCSE Computer Science course for my school...I have zero experience coding
Why would they ask you to set it up if you have no experience?

My life experience seems to have given me a practical knowledge the vast majority of the CS course.

I've played in a number of bands (digital and analogue) where we would make instruments, make sounds, manipulate sounds, use sequencers etc. All very DIY. I bought my first PC purely for music which was a P90 and cost £2K including Cubase. It sucked compared to the free Octomed software we used on our linked Amigas. I built my own PCs after that I can tell you! Believe it or not there's loads of CS skills there: digitising sounds, basic networks, hardware etc.

In my past life as a geotechnical engineer / hydrogeologist I got fed up with the backward thinking company I was working for and ended up creating a relational database for the contracts side of the firm. I knew very little about DBs but learnt an awful lot about them after that! I love databases.

Everyone on these boards knows about computer hardware, there's plenty of cool YouTube clips about how the CPU and RAM work in easily sufficient detail for A-Level. There is also that Little Man Computer which simulates how the CPU handles instructions too. Binary maths is simple at GCSE and OK at A-Level.

Programming at GCSE is just sequencing, iteration and selection. I have looked at A-Level and so far my kung-fu is very weak but I can create functions, iterate through 2D Arrays etc. I can do one shot programs, if you know what I mean? E.g. get a program to read and iterate through a B&W bmp file, inverting the image etc. Probably laughably simple for the coders here but I'm learning as I go.

The exam board is really clear on the skills required. They seem to be more interested in problem solving, which kinda makes sense. There's probably more I need to know but I think I am at the point where I know what I need to know.


I started off as a primary school teacher, got bored so moved up to secondary school to teach ICT because I enjoyed the media elements (anyone here would have the subject knowledge to teach GCSE ICT tbh). Got bored and pushed for CS. If I am honest, I pushed for CS knowing I would be asked to do it. No-one else remotely qualified or interested. There is not enough CS taught in UK schools. I'm really glad I did push for CS. I love teaching it. My students seem to enjoy the course too.


tl:dr?

Hobbies and life experience have given me more than enough subject knowledge, the coding required for GCSE Computer Science and to an extent A-Level is within my ken and I am really enjoying learning it!


You did ask mate! I bet you are glad you did now! lol ;P

Lord, grant me the serenity to accept the things I cannot change, the courage to change the things I can, and the wisdom to know the difference.
-------------------
Vitals: Windows 7 64bit, i5 2500 @ 4.4ghz, SLI GTX670, 8GB, Viewsonic VX2268WM

Handy Driver Discussion
Helix Mod - community fixes
Bo3b's Shaderhacker School - How to fix 3D in games
3dsolutionsgaming.com - videos, reviews and 3D fixes

#14
Posted 06/06/2014 08:26 PM   
@andysonofbob: Great stuff, thanks for sharing. I think it's really helpful for people to get some education in how computers work, it makes it all less magical. I would also strongly discourage Hungarian notation as being bad habits to pick up. In modern software development, using a good strongly-typed language, the compiler and the IDE keep track of the type, and I don't have to actually know or care, as long as I define stuff properly to start. Hungarian notation was a sick hack for people who only use WordPad or vi or other non-IDEs, where all you have is text. In 2014, this is really pretty primitive and low value. Using an IDE can make a 2x or 3x improvement in productivity, and negates any need for Hungarian. CamelCase is good, and helps make stuff much more readable. The main thing is to be consistent in whatever tool you use. If you use m_ObjectVar, use it always. Other programmers working the same code often switch to their pet style which damages the code quality. Best to do what was there whenever possible. Last advice for your class: Learn to touch type. Takes about 2 weeks. Cannot tell you the number of programmers I've met who don't document their code simply because they can't type well. Just as background, so you know where I'm coming from when I make these bold statements: I'm a professional software developer, and make my living writing code. I'm a contractor now too, which means I'm expected to come in solve gnarly problems and leave. Because of this role, I am keenly interested in productivity and results, and so I gravitate to stuff that makes my job easier, quicker, fewer bugs, or more reliable. Anything I can do to avoid errors in the first place saves me time. That leads to stuff like strongly typed languages. Weak languages like PHP don't have types at all, and let you assign wildly disparate stuff like strings to numeric variables. This leads to bizarre, hard to debug problems. Strongly typed languages like Java, C, C++, Pascal, give you a fatal error at compile time, and exceptions at runtime, so that these logic errors don't make it far enough to cause trouble. The reason I'm down on C++ is that even though it is strongly typed, it has too many features and ways to shoot yourself in the foot. I almost always wind up spending hours and hours on some memory stomping misplaced pointer because it will let me get away with nearly anything. I still use it in rare cases where I've measured a primary loop in a project, or the main work. For 99% of the project, it's all vanilla code and I want to be done ASAP, so I use Java or C#. PHP is just shockingly bad for something as new as it is. I've only used Python just a bit, and it seems like a good choice for a class that is more about fundamentals, and not learning job skills. If the class is oriented around learning how to seriously code, you'd be better off with Java. @volnaiskra: sorry, I hijacked your thread. :->
@andysonofbob: Great stuff, thanks for sharing. I think it's really helpful for people to get some education in how computers work, it makes it all less magical.

I would also strongly discourage Hungarian notation as being bad habits to pick up. In modern software development, using a good strongly-typed language, the compiler and the IDE keep track of the type, and I don't have to actually know or care, as long as I define stuff properly to start. Hungarian notation was a sick hack for people who only use WordPad or vi or other non-IDEs, where all you have is text. In 2014, this is really pretty primitive and low value. Using an IDE can make a 2x or 3x improvement in productivity, and negates any need for Hungarian.

CamelCase is good, and helps make stuff much more readable. The main thing is to be consistent in whatever tool you use. If you use m_ObjectVar, use it always. Other programmers working the same code often switch to their pet style which damages the code quality. Best to do what was there whenever possible.

Last advice for your class: Learn to touch type. Takes about 2 weeks. Cannot tell you the number of programmers I've met who don't document their code simply because they can't type well.


Just as background, so you know where I'm coming from when I make these bold statements: I'm a professional software developer, and make my living writing code. I'm a contractor now too, which means I'm expected to come in solve gnarly problems and leave. Because of this role, I am keenly interested in productivity and results, and so I gravitate to stuff that makes my job easier, quicker, fewer bugs, or more reliable. Anything I can do to avoid errors in the first place saves me time.

That leads to stuff like strongly typed languages. Weak languages like PHP don't have types at all, and let you assign wildly disparate stuff like strings to numeric variables. This leads to bizarre, hard to debug problems. Strongly typed languages like Java, C, C++, Pascal, give you a fatal error at compile time, and exceptions at runtime, so that these logic errors don't make it far enough to cause trouble.

The reason I'm down on C++ is that even though it is strongly typed, it has too many features and ways to shoot yourself in the foot. I almost always wind up spending hours and hours on some memory stomping misplaced pointer because it will let me get away with nearly anything. I still use it in rare cases where I've measured a primary loop in a project, or the main work. For 99% of the project, it's all vanilla code and I want to be done ASAP, so I use Java or C#.

PHP is just shockingly bad for something as new as it is. I've only used Python just a bit, and it seems like a good choice for a class that is more about fundamentals, and not learning job skills. If the class is oriented around learning how to seriously code, you'd be better off with Java.


@volnaiskra: sorry, I hijacked your thread. :->

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#15
Posted 06/06/2014 11:17 PM   
  1 / 4    
Scroll To Top