Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Normandy

Pages: [1] 2 3 ... 24
1
Other Games / Re: Any good PC gaming news websites?
« on: October 01, 2014, 11:43:00 am »
If you want to read things one article at a time you could consider an RSS reader like feedly http://feedly.com/, then adding the website's RSS feed.

2
Other Games / Re: Crusader Kings 2 is released.
« on: June 17, 2014, 11:16:56 pm »
The only problem with buying CK2 is sorting through all the DLC. Especially if you own some and not all. Then you have to manually click on every single one to see if you own it or not.

http://www.enhancedsteam.com/ will make your life so much easier. It only works on the web version of steam, but it lets you see which DLC you own and which you don't at a glance from any page.

3
Creative Projects / Re: Programming Help Thread (For Dummies)
« on: May 27, 2014, 01:39:47 pm »
It might be from this line:
Code: [Select]
SDL sdl(SDL_INIT_VIDEO|SDL_INIT_TIMER);
I'm not sure what your SDL class does, but in this case sdl is being initialized then the destructor is called when the function returns. If you're quitting SDL on destruction then that might close the window immediately.

4
OP updated with new title.

Has anyone tried attacking one of the spawners or a mammoth yet? I'm not really sure if there's any point in doing so

5
Official Website: http://nomnomgalaxy.com/
Good Overview Video: www.polygon.com/2014/3/17/5518468/nom-nom-galaxy-overview-video
Early Access on Steam for $20

Terraria with souuuupppppp. Has anyone played this game yet? It's a base building game where you mine for resources, explore caverns for ingredients, hunt monsters for food, and use it to make soup! I just bought it off Steam and it's still very much a work in progress (i.e. there's no saving), but it's pretty fun to make huge soup bases (no pun intended) and ship them off in soup rockets. Soup-making gets a bit tedious at times but it's a cute concept and there's 2 player split-screen coop which is pretty fun.

8
Creative Projects / Re: Programming Help Thread (For Dummies)
« on: July 01, 2013, 09:28:14 pm »
@skyrunner:
autos decrease the amount of code that needs to be written at the cost of increasing the complexity of the compilation process. In practice autos will definitely make your life easier in the vast majority of cases, but be sure not to confuse a lightweight syntax with a lightweight language!

@MorleyDev:
I wasn't saying any of the features I mentioned were not in other languages or bad in any way, simply that they added to the weight of C++ more than C backwards compatibility does (which does bring up a curious point: C++ is actually not entirely backwards compatible with C. How much of C++'s features are then C++'s own language idioms, and how many are actually C backwards compatibility?). This is speaking relative to something like scheme or javascript, both of which are much more lightweight languages. And many would argue that C is a much more lightweight language than C++ anyways.

Also a note on templates (along the vein of killjoy):
- Templates are very powerful and allow for some pretty nifty things (just take a look at boost), but templates are subtler and more complex than generics are. The underlying instructions for a generic does not change from one type to another (hence why they work only with reference types or PODs in languages that have generics). On the other hand, templates actually compile into different instructions for each type that you use. So templates are quite different from reflection+generics, since reflection happens at runtime while templates are created during compile-time and do not change their behavior during runtime.

9
Creative Projects / Re: Programming Help Thread (For Dummies)
« on: June 30, 2013, 04:58:25 pm »
Ah, the D programming language. I think it was pretty clever but since most people that need a statically compiled language are dependent on using C/C++ anyways, it never really had a niche to grow in.

Also, while backwards C compatibility is responsible for no small amount of C++'s headaches (particularly the decades old compilation model...), it's hardly the biggest source of them. Between multiple inheritance, templates, operator overloading, and C++11/14 lambdas and autos and whatnot, the least of C++'s worries is from backwards C compatibility.

10
Creative Projects / Re: Programming Help Thread (For Dummies)
« on: June 07, 2013, 01:41:08 pm »
@Skyrunner:
Do you think you could just use pygame along with libtcod and use pygame's event handling?

11
Creative Projects / Re: Programming Help Thread (For Dummies)
« on: June 04, 2013, 11:52:03 pm »
@head:
Assuming that you are trying to rotate the triangle, there are a couple of things that could have gone wrong with your math or code:
- Are you using radians? Most programming languages use radians, not degrees.
- What exactly are you using to get the positions of point 2 and 3? The formula you give doesn't give enough information.
- Remember where your axes are and where they're pointing. In school you learn x to the right, y upwards, angles going counterclockwise from the positive x-axis (i.e. from 3 o'clock). According to your picture, you've got x to the right, y upwards, angles going counterclockwise from the north (i.e. from 12 o'clock). Computer graphics conventions are x to the right, y downwards, angles going clockwise from the positive x-axis. Using computer graphics conventions, the formula you give will generate a point directly upwards of point 1, which will rotate counterclockwise, which appears to be what you're looking for.

As an additional note:
- You don't need the modulo/remainder (%) sign, sine/cosine return the same result without it there. That being said, note that modulo has the same precedence as division, i.e. you need to put anything you're taking the remainder of in parenthesis (unitdir+180)%360.

12
Other Games / Re: Starbound - A flat yet infinite universe.
« on: May 16, 2013, 04:54:34 pm »
@Neonivek: http://playstarbound.com/dungeon-generation/

There are set pieces in Starbound, along with hand-crafted quests tied along with them. It remains to be seen how well the devs implement these and whether they'll be available on release, but the Starbound devs do intend to address the very thing you're complaining about.

13
Creative Projects / Re: GUM: Grand Unified Model, Bay12 collab
« on: February 13, 2013, 08:19:28 pm »
@Skyrunner:
My git account is Maplenormandy.

@alway:
Sorry, I wasn't trying to be condescending or offensive, but I guess I could have come off like that. I just don't think we need to be so pessimistic. Careful, yes, but not so careful that we decide to forgo something like messaging that could really help in the long run.

14
Creative Projects / Re: GUM: Grand Unified Model, Bay12 collab
« on: February 11, 2013, 09:16:38 pm »
@alway:
"particularly since we don't really know what all it will be doing yet." <-- precisely why you want a messaging system. So you can have objects that you write now communicate with objects that someone else writes in two years with the same interface. Siquo's example message is simplistic for the purpose of demonstration, but a real message/message handler system would be more complex and interface with many more components.

As for worrying about a messaging system being too complex to code, I would say don't worry. There are a couple of experienced coders on this forum, and experienced coders know how to make things easy for themselves. That being said, having a good base simulation object and entity/component class including some sort of update, position (if applicable), or other common universal attributes will still be necessary.

There are also many tricks up the sleeve of a computer scientist that will make the performance loss basically unnoticable. And the benefits from the easy multithreading that you basically get for free for making a good messaging system will make these performance losses moot anyways.

@Siquo:
The messaging system is alright for some cases, but I think for GUM we need a different type of messaging system. We don't have centralized objects, so we need some sort of publish/subscribe system (i.e. whenever a new animal is created, it needs to be able to publish a NewAnimal message to everyone who wants to know about such a thing). Also, I don't think the message handler should be tied to a specific thread, since it's not scalable (i.e. the same messagehandler should be able to process 20 messages over 1 thread or 2000 messages over 4 or something like that). In particular, classes like "World" or "Graphics" should definitely not be inheriting from the message handler.

One thing in particular that bothered me, messages should not have an execute function. The message pattern usually involves listeners, and listeners decide how they want to respond to messages. In your particular example, then you wouldn't need to dynamic_cast to check if the message listener is in fact a graphics object. alway is also right in that writing so much boiler-plate code just to send a simple message isn't that great.

15
Creative Projects / Re: GUM: Grand Unified Model, Bay12 collab
« on: February 09, 2013, 03:49:37 pm »
Messaging systems aren't actually all that complex. The basic format is:
-Message Handler class, which all messages pass through. Usually a singleton (i.e. only 1 copy of the class exists)
-Some sort of message class, with some sort of identifier. References to this message class get passed around classes
-Functions for classes to broadcast messages (to all classes), subscribe to messages, and set message callbacks

Some nuances:
-Making a reasonable message class can be a bit tricky. The simplest and most flexible method is to have one message class with several string dictionaries (one for each datatype we might want to pass between objects). Another is to have a base message class, and have different message types inherit from the base class, then cast to the appropriate message when it is received. For a concrete example, the former is how javascript handles events (all objects in javascript are actually associative arrays), while the latter is how java handles events.
-Messages are usually handled asynchronously, but this gets a little tricky if something like 2000 objects request a query (i.e. 2000 animals want to know what the weather's like).

I'd be willing to write an implementation of a message handler (time permitting, as I am a poor college student T.T), if someone is willing to set up and maintain a repository now, and is also willing to write cross-platform build scripts.

Pages: [1] 2 3 ... 24