GDR Forum Index
Podcast Podcast
Dev Dev Logs
Search Search
RSS RSS
Register Register
Log in Log in
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Inimicus Page Previous  1, 2, 3 ... , 15, 16, 17  Next
View previous topic :: View next topic  
Author Message
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Sat Jan 22, 2011 8:10 am    Post subject: Reply with quote

I end up using a debugger exactly once a project. There's always that bug, you know... the totally illogical one that you just can't seem to ever pin down. The rest of the time a good logging system and a few strategically placed printfs (or something similar) get the job done nicely.

I like an IDE to be fast and lightweight. I want to write some code, slap F2 and see what changes it brought about, then jump right back in and code some more. I enjoy having project management, but not so much that it gets in the way of things. I also dig having a few simple tools at my disposal, like good code search/bookmark and light autocomplete features. Otherwise, I'd probably just use a text editor, but I despise make files vehemently.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4965
Location: Silicon Valley!
PostPosted: Sat Jan 22, 2011 8:14 am    Post subject: Reply with quote

Quote:
I despise make files vehemently.

You and me both, man.
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
n29
Developer

Joined: 13 Sep 2005
Posts: 879

PostPosted: Sat Jan 22, 2011 8:38 pm    Post subject: Reply with quote

Sirocco wrote:
I'm gearing up for war, this time experimenting with a new color scheme to replace my old Borland-inspired goodness.

I made some progress on the stuff I rambled about last night. Feels good, man.


The colors are fine, but your bracket matching/placement gave me an epileptic seizure. I came to in a puddle of my own saliva.
View user's profile Send private message
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Sat Jan 22, 2011 8:55 pm    Post subject: Reply with quote

I was beginning to wonder when someone would comment on that!

I just have a weird way of looking at code, and I've never been happy with brackets closing at the start of a line. Visually, my mind deals with things best on a line by line basis, so when I see a matching set of brackets, I instantly know that all the lines 'belong' to that particular step in the logic flow. That way, I can deeply nest statements inside a complex procedure and it's visually apparent to me what belongs to what. When people pile up their end brackets to the left side it makes my brains hurt ^_^
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
0xDB
Developer

Joined: 26 Dec 2005
Posts: 1637
Location: Your consciousness.
PostPosted: Sun Jan 23, 2011 5:16 am    Post subject: Reply with quote

Sirocco wrote:
The rest of the time a good logging system and a few strategically placed printfs (or something similar) get the job done nicely.
I used to debug like that. It works but with a good debugger most bugs are way easier to track down. Slapping in a few breakpoints is also much faster and more convenient than having to put in extra code with the sole purpose of determining how far execution gets or which value some variable holds at different points in time. One very nice feature of the MSVC debugger is "conditional breakpoints" which allow testing variables for certain values and only break into the debugging if those conditions are met.

Sometimes those printfs/logs are the only way to find something though when the debugger-execution itself gets in the way (this seems to be more of an issue on single core CPUs and not as problematic on multi-cores though) while trying to debug some multi-threaded system or lots of tight inner loops and/or large collections of interacting "objects".

That being said, I must say I've found that I rely on the debugger much more within the environment of my dayjob than for my private (game) projects, which I think must be due to the fact that games seem to be a lot easier (more fun too) to develop than "real world" applications. :P
_________________
0xDB
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Sun Jan 23, 2011 7:40 am    Post subject: Reply with quote

Quote:

which I think must be due to the fact that games seem to be a lot easier (more fun too) to develop than "real world" applications. :P


It's also much easier to know your own applications inside and out, which may be difficult or outright impossible at the day job. When something goes wrong in one of my games, I usually know where to start looking.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Mon Jan 24, 2011 6:41 pm    Post subject: Reply with quote



That did not turn out quite as I had expected :(
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4965
Location: Silicon Valley!
PostPosted: Mon Jan 24, 2011 7:48 pm    Post subject: Reply with quote

Ooooh fancy! I can't wait. :]
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Mon Jan 31, 2011 3:33 pm    Post subject: Reply with quote

I've been thinking about the interface a bit.

I think the network icon at the bottom of the screen will be an all-purpose button based on your needs. It will display the health of your connection, and when pressed it will open a chat box so you can blabber about how badly you're losing/god's raping your ass/whatever else. It will also display updates when things occur like drop-outs, reconnects, etc.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Wed Feb 16, 2011 5:18 pm    Post subject: Reply with quote

Got a little work done this evening. I'm just struggling with the day job, and... stuff. This whole being alone thing doesn't get any easier, you know. Blech.

I did some more work on the total reboot of the intro sequence, adding in variations to the dialog and hopefully some element of randomosity to the events themselves. Originally the sequence was always the same from start to finish, which honestly left no reason to ever watch it again. That's a lot of effort invested in a one-shot deal, and I was never really comfortable with that prospect. So when the opportunity appeared, I jumped on a rewrite. Uh, sorta. Maybe jumped isn't the correct word. More like shuffled lazily on top of it, like an otaku flopping over on his snuggle pillow.

I'm having motivation issues these days. But I get to watch a lot of neat movies, and if anyone is in the area, the bar in my kitchen stay open until midnight ;) I just hope you like white russians.

What else? Bug fixes? Nope, no bugs to fix. I made a few framework improvements... boring "under the hood" kinda shit. Maybe tomorrow will bring more progress.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4965
Location: Silicon Valley!
PostPosted: Thu Feb 17, 2011 6:33 am    Post subject: Reply with quote

Motivational ruts. They are the worst. Here's an idea though: what about letting the player slightly influence the way the introduction goes? Maybe like letting them pick the island they like/dislike more, and then God decides to do something funny/interesting based off that?

You could even do it behind the scenes, making choices based on where the user has put the mouse. If they mouse over God, he blows up the cursor, etc...
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Thu Feb 17, 2011 7:46 am    Post subject: Reply with quote

I had thought about that at one time... letting the user have a little bit of interaction in the process. It might just be time to revisit that idea.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Sat Feb 19, 2011 7:17 am    Post subject: Reply with quote

I'm working some of Sonrisu's suggestions into the new intro -- sorta. I'm detaching [god] from the experience, mostly making him a spectator to the events, which are narrated via text. So, there's an intro, which he's watching, which you're watching.

Then he notices the mouse cursor...
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
DBAce9Aura
Contributor

Joined: 24 Feb 2009
Posts: 351

PostPosted: Sat Feb 19, 2011 7:23 am    Post subject: Reply with quote

So what are the shrines gonna be for if [god] is mainly a spectator?
View user's profile Send private message Send e-mail AIM Address
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Sat Feb 19, 2011 7:33 am    Post subject: Reply with quote

Quote:

So what are the shrines gonna be for if [god] is mainly a spectator?


Ah, I guess I should've qualified that stuff. I was speaking strictly of the introduction sequence, which I'm reworking from scratch. The game itself won't see any significant changes from the last beta you've played. AI will be improved, netplay will be finished.

The next few posts will likely be intro related.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
sonrisu
Moderator

Joined: 31 Aug 2005
Posts: 4965
Location: Silicon Valley!
PostPosted: Sat Feb 19, 2011 8:00 am    Post subject: Reply with quote

Awesome. Sounds like it will turn out actually kind of comedic -- which is what I think you're going for.

Is he going to have comments of his own while the intro text and sequence is running?
_________________
loomsoft :]
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Sat Feb 19, 2011 8:12 am    Post subject: Reply with quote

I think... he's gonna try to raep the mouse cursor.

Romance comes in many different... flavors.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Sat Feb 19, 2011 4:05 pm    Post subject: Reply with quote



I'd say I got about halfway through a total rewrite of the introduction. It has a bunch of new random dialog, and decouples [god] from the experience almost totally. There's still a bit in the beginning where he banters with the narrator for a moment, but then he starts chasing skirts like he always does (I suppose he's got Zeus for a role model?), which in this case means the mouse cursor. Since it's on-screen, you can't really say it's a 4th wall breaking moment, but certainly quirky. The intro also has a brisk pace to it, as opposed to the stuttering lump of semi-boredom that was the original script.

None of this will make a lick of sense to people who haven't played any of the betas, but I like to gurgle shit all over forums, so indulge me for a moment.

I'm going to take a break because my eyes are tired, and I need to do a few chores. Tomorrow I will finish the intro and do some testing to make sure I haven't broken anything in the process.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Mon Feb 28, 2011 6:03 pm    Post subject: Reply with quote

I'm starting to feel a lot better now that I have some things under control, and the situation at my day job is improving. I have a little creative energy still in me when I get home :)

I did something I've been meaning to do for a while now: tool work. I started out with a simple routine to load objects from a human readable file, so I can tweak objects without having to wander through a bunch of console commands or recompiles. Should I decide to be lazy the files are actually straight C variable definitions, so I can copy/paste them into the code. As it stands it's primitive, but it gets the job done and I can make radical changes to prototype objects from a single file without having to muck about with anything more than numbers in a text file.

Will this help me finish Inimicus? Nope; not one damn bit. I've already finished the game's objects, but I'm thinking about writing a few pieces of code to take down the bottlenecks I run into when making a new game. That's where this comes from. I'll likely make a sister function that will do the same thing, but for GUI windows. I had something like that in FB:CH, but it got outdated reeeeeeeeal quick, whereas this is easy to maintain, unlike a set of GUI menus and interactive stuff. That was total overkill.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
mikedoty
Developer

Joined: 18 Mar 2006
Posts: 1788

PostPosted: Mon Feb 28, 2011 9:01 pm    Post subject: Reply with quote

I'd think loading objects' properties would be especially useful with a game like Inimicus; you must have a ton of various statistics that control the various behaviors of each object. It sounds like something you could theoretically use them for easily establishing a difficulty system; you could store one set of files in a folder "easy" that defines some object's damage as X, and then the corresponding file in the "hard" folder would define it as X*2 or whatnot.

Actually I'm a little curious now about how you "map" the data onto the actual objects after you've read it in from the text (?) files. Do you use some sort of hash lookup to set the object properties? I'd be interested to see an example of the way you implemented it.
_________________
The end of the game, yes, is pretty much getting the weapon and killing off the population.
mashup games . com | Finally! - A Lode Runner Story
View user's profile Send private message Visit poster's website AIM Address
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Tue Mar 01, 2011 5:29 am    Post subject: Reply with quote

Quote:

Actually I'm a little curious now about how you "map" the data onto the actual objects after you've read it in from the text (?) files. Do you use some sort of hash lookup to set the object properties? I'd be interested to see an example of the way you implemented it.


Code:

actors.type[b]              = 12;
actors.mode[b]              = 1;
actors.profession[b]        = 0;
actors.team[b]              = 0;
actors.fading[b]            = 0;
actors.facing[b]            = 0;
actors.blend[b]             = 0;
actors.color[b]             = 0;
.
.
.
+ about 130 more variables


I wish I could say I'm doing some rocket science, but the implementation is supremely ghetto. It opens the file, skips the first thirty characters, putting it just to the right side of the =, then reads the value. There's no mechanism to look for rearranged values, so just keep 'em in the expected order in the file... which I have no need to mess with. If for some reason I want to store the values internally I can copy the file's contents straight into a source file, give b a suitable value, and I'm done.

Back in the Fenix Blade days I kept all my objects external, but it was a pain in the ass to manage them. I keep all my object definitions internally now, and it's easy enough to come up with a derivative object by creating an existing one and tweaking the 2-3 values that are different.


Quote:

It sounds like something you could theoretically use them for easily establishing a difficulty system;


There's no reason why you couldn't do that; not my style though. I prefer to keep my values consistent across difficulty modes, and modify whatever formulas handle important calculations. For example, I'd keep friendly and enemy health values at the same level, but each time damage was applied I'd have a multiplier based on the difficulty. Lower difficulty means you take less damage and give more. Higher difficulty means the opposite.
_________________
NoOP / Reyn Time -- The $ is screwing everyone these days. (0xDB)
View user's profile Send private message Visit poster's website
Gil
Developer

Joined: 14 Nov 2005
Posts: 2341
Location: Belgium
PostPosted: Tue Mar 01, 2011 2:24 pm    Post subject: Reply with quote

I have a module in my codebase that can read XML files, text files, etc, store them in strongly typed classes and even compile those.

If I properly place attribute classification in a model class, it can automatically serialize them into all the supported formats too.

For the classes who talk to those classes, it all looks the same. If I want to save progress to a file, it's just a single command.
_________________
PoV: I had to wear pants today. Fo shame!
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Tue Mar 08, 2011 5:26 pm    Post subject: Reply with quote

I've spent the last two days wandering through the framework, cleaning things up and filling in a few missing features. Documentation, etc. Boring stuff, but it makes life a little easier down the road.
View user's profile Send private message Visit poster's website
Sirocco
Moderator

Joined: 19 Aug 2005
Posts: 9366
Location: Not Finland
PostPosted: Thu Mar 17, 2011 11:34 am    Post subject: Reply with quote

Now would probably be a great time to release a game where island nations occasionally suffer various natural disasters, including getting nuked.


O_o
View user's profile Send private message Visit poster's website
PoV
Moderator

Joined: 21 Aug 2005
Posts: 10671
Location: Canadia
PostPosted: Thu Mar 17, 2011 12:46 pm    Post subject: Reply with quote

o_O indeed.
_________________
Mike Kasprzak
'eh whatever. I used to make AAA and Indie games | Ludum Dare | Blog | Tweetar
View user's profile Send private message
Reply to topic GDR Forum Index -> Game Developer's Refuge -> Development Log - Inimicus Page Previous  1, 2, 3 ... , 15, 16, 17  Next

Use this link to get a Sign-On Bonus when you get started!

All trademarks and copyrights on this page are owned by their respective owners. All comments owned by their respective posters.
phpBB code © 2001, 2005 phpBB Group. Other message board code © Kevin Reems.