Commented 9 years ago2015-01-26 11:38:07 UTC
in journal: #8500Comment #62648
@Stu: I work on business software which deals with real-time user interaction, so best not to generalise Not just a little bit as well, it's a full-on multi-user real-time client/server application! Written in JavaScript, of all things! And it still has all the business-y stuff like accounting and payroll and database tables and reports.
While working on business software I also made Sledge in my spare time, which deals with rendering, OpenGL, and other gamey stuff. You don't really have to limit yourself simply because you aren't familiar with the details. When I started on Sledge, I had no idea how work with shaders and other graphics crap. Learn by doing!
Commented 9 years ago2015-01-07 03:33:11 UTC
in journal: #8490Comment #46059
Totally disagree, Jeffmod. Stage acting is quite aware of the audience and the actors are speaking quite loudly so their voice is clearly heard in the theater, it has a huge impact on the feel and the sound of the acting. Movements and emotions are highly exaggerated so that even people in the back of the room can know what's going on. Film acting, on the other hand, is generally supposed to feel like the audience doesn't exist, and since it's projected on the large screen with (hopefully) uniform sound around the entire theater, there's no need to cater for the size or shape of the audience.
Of course this is just my off-hand rambling, I have almost no knowledge of this stuff. AJ or Archie could explain further, I'm sure.
Commented 9 years ago2014-12-25 08:27:33 UTC
in journal: #8488Comment #67427
Yeah, definitely just buy what you think is best value and don't let other people's opinions confuse you too much.
What I do is look at benchmarks to see what the better value between different things are. I use http://videocardbenchmark.net. (The same company has a CPU benchmark site too)
For example, using two cards mentioned on this page:
We can see from this example that a new GTX 970 is almost exactly the same value as a used R9 290, so it's probably better to get the GTX 970 based on this example. You want to get the best value for money - sometimes that might mean spending a bit more, but it will last longer and give you better return on your investment in the long term.
Commented 9 years ago2014-12-18 03:19:42 UTC
in journal: #8485Comment #36107
Nah, the double articles will still be featured pretty often.
@CapT: The site is unrelated to TWHL, so we're not going to post i-x news/journals/forums/whatever spam here. Go to the site if you want to read it, there's even a little button for it underneath the onliners box
Commented 9 years ago2014-12-13 01:58:26 UTC
in journal: #8481Comment #51043
If you're using JavaFX you should be mostly ok. Don't worry about security issues, they're way overblown for installed applications - the big deal with security issues with Java is that it can be embedded into web-pages. If someone can install stuff on your PC, it doesn't matter if it's Java or anything else, you're boned.
Alternative options are a bit difficult - if you don't care about multi-platform support, C# + WPF might be a good option, but WPF is a very complex toolkit and I don't like it very much. HTML + JavaScript is a good choice, but it might not be compatible with the deployment mechanism of the software you want to make. As long as you avoid Swing, Java should be okay
SQLite is a good little library, I've used it before and it's good for small systems. It doesn't have a lot of data types, but it should be enough for what you need to do.
Commented 9 years ago2014-12-11 23:33:52 UTC
in journal: #8481Comment #51042
Interesting idea, but I would strongly suggest against Java. At the very least, stay the hell away from Swing. JavaFX is apparently a decent option, but I haven't used it before so I can't really comment on it. On the other hand I have way too much experience with Swing and you do NOT want to touch that shit, especially if you want to make something that looks and feels like a modern application.
Commented 9 years ago2014-11-20 23:17:08 UTC
in journal: #8469Comment #61188
It depends, really. Some options are more complicated than others. Here are some possibilities:
C# - Unity has decent 2D stuff, from what I hear
C# - Use OpenTK's GameWindow to create a multi-platform (.NET/mono) OpenGL game (OpenGL can render in 2D)
JavaScript/HTML5 - There are lots of free JS game frameworks for 2D games
Python - I hear pygame is good, and has a lot of extra libraries
C/C++ - Use SDL to create a multi-platform (native) 2D or OpenGL game
As much as people like to hate on it, I really think JavaScript is an excellent language to start learning programming. It has pretty much everything that you need to know about almost every programming language. It's not exactly the best option for game programming (because you are reasonably limited in what you can do, and you can't deploy JS games on Steam or mobile platforms), but it's an excellent starter language and good if you just want to make simple games as a learning exercise. It's easy to deploy as well - if you put your JS/HTML on Github, they will host it for free.
Commented 9 years ago2014-11-18 23:52:29 UTC
in journal: #8469Comment #61187
Maya supports basic scripting, right? Can you write a simple script that prints out your asset positions so you can copy/paste instead of manually typing? If you have something easy like that, you can slowly build up your script to do more and more work for you. Assuming the system is even remotely capable, you should be able to work it out from copy/pasting from the interwebs, or just ask in their forums or something. A simple script would make it easy to change file formats as well.
Commented 9 years ago2014-11-13 00:12:50 UTC
in journal: #8465Comment #52804
I don't know much (anything) about triggers/targets in GS, but going by the limited information in the entity guides...
Multisource acts as an AND gate, but I don't know if a door evaluates to 1 when open and 0 when closed. If it does, you might be able to toggle a hidden toggle button to invert the value of door B, and then use a multisource as the master of door C. You could set door C to toggle the enabled status of doors A and B, which would disable them when C opens and re-enable them when it closes. As CapT said, if you can't toggle enabled/disabled status, you might be able to use a clip brush instead.
Commented 9 years ago2014-10-27 02:50:18 UTC
in journal: #8456Comment #42382
16:10 is not uncommon for PC monitors either, but I would say that 16:9 is the majority. The Steam hardware stats are probably a good indication: http://store.steampowered.com/hwsurvey
Commented 9 years ago2014-09-25 21:57:19 UTC
in journal: #8436Comment #67194
Even if it's in a workable state, there's no way that something like this will be useful for games except in an extremely tiny subset of genres - ones where the environment already exists (or can be built) in the real world so it can be scanned using their laser device. In most games, that's entirely unrealistic or simply impossible to do. The technology has a place in digital scanning (imagine something like Google StreetView), but not so much in the world of gaming.
Commented 10 years ago2014-05-27 04:03:45 UTC
in journal: #8378Comment #54527
You sound so irrationally angry. People are ridiculing this because it's spam and the robot that sent it didn't know that posting about "lighting" on TWHL isn't going to mean that you're interested in industrial lighting equipment. Don't blow a gasket.
Commented 10 years ago2014-05-20 22:15:28 UTC
in journal: #8376Comment #48349
I use the brown switch Das Keyboard at work, it's a very nice keyboard. At home I use blue switches at the moment, but I think I prefer the brown now, so I'll probably get the same model next time I need a new keyboard at home. As for keycaps, I prefer them to be left on. Touch typing is one thing, but programming is quite different. Also, I can't touch type numbers or the F1-12 keys.
Commented 10 years ago2014-05-20 13:14:32 UTC
in journal: #8375Comment #50145
Yeah, to use HLLib from .NET you have to use P/Invoke, which can be quite annoying to deal with if you aren't familiar with lower-level C structures. HLLib includes a .NET wrapper that already does the P/Invoke bindings for you, but even then I found it annoying to use since it is a very procedural, C-oriented library. It maintains its own internal state which I found quite difficult to work with, and from my experience, it isn't thread safe, and you can't open two different files at the same time.
You should be able to use my loaders to do what you need, and from the looks of it, the WAD loader is pretty standalone so you could probably use it without having to make a lot of modifications. The license is LGPL, which means you need to open source any changes you make to the code if you publish an app that uses it (but not your entire app if you don't want to).
My loader currently doesn't support loading mipmaps (I've been meaning to add support for it), but it will load the high-resolution texture data without any problems. If you want to do some additional processing related to transparency, take a look at this method (however it is currently slightly wrong and will change before the next version of Sledge comes out).
Commented 10 years ago2014-05-15 12:52:26 UTC
in journal: #8375Comment #50144
I recently wrote loaders for PAK, VPK, WAD, and VTF (not published yet), and there's also one for MDL (only partially supports Source models). There are references on the internet for all these formats (VDC is good for Source stuff, Google trawling for Goldsource stuff), and in some cases you can look at the header files from the GS/Source SDK (for example, studiomdl includes the header files for model objects in both GS and Source). For RMF, I saved a bunch of minor changes in Hammer into different RMFs and poked around in a hex editor until I found the format. I published the format specification as well, which I used in the JavaScript loader using a nifty JS library called jBinary. My hex editor of choice is 010 Editor because it has an amazing binary templating feature which is incredibly useful for figuring out binary formats. VMF is an incredibly simple format (and not binary!), so prefer that if you can.
If you don't want to poke around with binary formats yourself, HLLib supports WAD, PAK, and BSP, as well as VPK. It has .NET bindings that you can use, though they can be a bit difficult to use. I recently moved away from HLLib because it would have caused me headaches if I ever ported to Linux. You can also use the Sledge binaries and use the loaders directly out of that.
Commented 10 years ago2014-04-22 12:41:29 UTC
in journal: #8366Comment #45948
Higher education in Australia is heavily subsidised, but you still have to pay. My loan ended up being about $20k for 3 years of full-time study. It's done through the government and it's a low interest loan, so that's better than nothing I guess I haven't paid the tax bill yet, but yes, I will have to pay it all at once. It's on top of the tax I've already paid through my employer.
Also, I'm somewhat with Urby. I like security, and I also like having a long-term project and being able to improve and evolve it over the years. I could do contract work, but there's not really any opportunity to become attached to a project, you just do it and move onto the next one. That's not much fun for me.
Obviously it's different for every profession, there's probably not many long-running, evolving projects that exist in your industry, Archie.
Commented 10 years ago2014-04-22 12:22:48 UTC
in journal: #8366Comment #45947
You think 900GBP is a massive tax bill? My tax bill for last year was double that I did a few largish jobs on the side of my full-time job and that knocked me up a tax bracket, plus it also increased the mandatory payment on my student loan :/
Commented 10 years ago2014-04-08 21:17:34 UTC
in journal: #8360Comment #58393
It's less about what you prefer and more about how to help someone. Recommending reinstalling your full OS to solve a problem that has existed in pretty much every version of Windows since NT is NOT helpful at all.
Ever consider that people might not want to change their OS? Besides personal preference, certain features are simply not supported on Windows 7 - for example, proper support for high DPI displays and touch screens that more and more laptops are getting these days.
I personally do not like using Windows 8 in its current form, but I wouldn't evangelise Windows 7 like you are, nor would I recommend a full reinstall to solve a simple problem, especially since that problem also exists in 7.
Commented 10 years ago2014-04-08 00:29:14 UTC
in journal: #8360Comment #58391
Instead of changing the properties of the window, change the defaults. The menu item for defaults is just above the properties item, at least in Win 7.
This comment was made on an article that has been deleted.
Commented 10 years ago2014-01-31 01:52:17 UTC
in journal: #8329Comment #40102
Congrats on graduating from Digipen, it is one of the few game-related schools that I have respect for. There are far too many "game design" schools/courses that are absolutely useless, but Digipen seem to actually understand what it takes to be a game developer
Commented 10 years ago2014-01-09 06:47:24 UTC
in journal: #8324Comment #45911
The benefit of a powerful laptop is that it makes LAN parties so much easier! I've definitely been considering buying one recently for that exact purpose. As an added bonus, you can claim it as a tax expense
Commented 10 years ago2014-01-09 06:09:58 UTC
in journal: #8324Comment #45910
Have you ever considered getting a reasonably powerful laptop (or at least a smaller box) for situations like this? How often does it happen? Also, can you explain what "chroma keying" is for those of us who don't know the lingo?
Commented 10 years ago2013-12-11 05:58:06 UTC
in journal: #8300Comment #45864
Ant: To be fair, did you ever actually use OS 9? I seem to recall that you weren't very fond of Mac computers before they switched to Intel processors which was well after OSX came out...
On the topic of Windows 8, my Dad's new laptop came with it and it was a little frustrating to set up. On one hand, it has some cool new features and seems a bit faster. On the other hand, the interface is laughably poor. Some settings are in metro, some settings are in the desktop, and some settings overlap between the two which is just a nightmare. The concept of full-screen "apps" is ridiculous on a desktop(/laptop) computer with no touch screen and a proper hardware keyboard and mouse attached.
Many of MS's primary software products (Office, Visual Studio, even Windows Explorer) open straight into desktop mode, so it's pretty clear how much actual effort they put into making a good UI experience for their end users (hint: not much).
Commented 10 years ago2013-12-04 13:39:25 UTC
in journal: #8296Comment #67518
With OpenGL and DirectX, almost all rendering these days is done in shader land. In reality this means you pump a whole load of data over to the GPU that defines your vertices, texture coordinates, normals, and whatever other information you need. Then you also send along some shader code written in GLSL/HLSL which tells the GPU how to handle that big blob of data.
For a good start on how to use OpenGL, check out this tutorial: http://www.arcsynthesis.org/gltut/ I don't know DirectX so I don't have any good resources for it on hand, but I know that there are plenty out there.
Commented 10 years ago2013-12-04 04:29:33 UTC
in journal: #8296Comment #67517
This is a cool exercise, I've never done something like this because I went straight to OpenGL, but understanding the low-level aspects of rendering is pretty important.
Abstraction is very much the key when doing 3D programming. Not only for your data structures, but for the rendering code as well. Even if you are using OpenGL/DirectX you need to know about the low-level stuff like this so you can create your projection matrix. It gets even worse when you start looking into shaders, vertex arrays, frame buffers, and other stuff that introduces even more levels of abstraction between the programmer and the screen output. I still haven't got my head around all the complexities, there's so much stuff to learn
Commented 10 years ago2013-11-07 12:27:50 UTC
in journal: #8279Comment #43947
My employer pays for my MSDN subscription so I don't have to pay for Windows (or any other MS product for that matter) but I still have multiple licenses that I can use
If you're a STEM student you probably have access to a program that Microsoft offers that gives you a free license to many of their products, including Windows. Ask your university if they subscribe to the DreamSpark program. The license can still be used after you graduate.
Commented 10 years ago2013-10-14 07:29:00 UTC
in journal: #8268Comment #62571
Learn to regex, Stu! You want ^i.*$ or better yet ^i(Phone|Pad|Pod|Tunes|OS)$ so you can filter out non-apple things that start with i
On a related note, I have an iPhone (work phone) and it's awful. After experiencing the blissful freedom of an Android tablet, the general shittiness and infinitely locked-down experience of the iPhone is just really fucking terrible. I'd much prefer a WinPhone over an iPhone, but Android is miles ahead of both in terms of features, user experience, and general non-crappiness.
Ant tells me that I only like Android because I'm a programmer but really it's because he's an Apple fanboy and doesn't realise how shit iOS is
Commented 10 years ago2013-10-13 12:35:23 UTC
in journal: #8267Comment #67364
If you aren't afraid of learning new things I would suggest using a version control system. Not only do you get free backups and cloud storage, you also get full revision history if all your stuff. I use Git for my stuff, it's pretty simple to use once you get the hang of it. You can create an account at GitHub (public is free, private costs $7/month) or BitBucket (private is free) and download a client like SourceTree and you're pretty much done
Happy to go into more detail if you are interested!
Commented 10 years ago2013-10-13 01:16:49 UTC
in journal: #8265Comment #50942
Eh, functional programming exists in many places where it is more useful than a pure functional language like Haskell or Lisp.
That concept of the 'infinite list' is called a generator and exists in many procedural and OO languages like Python (2.3), C# (2.0), JavaScript (1.7), PHP (5.5), and many more. It's certainly not exclusive to Haskell by any means.
Something like this is quite valid in C#:
IEnumerable<int> Numbers() { int i = 1; while(true) yield return i++; }
var five = Numbers().Take(5); // Contains [1, 2, 3, 4, 5]
Edit: Looks like you've already got a rotate function from a previous exercise, with that method the general process would be something like this:
1. Get list of characters from A-Z: ['A'..'Z']
2. You want to create pairs for each item in the list: ('A', rotate 'A' 5)
3. So, you have the list and the method that converts each item in the list into the result you want. This is called a map, or I think the Haskell term is `list comprehension`: [(x, rotate x 5) | x <- ['A'..'Z']]
4. Put it in a function , change 5 to an input parameter: makeKey n = [(x, rotate x n) | x <- ['A'..'Z']]
As I said I don't know Haskell so sorry if this is misleading or incorrect! Also I'm not passing your course for you so don't expect me to give you all your answers
I'm sure you've already come across this but I hear Learn You A Haskell is a great way to learn the language.
Not just a little bit as well, it's a full-on multi-user real-time client/server application! Written in JavaScript, of all things! And it still has all the business-y stuff like accounting and payroll and database tables and reports.
While working on business software I also made Sledge in my spare time, which deals with rendering, OpenGL, and other gamey stuff. You don't really have to limit yourself simply because you aren't familiar with the details. When I started on Sledge, I had no idea how work with shaders and other graphics crap. Learn by doing!
Film acting, on the other hand, is generally supposed to feel like the audience doesn't exist, and since it's projected on the large screen with (hopefully) uniform sound around the entire theater, there's no need to cater for the size or shape of the audience.
Of course this is just my off-hand rambling, I have almost no knowledge of this stuff. AJ or Archie could explain further, I'm sure.
What I do is look at benchmarks to see what the better value between different things are. I use http://videocardbenchmark.net. (The same company has a CPU benchmark site too)
For example, using two cards mentioned on this page:
GeForce GTX 970 - 8648 points - €363 (new) = 23.8 points per €
AMD R9 290 - 6530 points - €270 (used) = 24.2 points per €
We can see from this example that a new GTX 970 is almost exactly the same value as a used R9 290, so it's probably better to get the GTX 970 based on this example. You want to get the best value for money - sometimes that might mean spending a bit more, but it will last longer and give you better return on your investment in the long term.
@CapT: The site is unrelated to TWHL, so we're not going to post i-x news/journals/forums/whatever spam here. Go to the site if you want to read it, there's even a little button for it underneath the onliners box
Alternative options are a bit difficult - if you don't care about multi-platform support, C# + WPF might be a good option, but WPF is a very complex toolkit and I don't like it very much. HTML + JavaScript is a good choice, but it might not be compatible with the deployment mechanism of the software you want to make. As long as you avoid Swing, Java should be okay
SQLite is a good little library, I've used it before and it's good for small systems. It doesn't have a lot of data types, but it should be enough for what you need to do.
Still cool though!
- C# - Unity has decent 2D stuff, from what I hear
- C# - Use OpenTK's GameWindow to create a multi-platform (.NET/mono) OpenGL game (OpenGL can render in 2D)
- JavaScript/HTML5 - There are lots of free JS game frameworks for 2D games
- Python - I hear pygame is good, and has a lot of extra libraries
- C/C++ - Use SDL to create a multi-platform (native) 2D or OpenGL game
As much as people like to hate on it, I really think JavaScript is an excellent language to start learning programming. It has pretty much everything that you need to know about almost every programming language. It's not exactly the best option for game programming (because you are reasonably limited in what you can do, and you can't deploy JS games on Steam or mobile platforms), but it's an excellent starter language and good if you just want to make simple games as a learning exercise. It's easy to deploy as well - if you put your JS/HTML on Github, they will host it for free.Multisource acts as an AND gate, but I don't know if a door evaluates to 1 when open and 0 when closed. If it does, you might be able to toggle a hidden toggle button to invert the value of door B, and then use a multisource as the master of door C. You could set door C to toggle the enabled status of doors A and B, which would disable them when C opens and re-enable them when it closes. As CapT said, if you can't toggle enabled/disabled status, you might be able to use a clip brush instead.
In Source it would be super easy
Congrats on the run
That house in the background looks glorious.
You should be able to use my loaders to do what you need, and from the looks of it, the WAD loader is pretty standalone so you could probably use it without having to make a lot of modifications. The license is LGPL, which means you need to open source any changes you make to the code if you publish an app that uses it (but not your entire app if you don't want to).
My loader currently doesn't support loading mipmaps (I've been meaning to add support for it), but it will load the high-resolution texture data without any problems. If you want to do some additional processing related to transparency, take a look at this method (however it is currently slightly wrong and will change before the next version of Sledge comes out).
If you don't want to poke around with binary formats yourself, HLLib supports WAD, PAK, and BSP, as well as VPK. It has .NET bindings that you can use, though they can be a bit difficult to use. I recently moved away from HLLib because it would have caused me headaches if I ever ported to Linux. You can also use the Sledge binaries and use the loaders directly out of that.
Hopefully that helps!
I haven't paid the tax bill yet, but yes, I will have to pay it all at once. It's on top of the tax I've already paid through my employer.
Also, I'm somewhat with Urby. I like security, and I also like having a long-term project and being able to improve and evolve it over the years. I could do contract work, but there's not really any opportunity to become attached to a project, you just do it and move onto the next one. That's not much fun for me.
Obviously it's different for every profession, there's probably not many long-running, evolving projects that exist in your industry, Archie.
I did a few largish jobs on the side of my full-time job and that knocked me up a tax bracket, plus it also increased the mandatory payment on my student loan :/
Ever consider that people might not want to change their OS? Besides personal preference, certain features are simply not supported on Windows 7 - for example, proper support for high DPI displays and touch screens that more and more laptops are getting these days.
I personally do not like using Windows 8 in its current form, but I wouldn't evangelise Windows 7 like you are, nor would I recommend a full reinstall to solve a simple problem, especially since that problem also exists in 7.
Hopefully the camera settings in v20 make moving around less janky than it is in this video.
It's the thought that counts, though! Thanks, CapT! I don't have any time (or talent) to return the favour though
On the topic of Windows 8, my Dad's new laptop came with it and it was a little frustrating to set up. On one hand, it has some cool new features and seems a bit faster. On the other hand, the interface is laughably poor. Some settings are in metro, some settings are in the desktop, and some settings overlap between the two which is just a nightmare. The concept of full-screen "apps" is ridiculous on a desktop(/laptop) computer with no touch screen and a proper hardware keyboard and mouse attached.
Many of MS's primary software products (Office, Visual Studio, even Windows Explorer) open straight into desktop mode, so it's pretty clear how much actual effort they put into making a good UI experience for their end users (hint: not much).
For a good start on how to use OpenGL, check out this tutorial: http://www.arcsynthesis.org/gltut/
I don't know DirectX so I don't have any good resources for it on hand, but I know that there are plenty out there.
Abstraction is very much the key when doing 3D programming. Not only for your data structures, but for the rendering code as well. Even if you are using OpenGL/DirectX you need to know about the low-level stuff like this so you can create your projection matrix. It gets even worse when you start looking into shaders, vertex arrays, frame buffers, and other stuff that introduces even more levels of abstraction between the programmer and the screen output. I still haven't got my head around all the complexities, there's so much stuff to learn
If you're a STEM student you probably have access to a program that Microsoft offers that gives you a free license to many of their products, including Windows. Ask your university if they subscribe to the DreamSpark program. The license can still be used after you graduate.
On a related note, I have an iPhone (work phone) and it's awful. After experiencing the blissful freedom of an Android tablet, the general shittiness and infinitely locked-down experience of the iPhone is just really fucking terrible. I'd much prefer a WinPhone over an iPhone, but Android is miles ahead of both in terms of features, user experience, and general non-crappiness.
Ant tells me that I only like Android because I'm a programmer but really it's because he's an Apple fanboy and doesn't realise how shit iOS is
Happy to go into more detail if you are interested!
That concept of the 'infinite list' is called a
generator
and exists in many procedural and OO languages like Python (2.3), C# (2.0), JavaScript (1.7), PHP (5.5), and many more. It's certainly not exclusive to Haskell by any means.Something like this is quite valid in C#:
IEnumerable<int> Numbers()
{
int i = 1;
while(true) yield return i++;
}
var five = Numbers().Take(5); // Contains [1, 2, 3, 4, 5]
On the other hand...if you don't give up, you should learn certain concepts much faster
I don't know Haskell, but here's a JavaScript solution in case that helps
Click for JSFiddle
Edit: Looks like you've already got a
rotate
function from a previous exercise, with that method the general process would be something like this:1. Get list of characters from A-Z:
['A'..'Z']
2. You want to create pairs for each item in the list:
('A', rotate 'A' 5)
3. So, you have the list and the method that converts each item in the list into the result you want. This is called a
map
, or I think the Haskell term is `list comprehension`:[(x, rotate x 5) | x <- ['A'..'Z']]
4. Put it in a function , change 5 to an input parameter:
makeKey n = [(x, rotate x n) | x <- ['A'..'Z']]
As I said I don't know Haskell so sorry if this is misleading or incorrect! Also I'm not passing your course for you so don't expect me to give you all your answers
I'm sure you've already come across this but I hear Learn You A Haskell is a great way to learn the language.
targetname (or any string): have a generator where you put in a prefix and it numbers them all - name1, name2, name3, etc
angles: have a generator where you choose min and max values for yaw, pitch and roll and it will generate random values between those ranges
brightness, color, etc: similar to angles.
Choices: choose random options...probably not all that useful