Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411273 Posts in 69323 Topics- by 58380 Members - Latest Member: bob1029

March 28, 2024, 02:07:14 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)The grumpy old programmer room
Pages: 1 ... 200 201 [202] 203 204 ... 295
Print
Author Topic: The grumpy old programmer room  (Read 733189 times)
rivon
Level 10
*****



View Profile
« Reply #4020 on: April 05, 2013, 04:15:03 PM »

I don't know if we're talking about the same kind of lectures. We have "lectures" in big lecture theatres for 200 people or more where the teachers just tell you stuff. You don't have to go there. Then you have "exercise classes" where you're in a group of 20-30 people and calculate arithmetical problems, program little stuffs or learn to work in some apps, depending on the subject. You have to go to these ones. And then some subjects have "proseminars" where you learn more theory but also do some practical work in groups bigger than the exercise classes but smaller than the lectures.

Example
Subject: Computer Networks
"lecture" - 200-300 people, all theory
"exercise class" - 24 people actually working with PCs, Cisco routers, Cat5e/6 cables and switches
proseminars - 75-150 people in a lecture hall listening to more theoretical stuff, then calculating some subnets and supernets in the second part of the proseminar (or whatever else they were teached that lesson)

Only the exercise classes are mandatory here, and then only in some subjects like Linear Algebra, Mathematical Analysis etc.
Logged
rosholger
Level 1
*



View Profile
« Reply #4021 on: April 05, 2013, 07:49:46 PM »

nope we are not talking about the same thing, basically i don't have lectures at all since i go to the Swedish equivalent of high school, in our version of college you have lectures but i don't actually know if they are mandatory
Logged
sublinimal
Level 8
***



View Profile
« Reply #4022 on: April 06, 2013, 01:32:00 AM »



Gimme a break! It's just copypasted from another class which passes nicely through gcc. C++ makes me go "eugh" regularly.
Logged
_Tommo_
Level 8
***


frn frn frn


View Profile WWW
« Reply #4023 on: April 06, 2013, 05:24:01 AM »

that should mean that you forgot to define the first virtual method of that class!
Logged

sublinimal
Level 8
***



View Profile
« Reply #4024 on: April 06, 2013, 06:50:14 AM »

Yeah, it turned out to be a brainfart with virtual functions. Quite an obscure one too, took me a while to find.
Logged
Noogai03
Level 6
*


WHOOPWHOOPWHOOPWHOOP


View Profile WWW
« Reply #4025 on: April 08, 2013, 05:50:21 AM »



Gimme a break! It's just copypasted from another class which passes nicely through gcc. C++ makes me go "eugh" regularly.

The main reason I gave up on learning C++. Pointers are a nuisance, header files can be weird, there are quirks like the closing class semicolon; but those are manageable. It's the OBSUCURE AS HELL errors you get that made it too excruciating for me
Logged

So long and thanks for all the pi
epcc
Level 1
*


View Profile
« Reply #4026 on: April 08, 2013, 06:58:48 AM »

problems like "why doesn't it compile?" fade away in the first year.
The worst(best?) thing about C++ is how easy it is to write absolutely unmaintnainable code.
After 6 years of C++, I still haven't decided if I hate this language or love it.
Logged

Noogai03
Level 6
*


WHOOPWHOOPWHOOPWHOOP


View Profile WWW
« Reply #4027 on: April 08, 2013, 07:01:21 AM »

Hah, I decided that I hated it after about a week  No No NO
Logged

So long and thanks for all the pi
Will Vale
Level 4
****



View Profile WWW
« Reply #4028 on: April 08, 2013, 08:26:56 PM »

Bah, just lost an evening's work Sad

I'd done a too-big "hg add" and was reverting the various folders I'd added. I must've accidentally done "hg revert --all" through the GUI and lost my modified files as well.

No problem, I thought - Mercurial saves reverted files as .orig, except in my case it hadn't.

I *think* the issue was that unbeknownst to me, a dozen or so files in my source tree were UTF-16, which get treated as binary. I've changed these back to ASCII, fingers crossed this doesn't happen again.

It was of course these few files which contained all the changes I'd made. Next step: Recreate all those lost changes. It's usually quicker the second time...

W
Logged
Crimsontide
Level 5
*****


View Profile
« Reply #4029 on: April 08, 2013, 09:38:46 PM »



Gimme a break! It's just copypasted from another class which passes nicely through gcc. C++ makes me go "eugh" regularly.

The main reason I gave up on learning C++. Pointers are a nuisance, header files can be weird, there are quirks like the closing class semicolon; but those are manageable. It's the OBSUCURE AS HELL errors you get that made it too excruciating for me

Hehe... those are all simple things.  What really irks me are things like:

Code:
template <typename T> void DoSomething (T data) {}         // T will be a type, will bind to anything, and is what you wish you could write and just be done with it
template <typename T> void DoSomething (const T& data) {}  // T will be a type, will bind to temporaries
template <typename T> void DoSomething (T&& data) {}       // T till be a reference, not a type like everyone would assume, but will bind to temporaries
template <typename T> void DoSomething (T& data) {}        // T will be a type, and won't bind to temporaries because.. well because fuck you I'm C++

or stuff like:

Code:
int i = -100;
i >> 2;

is undefined.  Or this:

Code:
i = 3;
func(++i,++i,++i);

Ya undefined as well.  Or fun stuff like NVR optimization where side effects can just be tossed aside, cause we don't need no stinking side effects...

Or the fact that its an OO language, that doesn't support subtyping.  I mean how is it really OO at that point??  In fact template programming is more OO than classes are in C++...

Oh gosh... this list could go on for pages.
Logged
oByhring
Level 0
**


View Profile WWW
« Reply #4030 on: April 09, 2013, 03:38:48 AM »

I just got to borrow an iPad 1 to test my game on. I've got a iPad retina myself and the game runs smooth there.

I load up the game on the old iPad and it runs at 10FPS when I try to disable half the objects that are being rendered.

I see no way of making this game run on the old iPad without sacrificing basically the entire graphical style.

Fuck the iPad 1.

PS: Does anyone know if you can release iPad games for only iPad 2 and 3 (retina) ? ._.
Logged

Game developer/programmer.
www.oyvindbyhring.net
Impmaster
Level 10
*****


Scary, isn't it?


View Profile WWW
« Reply #4031 on: April 09, 2013, 03:41:36 AM »

PS: Does anyone know if you can release iPad games for only iPad 2 and 3 (retina) ? ._.

I used to have an older ipod touch, and half the games on the app store required me to have a newer ipod touch. I'm sure you can.
Logged

Do I need a signature? Wait, now that I have a Twitter I do: https://twitter.com/theimpmaster
Klaim
Level 10
*****



View Profile WWW
« Reply #4032 on: April 09, 2013, 03:48:27 AM »

Lack of variadic template support in Visual Studio (CTP is not usable in production) makes my code bleed over in my screen. TT____TT
Logged

Geti
Level 10
*****



View Profile WWW
« Reply #4033 on: April 09, 2013, 06:19:51 AM »

Code:
#define genericVoidFunction(ClassName, FunctionName) static void ClassName##_generic##FunctionName##(asIScriptGeneric* gen) {\
ClassName* self = (ClassName*)gen->GetObject();\
self->FunctionName();\
}

#define genericBoolFunction(ClassName, FunctionName) static void ClassName##_generic##FunctionName##(asIScriptGeneric* gen) {\
ClassName* self = (ClassName*)gen->GetObject();\
gen->SetReturnByte( self->FunctionName() );\
}

#define genericIntFunction(ClassName, FunctionName) static void ClassName##_generic##FunctionName##(asIScriptGeneric* gen) {\
ClassName* self = (ClassName*)gen->GetObject();\
gen->SetReturnWord( self->FunctionName() );\
}

...

/* on and on and on */

... oh the fun of rebinding almost everything to use a generic calling convention to fix compatibility with a JIT compiler that can't find virtual functions in classes with multiple inheritance that don't provide their own implementation. Tired it's either change the way it calls them or pollute the crap out of every affected class C++ side, so we're opting for the non member generic AS call way of doing things. Unfortunately that involves a gigantic amount of code that looks very similar with a few numbers or type names here and there changed around, so while it's friendly to macros (hahahaha good idea) it's not particularly friendly to read or debug while it's going up.

I'm seriously hoping this JIT stuff gives us the kind of margin we need. We're kinda running out of things to optimise other than the script runtime. Droop
Logged

Klaim
Level 10
*****



View Profile WWW
« Reply #4034 on: April 09, 2013, 06:49:33 AM »

You mean the scripts are in C++ and you use a JIT compiler inside the game to run the scripts?
Logged

gimymblert
Level 10
*****


The archivest master, leader of all documents


View Profile
« Reply #4035 on: April 09, 2013, 07:39:33 AM »

I had huge expectation that the more I stare at code the more familiar I will became, well the reverse seems to happen, I have code aversion more and more often Sad
Logged

insyzygy
Level 0
**


View Profile
« Reply #4036 on: April 09, 2013, 09:22:13 PM »

Marching cubes is a bitch. Accounting for 256 possible cases plus normals data is not a small task. The tenons in my right wrist are soar from typing array entries.
Logged
Geti
Level 10
*****



View Profile WWW
« Reply #4037 on: April 10, 2013, 12:40:41 AM »

Marching cubes is a bitch. Accounting for 256 possible cases plus normals data is not a small task. The tenons in my right wrist are soar from typing array entries.
Write code to generate the table / use an existing lookup table.

I have code aversion more and more often Sad
Find a separate outlet and come back to the code refreshed. Draw or make music or play some games. Get a good night's rest also helps.

You mean the scripts are in C++ and you use a JIT compiler inside the game to run the scripts?
Nope, we considered that at one point but used an existing language instead to help preserve our sanity.
The scripts are AngelScript, which we chose cause it's simple to bind, shares memory with your program, and is reasonably fast; but naturally when the whole game is implemented in scripts and it's got to work for 32 players simultaneously performance isn't as great as we'd like, so we're getting the JIT working as a backstop.

Unfortunately the JIT isn't compatible with the native calling convention in some cases, so I've got to basically bind a proxy function that makes the call instead, for a _lot_ of our sprite component and a few of the methods in each component class.
Logged

Klaim
Level 10
*****



View Profile WWW
« Reply #4038 on: April 10, 2013, 03:34:51 AM »

Ah ok... for binding with C++ the best languages, from what I researched, are ChaiScript (very easy) and Falcon (less easy but far more flexible). I guess you would have been pleased by ChaiScript in your case, but to use the last versions you would have needed a compiler other than Visual Studio ones (which are still behind in the c++11 implementation course).

Maybe next game you should try ChaiScript and Falcon? The last Falcon version is very new design and is in alpha, but it's good if you need a Python-like syntax and very flexible system (that's what I'm using). ChaiScript is just the simplest language to bind with C++, the only potential issue is that the syntax is C-like, which might not feel good for some gds.
Logged

Geti
Level 10
*****



View Profile WWW
« Reply #4039 on: April 10, 2013, 05:07:13 AM »

Considering the reason we chose AngelScript over Lua ultimately was not wanting to force Michal to branch out from C style syntax, we might consider looking into chaiscript later.

Honestly, we're not afraid of getting our hands dirty though; we're considering potentially either writing languages that compile to Lua to get the benefits of a mature JIT compiler and runtime like LuaJIT _and_ our preference for a statically typed language, or just using C as the "scripting" language and hot swapping DLLs Smiley

We want to ship this game before we get involved with either though, naturally.
Logged

Pages: 1 ... 200 201 [202] 203 204 ... 295
Print
Jump to:  

Theme orange-lt created by panic