2011-01-18 12:40:53

Hello!

First of all, thanks to everybody for the many ideas, suggestions, bug reports, remarks, comments and other feedback we received.  We really appreciate the support.  Over the last week, however, there have been a lot of questions boiling down to "Can you add this and that to Top Speed?" or "I expected Top Speed to do such and so, why doesn't it do it?"  That is why we thought it would be a good idea to explain why not all cool features have been included, and why not all cool features will be included in a future release.

One main reason for us to reject many requests for enhancements to the multi-player mode is the fact that Top Speed was originally built for DirectX 8.0.  It uses DirectPlay, which used to be a rather nice library for creating multi-player games.  However, right now, many years after Top Speed was first released, it has become obsolete.  And while DirectSound and DirectInput are easily updated to version 9.0, DirectPlay is not as easy to replace.  Furthermore, we (the developers) don't have a thorough knowledge of DirectPlay, meaning that we'd have to spend quite some time reading documentation if we wanted to implement a "big" new feature.  And there's little point in doing so, knowing that DirectPlay has been deprecated long ago.  This is the most important reason for not adding support for custom vehicles in multi-player mode.  DirectPlay is simply not the best solution for sending relatively large amounts of data.  And with the technology deprecated, nobody knows how long it will still be around anyway.  But even if we would add custom vehicles to the multi-player mode there are other problems.  People using Windows Vista or newer will probably know that Top Speed doesn't sound the way it used to (which, by the way, is why we added the option to disable 3D sound).  But you'll run into problems on older versions of Windows too.  In fact, especially on older versions of Windows there's a fair chance of your vehicle's engine sound clipping, distorting, or otherwise sounding unrealistic.  DirectSound as it is used in Top Speed is far from perfect.  And again, this library has been deprecated already.  We could rewrite parts of the game to use, for example, Winsock and XAudio2, but that would mean quite a lot of work, and sooner or later other parts of the code are sure to become a problem.
Top Speed is programmed in unmanaged C++, using MFC.  The original game was written using Visual C++ v6.0, and got converted to newer versions of this environment after Top Speed 2 was released.  However, inspite of all our work, the fact remains that it isn't as easy, especially for a blind person, to quickly add GUI elements or other new features in a few clicks (like you could do in VB, VB.NET, managed C++, Python or C#).  Mind you, it is perfectly well possible to, for example, enhance the ConfigTool to show a drop-down list of recently used servers, but the process of changing the interface to allow this isn't optimal for blind programmers.  This wasn't so much of a problem when Top Speed was still developed by its creator, Davy Loots.  The same goes for integrating libraries to add more features to the game.  It can all be done, and C++ is a wonderful language to do it in, but the way in which Top Speed has been designed often has us running into unforeseen extra work.  To put it shortly, each new feature takes up a good bit of time.  We obviously enjoy working on Top Speed (it's a hobby, not a job), but as you may have guessed, we are a bit reluctant to spend a lot of time on exciting new features, only to find that Top Speed will no longer run on the upcoming Windows 8.
Keeping the above in mind, we are most likely to release one or two more versions of Top Speed that will add some new features and fix bugs.  What's next is uncertain at this point.  There is the idea of creating a racing game from scratch, using newer APIs and possibly a different programming language, that will be based on the most popular aspects of Top Speed.  It will evidently take us at least a few months to build a new game with the same level of features and quality as Top Speed 3, and such a game will almost certainly be a paid game.  And it may well take more than a few months, with us having to work on our studies and other (private) projects.  That's why we hope to further stabilize Top Speed 3 first, so that you will at least have a good game to play when we shift our focus to something else.
I already briefly spoke about our "other duties".  We've spent the last three years developing Top Speed whenever we had some spare time, sometimes taking a break for a while, but always coming back to the project.  I also said Top Speed was (and always will be) a hobby, not a job.  However, we recently decided to add a Doante-button to PlayingInTheDark.net.  There are a few reasons for this, most of them not so special.  One of them is to see if the community is willing to pay for a racing game like Top Speed.  As I said, we'll probably be releasing any new racing game we create as shareware, simply because we'd earn some money if we'd spend our time on other projects that are waiting to be done.  Often saying "Yes, I would love it if you would add this or that feature!" means that you'll indeed love it, but only for a week or so.  We're trying to find out how many "hardcore gamers" there are out there who would seriously like another release of Top Speed, and who would buy the new racing game, if we ever decide to start working on such a project.  As described above adding new things to Top Speed is not always as easy as we'd like, especially now that we have limited time to work on the game.  Therefore, the amount of seriously interested people greatly determines the future of this game and any games that may be based on it.

So, to summarize, there are a few reasons why Top Speed may not be as extended as you'dh oped:
*  The technology we use is outdated and makes further development uncertain.
*  The fact that Top Speed's original code is relatively old means a lot of rewriting and changing to implement certain more advanced features.  Think of custom vehicles in multi-player mode, combining multiple track ambience sounds, creating custom sounds in tracks and sharing them in multi-player mode, a more interactive ConfigTool, and so on.
*  Because of us not having as much time to work on the project as we'd like, we're interested to see if people are willing to donate and/or buy a completely new racing game before we take further steps in the development process.

Putting the above concerns aside for a moment, we'd like to thank everybody who contributed to the game, if only by simply playing it.  The responses we got to the release of version 3.0 definitely surpassed our hopes.  Thank you!

2011-01-18 13:50:45

And I thank you for all these explanations from the pov of a hardcore and definitely seriously interested gamer. :-))
You sure took some time to explain your reasons in as much detail as possible so that we could still even understand it, and I apreciate that. I hope to donate in February or March, as soon as I earn some spare money, and I would certainly buy an all new racing game from you if you ever created one. this community absolutely needs a sophisticated and complex racing game. Of course, Top speed 3 is the very best freeware audiogame I've ever come across even now, in terms of audio quality, gameplay enjoyability and replayability, and complexity. I will never be able to express all my feelings properly to thank you for what you have already done. I wish you best of luck with all your projects and efforts and hope that you will remain in the audiogaming business for as long as possible. :-)
Keep up the great work and take care,
Lukas

I won't be using this account any more or participating in the forum activity through other childish means like creating an alternate account. I've asked for the account to be removed but I'm not sure if that's actually technically possible here. Just writing this for people to know that I won't be replying, posting new topics or checking private messages until the account is potentially removed.

2011-01-18 14:30:14

It's good to get this information, and thanks for the explanation.

just as a general suggestion though, ---- probably for your future racing game, had you considdered using bgt?

Firstly, Bgt uses a C++ based language, and therefore if your already familiar with C++ cyntax you'll be off to a start. Secondly, and more importantly, Bgt interacts with uptodate windows components in order to do things like playing sounds, creating multiplayer servers, managing in put etc, also, sinse it's maintained by Philip Bennefall it'll remain uptodate.

Thirdly, sinse Bgt already interacts with the microsoft components, you don't have to. This means instead of using interfaces in direct X or direct play which are not taylored for either a blind programmer or the creation of audio games, you can use something which is! designed to create audio games and concentrate on th business of making a good racing game, ---- as your planely able to do.

I do admit it's rather early days with bgt and nobody has really disgned a game as complex as top speed with it, but from what I understand of reading the manual, and from Philip's own games, the technology is there just waiting for someone to use it.

Obviously, there is a financial isse if you are considdering the full version of bgt, but if you were thinking of a commercial game for your next title anyway, maybe this could be factored in to the decision sinse obviously if the programming end of things is easier for you, you are more likely to make a better game and indeed add some of the complex features which people might want.

Obviously, I am not a programmer, and don't have as much knolidge of bgt, it just did scrike me when reading your post that your use of C++, and your concern about windows compatibility and components are both things wwhich might make bgt a good idea, ---- thouh i freely admit I could be wrong on this.

Eitherway, please let us know about anything your planning, and I'll be glad to write news.

I will admit racing isn't personally my first choice of game genre, but I have played several topspeed games and can very much appreciate them as very well put together indeed (the options for street adventures and car creation very much impressed me).

With our dreaming and singing, Ceaseless and sorrowless we! The glory about us clinging Of the glorious futures we see,
Our souls with high music ringing; O men! It must ever be
That we dwell in our dreaming and singing, A little apart from ye. (Arthur O'Shaughnessy 1873.)

2011-01-18 17:14:45

Well I am not much of a programmer myself. But I sure do thank you for taking the time to explain why things were not implamented such as the computer selecting custom cars and what not. I'm sure based on what you sed, that could be verry hard to program the AI to do such a thing with the visual basic stuff. So I want to apoligize for being harsh and hard in my posts about this game. I am really sorry. I can't donate right now do to my finances because I lost my job a few months ago. But I want to thank you from the botum of my hart for explaining the situation. Take care and I wish you and the playing in the dark team the best. audioracer

Sincerely:
John Follis
Check out my YouTube Channel.

2011-01-18 17:16:22

And maybe this post could be used too encourage people to strive to program audio and complex games for the audio gaming community.

Sincerely:
John Follis
Check out my YouTube Channel.

2011-01-18 17:47:18

AudioRacer:
Try the edit link, it saves double posts.

Ducktail, an excellent explanation, thankyou. I've enjoyed Top Speed 2 a lot even though racing isn't my main interest, as with Dark. Actually I generally find cars fairly boring but TS2 was quite fun all the same.

cx2
-----
To live by honour and to honour life, these are our greatest strengths and our best hopes.

2011-01-18 19:44:51

Sorry about the double post. I forgot about that link. My falte.

Sincerely:
John Follis
Check out my YouTube Channel.

2011-01-18 21:09:45

Dark, excellent idea. I didn't want to propagate BGT myself so much and it did not even in fact occur to me but this should solve your technical problems in a brilliant way. The pro single license (for one commercial game and unlimited freeware games) is just 70 dollars so that would be covered by two or three sales of your commercial game, or by a few generous donations. The question is if you want to spend the time coming up with your own elegant programming inventions or just coming up with simple but yet powerful code quickly, whether you want to spend your time on programming and trying to make it work as best as you possibly can or creating a great complex game. Manipulating the various game components such as audio or even the net is pretty easy with BGT so it should be a piece of cake for an experienced programmer. if I were not working on many other games myself and if there was not a game as great as TS3 is, I believe I would be able to come up with something very similar. Mind you, it would probably take me at least a year of hard work, but anyway.... :-)
so there is one more way to do it for you to consider.
Lukas

I won't be using this account any more or participating in the forum activity through other childish means like creating an alternate account. I've asked for the account to be removed but I'm not sure if that's actually technically possible here. Just writing this for people to know that I won't be replying, posting new topics or checking private messages until the account is potentially removed.

2011-01-18 22:03:14

Hello everybody,

Thank you for your explanations.

I'm personnally don't like to pay for a game. I'm considering I'm not hard core gamer enough to do so. I'm a casual gamer who like to play various types of games for a while, but probably not enough to justify an investment.
I enjoyed Q9 demo, entombed demo, rail racer demo... but I hadn't mood to buy them.

I'm still a student, so I haven't a huge amount of money. If I were working and earn my life, perhaps I would consider donating, or buy more often something.

However, I would be happy to help playing in the dark in programming, or in beta-testing, as long as I have competances and time to do so.

I'm strongly opposed to MS visual things because I consider these tools to unaccessible, too slow, too hard to manage to do something with. I generally prefer command line tools, far too easier and much superior...
I can do C/C++ with MinGW, or java. All that without any IDE outside windows notepad and my own improved notepad program I created. BGT would probably not be a problem to learn, it appear to be very simple.

I'm not for BGT. The problem I see with BGT is that  it volontarily completely hide multithreading problems, and network is restricted to minimum. In one sens it is good, it is much easier to do simple games, but for a game like topspeed which is so complex, I'm not sure it would be a good choice. I'm afraid that the resulting game could be slow or instable.
My router has problems with UDP nats so I'm unable to host a topspeed game and any BGT-based game, but I have no problems with TCP so hosting a SoundRTS is okay for example. I'm sure many other people do have the same problem. I don't understand why UDP has been chosen for BGT.

Another problem I see with BGT is debugging :
Keyboard input is not correctly managed in all BGT titles when jaws is running, because of its keyboard hook. So if you want to try your game efficiently, you have to set it in sleep mode.
But if you are in sleep mode, you are no longer able to read an error message which would pop up.

There are 10 kinds of people : those who know binary, and those who don't.

2011-01-18 22:17:04

As I've previously mentioned BGT is also very single platform by its nature. This isn't necessarily a problem for most games, though it is worth bearing in mind.

I'd love an accessible iOS game along the lines of Top Speed, though this might just be me.

cx2
-----
To live by honour and to honour life, these are our greatest strengths and our best hopes.

2011-01-18 23:03:49

you know, aminiel, most games do not work with Jaws precisely of the same reason. In fact, I can't remember even one that I have tried with it and could keep Jaws running. so that really is not a problem as you can simply make your messages be read through Sapi or displayed in a message box, which should result in Jaws loading up again.
I'm no programmer but I still think there is no situation where you would really need multithreading for a game with BGT. I can't even think of a game genre that could not be created with it. What do you think cannot be done with its network object so far?
Sure, BGT is singleplatform and seems simplistic in its nature but these are two of the most crucial aspects of its very design. if you want multithreading or multiplatform portability, you can certainly go ahead and learn C++ but there is a high probability of you eventually facing similar trouble as the PIDT development team right now. What I like the most about BGT is that it actually managed to teach me how to code. I was not able to understand almost a single sentence of the Autoit tutorial, for instance. In a sentence consisting of 6 words, 5 of them would be too technically oriented in nature. the writing assumes that you do already have some basic knowledge, which I didn't at the time. However, after having mastered BGT, I am confident in my ability to pick up a C++ guide and begin learning straight away and relatively quickly, if my intentions and ambitions ever grow beyond the wish to develop specifically windows based audiogames. Until then, I am happy with BGT. :-)
Lukas

I won't be using this account any more or participating in the forum activity through other childish means like creating an alternate account. I've asked for the account to be removed but I'm not sure if that's actually technically possible here. Just writing this for people to know that I won't be replying, posting new topics or checking private messages until the account is potentially removed.

2011-01-19 00:22:24

You can't use SAPI, because jaws is still in sleep mode... there is no way

The problem with BGT is that it primarily encourage you to write spagetti code. When you are used to event and multithreading based system, that's finally not so cool.

I don't like that type of structure :
main function
initialize game or menu
loop for ever
when a key is pressed do that
when another key is pressed do that
when a network packet is received do that
when the sound has finished loading do that
end of loop for ever
end of main function

You are easily mixing all together: keyboard, network, sound, game mechanic... If it goes very well for small games, you are collapsing yourself in bigger projects.

There are 10 kinds of people : those who know binary, and those who don't.

2011-01-19 02:07:35

Hello there,

I won't fill this thread with BGT advertising, but I just wanted to point out a few things. Multithreading will not make or break a game. Sure it can improve speed for things such as timers, as the timer can continue running even while other code is executing that might be taking up CPU cycles. BGT handles its timer functionality in a separate thread. Q9, for example, has all its game logic in a single thread and runs fine even on a slow netbook.

As for networking, TCP is an absolute impossibility if you want to write high speed action games, where as it works just fine for games where 100 % real-time is not a requirement. BGT's network management is completely asynchronous, which means that it will not slow down even if you have a lot of traffic or a lot of connected peers. For more information about the networking in BGT, please check out:
http://enet.bespin.org/Features.html
This page also explains a little more why TCP is generally unsuitable for high speed games.

The problem with DirectInput locking up Jaws occurs in a lot of audio games on the market today. It is generally accepted that it is not a problem with DirectInput or with the design of the individualg ame but with Jaws, while it is also acknowledged that DirectInput is a very fast and efficient way of working with the keyboard. I could replace direct input with, say, WM_KEYDOWN/WM_KEYUP window messages, but I would risk slowing things down considerably that way.

Finally, whether a developer writes good or bad code really is not up to BGT or the design of its interface. If you want callback/event based functionality, it is very easy to wrap the actual engine calls in your own classes. I personally prefer a more procedural style API for the lower level functionality, where as I tend to write class architectures for high level game logic. This is my personal preference, but BGT allows for both and I am not campaigning for one or the other.

I am not saying that BGT is perfect. Far from it. I am merely trying to make a few points about its design a little more clear for those who are curious.

Kind regards,

Philip Bennefall

2011-01-19 02:25:08

On the jaws and keyboard issue, I might point out this is specifically a jaws related matter and so probably shouldn't be considdered for game creation specifically. Hal and I believe window eyes do not interupt keyboard output the way Jaws does, therefore it's not in any way necessary to use a sleep mode or exit the program to run a game, indeed I very rarely exit Hal, just flick the voice off, and if necessary, the hot keys should the conflict with the keys of whatever program I'm using.

I quite often for instance pause a game, flick Hal on, answer some male or write something up, then go back to the game and flick Hal off again.

most Jaws users turn Jaws off completely anyway unless it's specifically needed for game output, so I wouldn't really think it was an issue in bgt.

Btw amineel, i would suggest that you don't totally reject the idea of paying for games. I'm a graduate student myself, and (with phd fees), really don't have loads of cash, but I have bought several games.

Not only is this good for developers, but also these days, developers are including far more bennifits in a game vs it's demo so as to make it very much worth your money.

Take entombed as an example. Entombed has one of the longest and most complex demos available out of any audio game, ---- in fact for several versions entombed demo was! the entire content of the game. Yet, the full game makes the demo look tiny. Almost twice the amount of jobs, 25 floors instead of 8 (and the floors get larger as you go down too), and innumerable extra monsters some with very interesting special abilities make it have almost unlimited replay value.

Even one run through the game will take you at least four hours, and when you considder that a two hour film on dvd is something like 25 dollars anyway that really is pretty good going.

Of course the decision is entirely yours, sinse it's very much your money, but i would recommend keeping an open mind where paying for games is concerned, even if you only ever buy one or two, given the high quality of what some of the more recent games have to offer.

With our dreaming and singing, Ceaseless and sorrowless we! The glory about us clinging Of the glorious futures we see,
Our souls with high music ringing; O men! It must ever be
That we dwell in our dreaming and singing, A little apart from ye. (Arthur O'Shaughnessy 1873.)

2011-01-19 10:49:23

Here are a few points, just so you know our thoughts on the matter.  Please keep in mind this is by no means a final decision or anything "solid".
-  The debate "DirectInput vs. Windows message handling", at least for keyboard input, is rather pointless.  Various sources claim DirectInput uses these Windows messages anyway, but besides that I found that DirectInput can even be slower and more quirky than Windows itself.  This is especially true for "polling", a system I have long abandoned and that will probably not make it into the potentiial new racing game either.
-  Multi-threading is a great tool for developing games.  Not because of speed and performance considerations, but because you can do multiple things at once (i.e. asynchronously).  This is in most cases preferred over synchronous implementations.  As an example, if you try to connect to a multi-player server in Top Speed and none is found, you'll be literally stuck for about two minutes.  Multi-threading can help there.
-  In most cases, the only active loop in an application should be the message loop (which doesn't run all the time anyway).  Top Speed is based on the old concept of looping and finding out what to do in these loops.  For a new game, we plan on having the operating system (or a third party library) calling the game if it needs to do something.  This creates a far more stable application if it's done right, and saves resources too.
-  We are not sure about the platform or platforms to target with this new game, if it's going to be written at all.  On one hand there's a lot to say for being multi-platform, on the other hand a native Windows-application, written in native C++, is faster and (once the fundamental code has been written) is easier to maintain and add upon.  Mind you, something like .NET could do the job just as well, it's not like your average audio game requires a lot of computer power.  We're considering C++ because we have at least a few years of experience with the language, and because it allows you to do virtually anything you can do on a given operating system.
-  TCP is bad.  That is why Top Speed uses UDP for all non-critical packets in multi-player mode.  As a simple example, the TCP overhead for sending your player data will usually be more than the cost of sending the 27 bytes that actually make up this data.

Alright, I hope this clarifies things and allows for further discussion. smile

2011-01-19 11:33:42

Hi there,

Here are my thoughts, and as always they are my very personal opinions.

DirectInput uses the WM_INPUT message, a very low level message that requires you to do a lot of checking and manipulation to get everything to run properly. DirectInput is a simple wrapper on top of this. DirectInput creates a background thread that polls for this window message, and updates an internal device state.

You're perfectly correct regarding the usefulness of multithreading if you are doing blocking IO calls such as with sockets, but this assumes that you block in your implementation of connect. In ENet, the library I use in BGT, the connect is also asynchronous so there is no waiting there either even if it keeps trying to connect for 2 minutes. So it all depends on how the internals of the IO are implemented, whether you need multithreading to solve blocking or not. I try to stay away from it as much as possible due to the many synchronization considerations. The only time I use separate threads are for audio checks and timer updates. Both of these things are done in separate threads and then synchronized with other threads as needed.

I think the polling versus event driven system debate is also pointless, as each both have their advantages and disadvantages and it is very much up to the developer what he or she chooses to use. I am personally comfortable with both and have allowed for the possibility to choose this in my game engine, though I tend to lean towards procedural for the low level calls personally.

Of course C++ is always the best option if you want optimal performance. There vb.net, C#, BGT and any other engine doesn't stand a chance. I am a C++ programmer myself and so I couldn't agree more. I designed BGT because I wanted an engine that wrapped all the low level functionality in a clean and much simplified interface with a scripting language on top to handle things like automatic garbage collection and pointer security etc, which was primarily for my own use. Then I decided to put it out for sale because I figured that it might be useful to others as well. It is not currently cross platform, mainly because I don't have any other platforms to test on but also because I believe that Windows is by far the most widely used platform among audio gamers. Be that as it may, cross platform support is still a great initiative if you have the time, money and motivation for it.

I very much look forward to seeing where you go with the racing game project, and wish you the very best of luck.

Kind regards,

Philip Bennefall

2011-01-19 12:33:30

most Jaws users turn Jaws off completely anyway unless it's specifically needed for game output, so I wouldn't really think it was an issue in bgt.

It is not when playing a game. But it is when testing/debugging it.

Sleep mode is a great feature: you turn jaws off only in a particular application, so that you can go back to something else if you want. Some are useful even during a game: quickly exchange an IP address in MSN, call somebody on skype, etc.

Philip, thank you for the explanations on why UDP and not TCP. In fact you have convainced me, I will take a look at enet library.

I continue to disagree in the DirectInput vs WM_KEYDOWN/UP debat.

ABout multiplateform, I see that more and more people are moving from windows to mac. Platform independance appear to become more and more important.

Perhaps should we consider using only multiplateform libraries :
- SDL for windowing and input, unless you have something faster to propose
- why not that enet for networking, it looks not so bad
- OpenAL+tremor for audio

The only remaining thing is TTS... I don't know how it works on mac at all, and speech dispatcher is quite slow usually.

Philip, a good thing for you if you could add that into your BGT: the ability to use 3rd partie C/C++ DLLs. So that advanced programmers are not constrained in the API you provide. I don't know if you could add LoadLibrary/GetProcADdress for that, and I don't know how it is possible to translate C++ classes into AngelScript ones.

Being multiplateform would also be an excellent point for BGT, but I have the same problem as you: I haven't any mac to try out... that's why my own games are not multiplateform too.

There are 10 kinds of people : those who know binary, and those who don't.

2011-01-19 12:55:47

Hi Aminiel,

There is a great difference between WM_KEYDOWN/WM_KEYUP and the WM_INPUT message. WM_INPUT works directly with the physical device and so provides a lot greater performance as far as I can gather, where as WM_KEYDOWN/WM_KEYUP are the result of a bunch of processing and translation from the physical device state to virtual key codes. I am not 100 % certain but I believe that this results in a performance hit.

ENet is really a fabulous library. It handles everything asynchronously, but it is very much a polling model as it is written in C so you may not like that. It is easy to wrap into classes, though.

I decided not to use sdl and other cross platform libraries because, as you said in an earlier post, a native Windows application that makes use of the most optimal libraries directly without having to make allowances for differences between platforms, will generally produce a faster and more efficient end result.

Kind regards,

Philip Bennefall

2011-01-19 13:21:28

One thing I found is that modern hardware is more than capable of quickly processing keypresses, audio, and everything else an audio game relies on.  As an example, look at how fluent .NET applications run these days, even though they use a language that is interpreted on the fly.  I'm not saying we should all go and develop something as quickly as we can, even though the code may not be optimal, absolutely not.  I definitely support the idea of writing efficient code, even if it seems harder or takes longer.  But modern computers certainly make life a lot easier. smile
Secondly, I'd like to point out that we're still wondering if the audio games community would like (and pay for) a new racing game.  So if you have any more thoughts on the matter, go ahead!  So far I'm liking the discussion. tongue

2011-01-19 13:49:20

Would I personally pay for a new racing game? ---- possibly, I'd certainly try it, though sinse racing isn't my first choice I may be less likely to buy it.

Would people in general pay for a new racing game? well Tom ward with usa raceway is hoping so.

Myself, I'd say that the game would have to feature a fair amount of specialty and extras as compared to top speed, as well as offering many of the features top speed already contains.

There are however quite a number of things which, if added in a paid racing game would make it very appealing to players.

These could include the ability to have a driver profile and race in tournaments and other events, ---- perhaps even create your own tournaments. Also, top speed, while letting users create cars by adding sounds and tinkering with sterring and speedsettings, has nothing about car maintenence, either reparing wear and tare or being able to buy upgraded engines, tires, muflers, breaks etc for your vehicle, nor, ---- if I remember rightly does top speed have anything about fuel or making pit stops during long races.

So, there would be a lot of things which you could expand on if you were creating a paid racing game, and I think these would be features which people would find appealing, especially if they were just as flexible and had as much room for user expantion as top speed.

Say for instance not only could you write your own car by setting it's speed etc, but also specify how big a fuel tank it had, how much damage it got and how much money it took to repare after traveling certain distances, ---- perhaps even write up what parts you could buy for it, how much each part improved speed, breaking, handling or fuel capacity and how much they'd cost you.

this would make for an incredibly complex and customizable game which i think would deffinately be worth someone's financial investment.

With our dreaming and singing, Ceaseless and sorrowless we! The glory about us clinging Of the glorious futures we see,
Our souls with high music ringing; O men! It must ever be
That we dwell in our dreaming and singing, A little apart from ye. (Arthur O'Shaughnessy 1873.)

2011-01-19 15:01:54

Top Speed started as a hobby project, and I don't think its primary goal was to provide a realistic racing experience (much like Troopanum doesn't strive to present you with realistic starships).  The potential new racing game would definitely incorporate more of these concepts to make both the vehicles as well as the racing more realistic.  I've always been a big fan of games that try to simulate a real life situation, so this is certainly important to me.
Dark's post touches the very center of our dilemma.  Top Speed's life is nearly over, it would be stupid to make it more realistic, a game from scratch could do the job faster.  We haven't made any money with Top Speed, but given how much time we spent on it, we feel that future games of this size and complexity should be released as shareware.  We'd love to develop one, but we don't always have the time.  And when we spend time on the game, we'd like to receive something in return, if only because besides studying and programming games there's not much room left for further projects to raise some income.  But if we don't spend a good deal of time on the game, it won't be worthy of being paid for (I would hate to release a game that does less than Top Speed 3 as shareware).  This is why I (and I think the other developers too) may first release some smaller games, games that would certainly not cost more than $10.  Then, if or when we have the time and feel like doing it, we can always take on this vast project of making a new racing game.  This will also allow us to decide on programming language, and it would allow the community to finally enjoy Top Speed 3 in its final form.
Now, for a final note, please remember that all I said here is how I see things.  This is not Playing In The Dark's opinion, nor that of any of the others involved in the creation of Top Speed 3.

2011-01-19 15:23:41

Hi there,

Leaving the technical discussion aside, as I don't think we'll get a whole lot further with it, my personal opinion is that you should definitely goa head and do it. This community needs all the games it can get, and if you have the motivation to start such a large project I say go for it 100 %. As others have stated, racing isn't the most popular genre but I still think a lot of people would pay for it if you did it right. would I personally? I'm not sure. Racing is not something I can enjoy for more than a few rounds, then I get tired of it and move on to something else. But if as Dark said you can make it so that you can play tournaments and make a name for yourself, e.g. actually progress and gain stats for example, that'd be a whole different story. Then it is almost like an adventure game combined with racing. That, I would consider opening my wallet for.

Kind regards,

Philip Bennefall
P.S. I forgot to answer an earlier question regarding BGT and dll's. It is something that I have been considering and I think it is possible if I mess around with AngelScript a bit, but I'm not sure I want to do it. If a programmer wishes to do the low level work themselves by calling dll's etc, they might just as well use regular C++. BGT is there to hide and abstract the lower level code, which it currently does quite well. If I extended it to support dll's I'd be well on my way to turning it into a general purpose scripting language, which is not my goal. Thoughts?

2011-01-19 15:43:55

I actually agree with philip, progress in games is a great insentive for people to pay, sinse it's one thing to have a game which you complete and then it's done, it's quite another to have a game you can play and get better and better at.

Then, there's the matter of custom content, sinse if you've got game users making extra stuff to do in the game that just provides all the more reason for someone to buy.

I personally have no problem with people creating shareware games (one reason why this forum is so adamantly against game cracks), so that the time and trouble you spend, as well as any money you need to spend on buying resources like programming libraries gets some recognition from the game's players.

It'd be interesting to see what smaller games you came up with.

With our dreaming and singing, Ceaseless and sorrowless we! The glory about us clinging Of the glorious futures we see,
Our souls with high music ringing; O men! It must ever be
That we dwell in our dreaming and singing, A little apart from ye. (Arthur O'Shaughnessy 1873.)

2011-01-19 16:18:50

Ducktail, sure, the smaller games along the way are a great idea and I would support them as enthusiastically as I support TS.
Aminiel, just for your information, there is certainly a way to use Sapi even if Jaws is loaded in memory. Sapi can be used by as many applications as you like at once if you do it right. As you have already read, BGT does lots of things asynchronously in separate threads internally, it just does not let you work in multiple threads yourself as it could very well prove too overwhelming or difficult for a non-programmer like me, and thus would make the whole engine a lot less appealing to its intended audience. If you are as advanced as your games prove, it might probably be easier or more acceptable for you to go your own route. :-)
Lukas

I won't be using this account any more or participating in the forum activity through other childish means like creating an alternate account. I've asked for the account to be removed but I'm not sure if that's actually technically possible here. Just writing this for people to know that I won't be replying, posting new topics or checking private messages until the account is potentially removed.

2011-01-19 18:44:53

To go back to racing game discussion: note that things like upgrading your vehicle, unlocking new tracks, etc. already exists in rail racer, and it does it quite well if the full game is like the demo.

Technically speaking, what is blocking me in the racing type of game is how to assemble the different track parts and make a relation between a 2D or 3D poind and where you are in the track (in which part, on the left or on the right of the road, etc.). Otherwise I think I think I would have the level to make one.

There are 10 kinds of people : those who know binary, and those who don't.