My collection of suggestions and issues

31 replies [Last post]
Worldblender
Worldblender's picture
User offline. Last seen 17 weeks 5 days ago. Offline
Joined: 2017-06-17
Posts: 15

Here comes what I tend to do whenever I run Hedgewars. I tend to play the quick games with AIs, since I'm looking to click-and-play most of the time. Along the way, I already found a few flaws that I think are worth fixing by me:

  • The generic name list has only 9 names to pick from, and I think that's going to get repetitive very easily. Annoyed So I might come here again with a list of names (probably surnames and given names plucked from Wikipedia), with their filenames determining which hats they will be associated with.
  • AI teams are unable to use the full range of weapons. I've already seen this https://hedgewars.org/kb/TODO, so I know that I'm not the only one with this problem.
  • None of the quick game settings can be changed. Sad Smiley This means, for example, I'm unable to play with higher or lower difficulty AI teams other than level 2, I can't use any of the default image maps, don't get to see hatless hedgehogs, and only the default voices are played.
  • The predefined teams don't cover the majority of hats that are shipped with the game, which means less diversity, and I hope that I can create more predefined teams to fix this.
  • The most fun that I could receive from this game, is located with the hotseat games, but that requires that I also define my AI teams, which I may not always be willing to do, especially when I can run out of unique names to differentiate the hedgehogs.
  • Mostly minor, and no offence here, but some of the game content seems to be biased towards Western (European-based) themes. As a Chinese-American, I prefer staying neutral with almost all cultures worldwide.
  • This one stands out to me a lot: With the IndianChief hat Indian Chief , I feel that this may perpetuate more confusion Aghh between these, who really should be called Native/Indigenous Americans, and the country of India along with its people.
Now here are some that relate to the game code:
  • Consider migrating the frontend to Qt5. Qt5 is likely to bring some features to the frontend (too many to name), and bring this project a step closer for a new Android port.
  • Consider relicensing the code to at least GPLv2+ (can be easily done by appending after GPLv2, "or at your option, any later version of the GNU GPL"), and the data files to one of the 'free' Creative Commons licenses (either CC-BY or CC-BY-SA), preferably with version 4.0. For the code, it will enable future compatibility with projects whose code is licensed with GPLv3. For the data files, the CC licenses are better suited for multimedia things, and legitimately allows people to make remix works such as featuring the hedgehogs somewhere else, without running into license incompatibilities or proliferation.
That's all the I have noted so far, but there may be more issues that I may not have seen yet. While I can fix some these issues on my own, It's okay if not all of the suggestions can be implemented, if given with reason. There's no need to rush through any of these suggestions, either.

Lyberta
Lyberta's picture
User offline. Last seen 6 hours 42 min ago. Offline
Joined: 2016-09-10
Posts: 170

Qt5 frontend is already in the works but it's developed from scratch in QML. If you have experience with Qt you can probably update current frontend.

I actually haven't looked at the licenses since I installed it from Debian main so it passes Debian Free Software Guidelines. Yes, changing to GPLv2+ would be better as my content is GPLv3+. Also I don't like GFDL because of invariant sections clause.

There are lots of licenses missing in CREDITS file...

nemo
nemo's picture
User offline. Last seen 22 hours 42 min ago. Offline
Joined: 2009-01-28
Posts: 1612

Feel free to submit a CREDITS update if you feel something important is missing.

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

Lyberta
Lyberta's picture
User offline. Last seen 6 hours 42 min ago. Offline
Joined: 2016-09-10
Posts: 170

I don't know where the content mentioned in CREDITS comes from so I can't determine the license of it.

Like:

==========
= FORTS
==========
- Carlos Vives -> Tank (2010)
- Dragonfly -> EvilChicken (2010)
- Randy Broda -> SteelTower (2013)
- Jon Dum and Wuzzy -> Snail (2017)
- Maciej Mroziński (a.k.a. alzen) and Wuzzy -> Lonely_Island (2017)
- Guillaume Englert and Wuzzy -> Olympic (2017)

How am I supposed to trace the origin of those?

sheepluva
sheepluva's picture
User offline. Last seen 5 days 20 hours ago. Offline
Joined: 2009-07-18
Posts: 526

First of all: Welcome to the community! Big Grin

Worldblender allegedly wrote:

  • The generic name list has only 9 names to pick from, and I think that's going to get repetitive very easily. Annoyed So I might come here again with a list of names (probably surnames and given names plucked from Wikipedia), with their filenames determining which hats they will be associated with.
  • The predefined teams don't cover the majority of hats that are shipped with the game, which means less diversity, and I hope that I can create more predefined teams to fix this.

More predefined names and teams would be nice, I'm looking forward to your contributions Smile

Worldblender allegedly wrote:

  • AI teams are unable to use the full range of weapons. I've already seen this https://hedgewars.org/kb/TODO, so I know that I'm not the only one with this problem.

Yes, as can see there's still a lot in that list. Are there any weapons/utilities that you feel would be more urgent than others, for beint taught to the AI?

Worldblender allegedly wrote:

  • None of the quick game settings can be changed. Sad Smiley This means, for example, I'm unable to play with higher or lower difficulty AI teams other than level 2, I can't use any of the default image maps, don't get to see hatless hedgehogs, and only the default voices are played.

That is true (except for keybindings).
Only default voices? I don't think I notice that, but that surely could and should be changed.

Worldblender allegedly wrote:

  • The most fun that I could receive from this game, is located with the hotseat games, but that requires that I also define my AI teams, which I may not always be willing to do, especially when I can run out of unique names to differentiate the hedgehogs.

Agreed. It shouldn't be necessary to manually create an AI enemy. There should be a button/mechanism to just add a random AI team (with adjustable difficulty) to the game's teams list on the fly.

Worldblender allegedly wrote:

  • Mostly minor, and no offence here, but some of the game content seems to be biased towards Western (European-based) themes. As a Chinese-American, I prefer staying neutral with almost all cultures worldwide.

The community is mostly based in Europe (and the Americas). The bias you're seeing is reflecting the culture of the developers and contributors.
Not that we would mind more contributors or diversity at all Smile

Worldblender allegedly wrote:

  • This one stands out to me a lot: With the IndianChief hat Indian Chief , I feel that this may perpetuate more confusion Aghh between these, who really should be called Native/Indigenous Americans, and the country of India along with its people.

Yes, this could be cleared up. Although then we should find a way to migrate the old hat selection (and forum smileys) to the new name of the hat, so that existing teams don't get broken by the change.

Worldblender allegedly wrote:

  • Consider migrating the frontend to Qt5. Qt5 is likely to bring some features to the frontend (too many to name), and bring this project a step closer for a new Android port.

As Lyberta pointed out a QML-based Qt5-frontend is in the works (and has been for some years now).
However, with current lack of man-power on the development-side, don't expect it to get finished before Qt7 is released Big Grin
As always, any help will be appreciated.
Porting the existing Qt4-frontend to Qt5 would also be welcome.

  sheepluva <- me  my code stats -> 
a Hedgewars Developer


   <- where I'm from  what I speak -> 

KoBeWi
KoBeWi's picture
User offline. Last seen 58 min 43 sec ago. Offline
Joined: 2010-12-25
Posts: 426

Talking about TODO list...

TODO allegedly wrote:
Create an easy-to-use theme editor, outlining all the necessary files for our themes
Does my theme editor qualify for this?

sheepluva
sheepluva's picture
User offline. Last seen 5 days 20 hours ago. Offline
Joined: 2009-07-18
Posts: 526

KoBeWi allegedly wrote:

Talking about TODO list...
TODO allegedly wrote:
Create an easy-to-use theme editor, outlining all the necessary files for our themes
Does my theme editor qualify for this?

I guess, haven't tested the new version yet.
Which reminds me - would you mind if I announce your theme editor release on the social cancer medias at some point?

  sheepluva <- me  my code stats -> 
a Hedgewars Developer


   <- where I'm from  what I speak -> 

KoBeWi
KoBeWi's picture
User offline. Last seen 58 min 43 sec ago. Offline
Joined: 2010-12-25
Posts: 426

sheepluva allegedly wrote:
would you mind if I announce your theme editor release on the social cancer medias at some point?
What do you mean by "social cancer medias"? XD

I won't mind making my editor more popular.

UltiMaxKom
UltiMaxKom's picture
User offline. Last seen 5 days 4 hours ago. Offline
Joined: 2016-06-26
Posts: 344

Lyberta allegedly wrote:
How am I supposed to trace the origin of those?

Don't have true solution for this, but Want to tell that Lonely Island is from WarMux, originally
Sheepluva allegedly wrote:
More predefined names and teams would be nice, I'm looking forward to your contributions

Me too
Sheepluva allegedly wrote:
Yes, as can see there's still a lot in that list. Are there any weapons/utilities that you feel would be more urgent than others, for beint taught to the AI?

Want to add my opinion to this urgent bucket list: Flying Saucer, or AT LEAST Teleportation, those Al seem, uhm, hates walls =/
They need some mobility capability rather than weapon right now (also, they need some milk)
IMO
Sheepluva allegedly wrote:
That is true (except for keybindings).
Only default voices? I don't think I notice that, but that surely could and should be changed.

Never know these stuff, never play quick match (I rather be lazy, but, this isn't my level though x] )
Sheepluva allegedly wrote:
Agreed. It shouldn't be necessary to manually create an AI enemy. There should be a button/mechanism to just add a random AI team (with adjustable difficulty) to the game's teams list on the fly.

Another vote for you contribution Worldblender! (I'm not lazy! lol, I think I'am xD )
Sheepluva allegedly wrote:
However, with current lack of man-power on the development-side, don't expect it to get finished before Qt7 is released Big Grin

Ah, Man-Power? We have somethin' better! We have Hog-Power instead ;D ! With the power of cuteness, Qt5 shall be done, really soon...
[btw, lol for AwesomeFace Big Grin that Sheepluva give in the end of sentence xD]
KoBeWi allegedly wrote:
What do you mean by "social cancer medias"? XD
I won't mind making my editor more popular.

"Social Media Cancer" xD

--

Anyway, this give me a question, does 'the work' of Qt4-Qt5 Frontend really work in progress?
Because I quote that this have take 'some years' already...
But after all, its not a problem, the thing is: I vote for these contribution =]
Have a great day for Hedgewars ^^!

( 'ಠ_ಠ)▄︻̷̿┻̿═━一 ̿̿ ̿̿ ̿̿ ̿'̿'\̵͇̿̿\з= ( ▀ ͜͞ʖ▀) =ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿ ᕙ(⇀‸↼‶ )ᕗ

sheepluva
sheepluva's picture
User offline. Last seen 5 days 20 hours ago. Offline
Joined: 2009-07-18
Posts: 526

KoBeWi allegedly wrote:

What do you mean by "social cancer medias"? XD

You know the facebooks and the tweeties. And frontpage blog I guess.

UltiMaxKom allegedly wrote:

Want to add my opinion to this urgent bucket list: Flying Saucer, or AT LEAST Teleportation, those Al seem, uhm, hates walls =/

Agreed, lack of teleportation is a problem with AI, especially when it comes to SD.
AI needs SD-Awareness in general.

With regards to Teleportation I already made a list of things I want each AI level to consider (number of idle turns, SD, height, enemy location, fire, mines, airmines, crates, cliffs, cover and something else heehee) and how,
but dunno when I get to type it into engine.
Since it is kinda lot of things to consider there's a fair chance of bugs/crashes sneaking in, so probably not going to happen in 0.9.23, but the release after.

  sheepluva <- me  my code stats -> 
a Hedgewars Developer


   <- where I'm from  what I speak -> 

UltiMaxKom
UltiMaxKom's picture
User offline. Last seen 5 days 4 hours ago. Offline
Joined: 2016-06-26
Posts: 344

Sheepluva allegedly wrote:
Agreed, lack of teleportation is a problem with AI, especially when it comes to SD.
AI needs SD-Awareness in general.

Indeed, SD is one of the most, vulnerable point of Al (for me(why?well,my Al based gamemode ruin by this x) ))
Leave them to death while we having some snacks
For the big image: Lets imagine that we have really, simple tool, with so called stuckin' power with them, and now lets try to put it into Al's hog, make them cannot move like putting Girders around them
then everything seems silly, even they have 100 Teleportation with them they will stuck there forever or at least until they shot their own legs
This, is the thing that Al need to know: Advanced Mobility rather than Traditional Movement only
Sheepluva allegedly wrote:

With regards to Teleportation I already made a list of things I want each AI level to consider (number of idle turns, SD, height, enemy location, fire, mines, airmines, crates, cliffs, cover and something else heehee) and how,

Nice! Bot Level Setting List is cool =O
This should be good to put it here (showtime!) ;D
Sheepluva allegedly wrote:

but dunno when I get to type it into engine.
Since it is kinda lot of things to consider there's a fair chance of bugs/crashes sneaking in, so probably not going to happen in 0.9.23, but the release after.

Yeah, this is the problem: Its freaking hard to do (seriously)
Adding weapon seems possible, but when come to Al' business, then it won't came as easy as adding those weapon
Because Al just a form of organized order from dozen of code, and what they can do, is what we have told them earlier (with code!), we told them using creepy-algorithm language, including to answer When Why Who Where and How question for them, and we are telling them with our if then else, and this isn't simple as saying "do this when you're hurt" to Al, we are figuring how to tell Al "that is better and this is worse, those are bad and these are good"
Also, do you know what? I'm talking about making Logic stuff for Al, but the funny thing is, I still telling "hello world" with my scripts, so why I walk so far from my mudcave xD ? lol
Anyway, And With those consideration as well, for bugs and risk, 0.9.23 SuperAl definitely won't happen =/

And...
Sad too, to wait 0.9.24 for better Al, but 0.9.23 is really good enough IMO (many changes though!)
So, hmmmm, maybe a bright hope for Hedgewars 0.9.24 is enough to keep moving forward =]

Well then, with note to myself that doing stuff like telling Al why drowning is bad ISN'T EASY
and another note for future self that "hello world" isn't enough for this
Our Al maybe good for some stuff, and may bad for some stuff as well, but they're still Al, won't and never will replace our little brains over here, so this is it, the solution is play with those kind-fun or crappy-toxic player over the server, and wish you better than that human over there on the other side of the globe
But hey! Remember that I REALLY WANT better Al for some scripts/gamemode reason, and never hold it back (if its coming), and I still hope it will be done =]
btw
I just get a good day here so, good luck for everybody ^^ !!!

( 'ಠ_ಠ)▄︻̷̿┻̿═━一 ̿̿ ̿̿ ̿̿ ̿'̿'\̵͇̿̿\з= ( ▀ ͜͞ʖ▀) =ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿ ᕙ(⇀‸↼‶ )ᕗ

KoBeWi
KoBeWi's picture
User offline. Last seen 58 min 43 sec ago. Offline
Joined: 2010-12-25
Posts: 426

Maybe AI would be easier to model and program if it was handled in Python.

Also, an absolutely cool overkill improvement would be using neural networks and deep learning for AI. And Python seems to be most popular here.

sheepluva
sheepluva's picture
User offline. Last seen 5 days 20 hours ago. Offline
Joined: 2009-07-18
Posts: 526

KoBeWi allegedly wrote:

Maybe AI would be easier to model and program if it was handled in Python.

Also, an absolutely cool overkill improvement would be using neural networks and deep learning for AI. And Python seems to be most popular here.

What does python pay you for that? Because other than possible sponsorship I cannot find much logic or sense in those statements Big Grin

The language doesn't really matter for either of those things.
Neural networks could be a fun experiment to try, but it would ofc be much more effort with questionable results.
Would be fun to see if it could learn roping though.

  sheepluva <- me  my code stats -> 
a Hedgewars Developer


   <- where I'm from  what I speak -> 

Lyberta
Lyberta's picture
User offline. Last seen 6 hours 42 min ago. Offline
Joined: 2016-09-10
Posts: 170

Hedgewars must be rewritten in C++. Full stop. Cause C++.

UltiMaxKom
UltiMaxKom's picture
User offline. Last seen 5 days 4 hours ago. Offline
Joined: 2016-06-26
Posts: 344

Sheepluva allegedly wrote:
What does python pay you for that? Because other than possible sponsorship I cannot find much logic or sense in those statements Big Grin

Ads?
Sheepluva allegedly wrote:
Neural networks could be a fun experiment to try, but it would ofc be much more effort with questionable results.
Would be fun to see if it could learn roping though.

Yeah =D
Would be cool if those dummies try to swing left to right and use up and down xD

Btw, what would ya think if using Genetic Algorithm for some Al's problem?
Can this solve problems? Just curious (well, after learning GA, I just pop up here and put this into comment x) )

My Favorite GAs implementation in programming
https://www.youtube.com/watch?v=Gl3EjiVlz_4

After all, thats a good idea though ^^

( 'ಠ_ಠ)▄︻̷̿┻̿═━一 ̿̿ ̿̿ ̿̿ ̿'̿'\̵͇̿̿\з= ( ▀ ͜͞ʖ▀) =ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿ ᕙ(⇀‸↼‶ )ᕗ

KoBeWi
KoBeWi's picture
User offline. Last seen 58 min 43 sec ago. Offline
Joined: 2010-12-25
Posts: 426

sheepluva allegedly wrote:
What does python pay you for that? Because other than possible sponsorship I cannot find much logic or sense in those statements Big Grin

The language doesn't really matter for either of those things.

So you tell me, you see no difference between code written in Pascal and in Python? The purpose of high level languages is that they are simpler to use. That's why you script in LUA, not in C (although compilation plays a role too). I mean, AI is a very complex thing to make and you don't need really fast languages to handle it (aside from helper functions like for scanning terrain).

Lyberta allegedly wrote:
Hedgewars must be rewritten in C++. Full stop. Cause C++.
Well, tbh if Hedgewars wasn't written in Pascal, I would be more willing to work more with the engine. I just find Pascal totally unreadable for some reason and it's deep down in bottomless abyss on my list of preferred languages.

However, my first programming language was Ruby and it's the only language I find no annoying flaws in (code-wise). Also its brilliance can still surprise me, even after 8 years of using it. The problem is, Ruby isn't really suitable for handling HW engine Sad Smiley And I'm close to hating any other language (maybe except Python, it just has some things I dislike slightly). C++ has memory management and headers are annoying af. Java is retarded when it comes to handling exceptions and implicit conversions (I had it enough when making the theme editor). Rewritting whole Hedgewars is a huge task, and if, for example, I were to do it, I don't really know any suitable language that I won't curse after week of work.

Still, I once had an idea to integrate some scripting languages (like Ruby, or Python since it's more popular in games) into the engine. For example, if weapons were partially implemented in Ruby/Python, it would be easy to allow weapon scripting and creating custom weapons. Alas I don't know the inner workings of the engine, so I wouldn't know how to implement integration with another language and I just don't feel like trying to do this, because that's probably a lot of work.

I know I'm over-complicating things. Just ignore this post >_>

Lyberta
Lyberta's picture
User offline. Last seen 6 hours 42 min ago. Offline
Joined: 2016-09-10
Posts: 170

KoBeWi allegedly wrote:

I mean, AI is a very complex thing to make and you don't need really fast languages to handle it (aside from helper functions like for scanning terrain).

Actually, using high level language is inadvisable for complex systems because the performance will suffer a lot. You can trade-off the slowness of language for speed of development only in simple cases.

KoBeWi allegedly wrote:

Well, tbh if Hedgewars wasn't written in Pascal, I would be more willing to work more with the engine. I just find Pascal totally unreadable for some reason and it's deep down in bottomless abyss on my list of preferred languages.

Same, Pascal is a very old and mostly dead language.

KoBeWi allegedly wrote:

C++ has memory management and headers are annoying af.

Manual memory management is there for very low level stuff and legacy code. Modern C++ uses RAII everywhere that does automatic memory management.

KoBeWi allegedly wrote:

Still, I once had an idea to integrate some scripting languages (like Ruby, or Python since it's more popular in games) into the engine. For example, if weapons were partially implemented in Ruby/Python, it would be easy to allow weapon scripting and creating custom weapons. Alas I don't know the inner workings of the engine, so I wouldn't know how to implement integration with another language and I just don't feel like trying to do this, because that's probably a lot of work.

I think the most modern way would be integrating WebAssembly into the engine. That would add several languages out of the box.

KoBeWi
KoBeWi's picture
User offline. Last seen 58 min 43 sec ago. Offline
Joined: 2010-12-25
Posts: 426

Lyberta allegedly wrote:
Actually, using high level language is inadvisable for complex systems because the performance will suffer a lot. You can trade-off the slowness of language for speed of development only in simple cases.
Well, I assumed that AI is very complex to write, but it's not very dependent on execution speed. But I might be wrong, at least when you want AI to plan possible outcomes of an action few turns ahead. Maybe a hybrid system, where decisions are modeled on high-level, while most of calculation stay on low-level, could work. Dunno if that makes sense XD

Lyberta
Lyberta's picture
User offline. Last seen 6 hours 42 min ago. Offline
Joined: 2016-09-10
Posts: 170

KoBeWi allegedly wrote:

Well, I assumed that AI is very complex to write, but it's not very dependent on execution speed.

Had this been true, we would already have super human AI in our smartphones and other appliances. AI is a very hard problem.

nemo
nemo's picture
User offline. Last seen 22 hours 42 min ago. Offline
Joined: 2009-01-28
Posts: 1612

I felt I had to pipe up on the pascal thing...

I realise it isn't cool, and rewriting it is kinda on the todo.. But it really isn't that hard to read.
Esp if you're comfortable reading C - I mean, the two only have some modest syntax variations, otherwise it's pretty similar stuff 90% of the time, apart from having things C doesn't have like units and operator overloading.
It should also be familiar if you've ever done any PL/SQL

I gotta question the willingness to contribute of anyone for whom that is anything but a mild obstacle. :p

I mean. I hadn't touched pascal apart from a few months, twenty years prior, before getting into the engine - it was more my C experience that helped, and it really didn't take much time at all to acclimate.

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

KoBeWi
KoBeWi's picture
User offline. Last seen 58 min 43 sec ago. Offline
Joined: 2010-12-25
Posts: 426

It's not that I'm unable to do anything in the engine. I was able to finish my first contribution in just 2 hours after seeing the code for the first time. Pascal just... puts me off for some reason. Variable declaration is done in weird way, different rules apply to using semicolons. I know over 10 programming languages and Pascal just feels strange compared to everything.

I had problems with C++ too, though. When I did stuff with frontend, I especially didn't like the header files, because you have to write everything twice (not counting implementations). Probably there are IDEs that handle it automatically, but I'm not a fan of IDEs and working with that many of source files is bothersome.

Maybe it's just that I want to make it my way. Dunno.

Lyberta
Lyberta's picture
User offline. Last seen 6 hours 42 min ago. Offline
Joined: 2016-09-10
Posts: 170

nemo allegedly wrote:

I gotta question the willingness to contribute of anyone for whom that is anything but a mild obstacle. :p

It's kinda my own thing. It took me a few weeks to mentally prepare to start contributing to Xonotic which is written in QuakeC which is very similar to C. I can't handle stress and learning a new (or long forgotten and hated) language is pretty hard.

KoBeWi allegedly wrote:

I had problems with C++ too, though. When I did stuff with frontend, I especially didn't like the header files, because you have to write everything twice (not counting implementations). Probably there are IDEs that handle it automatically, but I'm not a fan of IDEs and working with that many of source files is bothersome.

Well, a header file is a good place for documentation where you quickly see the public interface of a module. There is no standard ABI so header files are the imperfect solution.

Worldblender
Worldblender's picture
User offline. Last seen 17 weeks 5 days ago. Offline
Joined: 2017-06-17
Posts: 15

Finally, I'm back with something new, and this time, it's a few changes to the names and teams set. Keep an eye out for another post in the "Content Creations" subforum.

nemo
nemo's picture
User offline. Last seen 22 hours 42 min ago. Offline
Joined: 2009-01-28
Posts: 1612

Heh. A recent comment on HN reminded me of this thread.
https://news.ycombinator.com/item?id=14734921

It's true. Compiling the engine has always taken just a few seconds. That's one of the most annoying things about compiling C/C++ is how slow it is. Switching to Rust won't improve compile speed unfortunately (although plenty of other things).

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

Lyberta
Lyberta's picture
User offline. Last seen 6 hours 42 min ago. Offline
Joined: 2016-09-10
Posts: 170

How does Pascal handle ABI?

nemo
nemo's picture
User offline. Last seen 22 hours 42 min ago. Offline
Joined: 2009-01-28
Posts: 1612

That's awfully generic, but since freepascal is the pascal in question in this case...
http://wiki.lazarus.freepascal.org/Assembler_and_ABI_Resources

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

Worldblender
Worldblender's picture
User offline. Last seen 17 weeks 5 days ago. Offline
Joined: 2017-06-17
Posts: 15

Worldblender allegedly wrote:

Consider relicensing the code to at least GPLv2+ (can be easily done by appending after GPLv2, "or at your option, any later version of the GNU GPL"), and the data files to one of the 'free' Creative Commons licenses (either CC-BY or CC-BY-SA), preferably with version 4.0. For the code, it will enable future compatibility with projects whose code is licensed with GPLv3. For the data files, the CC licenses are better suited for multimedia things, and legitimately allows people to make remix works such as featuring the hedgehogs somewhere else, without running into license incompatibilities or proliferation.

I really need to know if we will do what I stated above, or not. If it is to be done, almost all the people who have ever contributed to Hedgewars with the existing GPLv2-only license may need to be contacted to see if they will agree to do so.

Wuzzy
Wuzzy's picture
User offline. Last seen 1 hour 35 min ago. Offline
Joined: 2012-06-20
Posts: 959

Quote:
The generic name list has only 9 names to pick from, and I think that's going to get repetitive very easily. Annoyed So I might come here again with a list of names (probably surnames and given names plucked from Wikipedia), with their filenames determining which hats they will be associated with.

Yeah, the random names aren't really random. I have also experimented with custom names (see here: https://hedgewars.org/node/6451). This file contains a huge amount of names, I'm not sure if I want to include them all. I would also

But at the very least, I could extend the generic names list; this should be safe.

What would be the best solution IMO would be a random name generator. Picking a random name from a huge list is not an ideal solution. That's also the main reason why I haven't just added my own list of names into HW already.

Quote:
AI teams are unable to use the full range of weapons.

Yes. Everyone knows this is a problem. Smile

Quote:
The predefined teams don't cover the majority of hats that are shipped with the game, which means less diversity, and I hope that I can create more predefined teams to fix this.

In Hedgewars 0.9.23 there will be 4 teams by default (instead of just one) so that you can at least start a game instantly. But there aren't any hats because I didn't want to. I didn't have any better ideas for the default teams. Maybe the default teams could be more randomized, but I'm not sure if it's a big problem.

Quote:
The most fun that I could receive from this game, is located with the hotseat games, but that requires that I also define my AI teams, which I may not always be willing to do, especially when I can run out of unique names to differentiate the hedgehogs.

Yeah, a couple of default AI teams should be added.

Quote:
Mostly minor, and no offence here, but some of the game content seems to be biased towards Western (European-based) themes. As a Chinese-American, I prefer staying neutral with almost all cultures worldwide.

Hedgewars is whatever its creators make it to be. If you're not happy with the current “theme”, feel free to create more missions, graphics, media, whatever.

Personally, I don't think a “bias” towards any kind of culture is a real problem. It's just a game, after all.

Quote:
This one stands out to me a lot: With the IndianChief hat Indian Chief , I feel that this may perpetuate more confusion Aghh between these, who really should be called Native/Indigenous Americans, and the country of India along with its people.

Yes, I agree the name is unfortunate. But:

First: Suggest a different name.
Second: I'm reluctant to change hat names because this will break teams which currently have the IndianChief hat. The hat names are also automatatically the file names of that hat (+ “.png”), so they also act as identifiers.

Quote:
I don't know where the content mentioned in CREDITS comes from so I can't determine the license of it.

Please don't be afraid that anything included in Hedgewars is somehow proprietary. It isn't. The developer team would have never allowed anything proprietary in Hedgewars.

The origin of these files is not important for licensing. You should know that there is an overall media license in case a license is not mentioned explicitly. I figured out that wasn't clear i the CREDITS file, so I have updated it.

Look at this file again and tell me if there are any open questions left:

https://hg.hedgewars.org/hedgewars/file/tip/CREDITS

About programming languages: Jeez! Just get used to it. There's nothing seriously wrong with Pascal. Just start to learn it, already. I get sick of these “bug MY programming language is 1000 times better than yours” discussions. A good programmer isn't afraid to learn new programming languages. Haskell, Pascal, C++ and Lua are all reasonable languages. Yes, none of them is perfect but that's clearly no reason to dismiss them completely.

KoBeWi
KoBeWi's picture
User offline. Last seen 58 min 44 sec ago. Offline
Joined: 2010-12-25
Posts: 426

Wuzzy allegedly wrote:
What would be the best solution IMO would be a random name generator.
Hcyywg
Rlenimgir
Oehripl
Sneph
Vseach
Hitnyig
Pwohepixt
Achigtic
Ocregrises
Oliohbein

^ if these names sound fine to you (XD), I can give code for a name generator I'm using in my game. It generates completely random names using settings, like max number of consonants in a row or probability for each letter.

Wuzzy
Wuzzy's picture
User offline. Last seen 1 hour 35 min ago. Offline
Joined: 2012-06-20
Posts: 959

Quote:
The generic name list has only 9 names to pick from, and I think that's going to get repetitive very easily. Annoyed So I might come here again with a list of names (probably surnames and given names plucked from Wikipedia), with their filenames determining which hats they will be associated with.

Today and yesterday I have worked a lot on the random name/team generator.
I have many new names and generic.txt has about 650 names. This file is maybe not ideal yet, but it is definitely better than the very small list of 9.

I'm currently sitting on the fence whether I want to include some of your submissions into Hedgewars. I'm definitely not going to include all ethnic variants, this would be overkill and also doesn't really fit well into Hedgewars.

If you would contribute some themed lists for hog names, I would be more likely to include it. Like pirates. If the names are also funny, that's even better.

What is still lacking is a good list of generic team names.

I have also added a couple of themed names for special hats like scif_swDarthVader and extended other name lists.

And I added more themed hat sets and more random team names. Most of the ideas were my own but I also took a few ideas from your teams.txt.

For your interest: A few months ago, I also improved the team editor in general.

https://i.imgur.com/nYe5ZuE.png

There are now more buttons for random stuff.

The “random teams” button will become smarter; it is now able to select from all possible hats rather than only the predefined ones. It also randomizes voice and flag.

But the themed teams are still available.

Wuzzy
Wuzzy's picture
User offline. Last seen 1 hour 35 min ago. Offline
Joined: 2012-06-20
Posts: 959

Quote:
The predefined teams don't cover the majority of hats that are shipped with the game, which means less diversity, and I hope that I can create more predefined teams to fix this.

In 0.9.23, you will now start with more default teams so you can instantly get a quick multiplayer started.
All new teams now automatically have a random fort and grave (excluding DLC) because these are important to be diverse. The rest is intentionally at “boring” defaults to motivate the player to customize and be a little creative. Smile

As noted previously, the “Random team” button and random team in quick matches now cover all hats, including those from DLCs.

Quote:
The most fun that I could receive from this game, is located with the hotseat games, but that requires that I also define my AI teams, which I may not always be willing to do, especially when I can run out of unique names to differentiate the hedgehogs.

On first launch there will now be 2 AI teams and 4 teams. Instead of just 1 human team.

I initially wanted to add 5 human and 5 AI teams (1 for each level) but sheepluva and nemo claimed this would be too much as it might “clutter” the interface.
I'm not sure if this is really an issue.

Worldblender
Worldblender's picture
User offline. Last seen 17 weeks 5 days ago. Offline
Joined: 2017-06-17
Posts: 15

My my, Wuzzy, thank you for helping me finish the work that I started (a large names list), and more premade teams. You actually went the extra mile and decided to randomize the team hats for those teams, too. Now I no longer have to worry about repetition of names and teams too much. Big Grin
New suggestion: For the Cake and Cave themes, I've been using this soundtrack for myself in those themes: https://opengameart.org/content/crystal-cave-mysterious-ambience-seamless-loop Personally, I think it sounds way better than the snow.ogg music currently used for those two themes.

Copyright © 2004-2017 Hedgewars Project. All rights reserved. [ contact ]