My game projects in C/C++ and GameSmith
2 Attachment(s)
I've been trying to get into Amiga game programming for a while. I wanted to skip BASIC and go straight into C/C++ and I've finally settled on an environment I'm comfortable with:
Cubic IDE SAS\C 6.58 GameSmith Development System I'm starting this thread as a bit of motivation to keep going, to ask some newbie C questions and give a little bit of publicity to GameSmith. My first project is inspired by a Spectrum game called Microbot. It's an original and addictive little game that I enjoyed as a kid, but flawed in the execution so didn't even review that strongly at the time. Heres's a screeshot of the Spectrum version: http://eab.abime.net/attachment.php?...1&d=1455190137 Here's a little video of my early attempts with the Amiga version. I hope people like it so far, even though it's obviously quite basic. https://youtu.be/lm8oeAWvfzo And for the hell of it, here's a original mock-up I made in PPaint. The background, particularly the floor area will get more work once I change over to a tile-based background. http://eab.abime.net/attachment.php?...1&d=1455190361 |
Wow!!! :great
|
It's inspiring to see that someone's taken up Gamesmith, which seems to have been largely forgotten.
|
Nice! Keep coding! :)
|
Looks nice. The robot sprite could do with more detail and colour imo. I like the background.
|
Thanks for the positive words, everyone - that means a lot!
The robot will definitely get a bit more work as time goes on - especially the back as I've literally just taken the front and blanked out the details! My first newbie question is this: SAS\C 6.58 apparently does C++. Do I have to do something to enable it? If anyone knows how to do it in Cubic IDE, even better. |
I don't know how to enable it, but my instinct says that you should steer away from C++ when dealing with such an old compiler (and system :)). Especially considering your application is a game and performance is/will be important.
|
@clebin
I've been messing with Gamesmith for a while. I created a brain teaser but If you complete the puzzle it Gurus. Which is funny really because if you fail or select the Demo mode it's fine :confused I'm about to embark on an overhead game when I get chance to do some more coding. |
Quote:
https://www.warped.com/amiga/ The C++ support was limited and would be considered old if not ancient by today's standards. It did add some support for little conveniences like C++ comments which is nice considering that SAS/C predates modern C standards like C99. I doubt you will find many C++ programmers who are satisfied with the Amiga SAS/C C++ level of C++ support and bugs. Even the Amiga SAS/C C support seems primitive and non-standardized although it is a good ANSI C compiler and a professional product for its day. If you need modern C++ support on the Amiga, GCC is about the only choice. If you need more modern C support then vbcc is easier to install and use on the Amiga. Both require significantly higher specs than SAS/C though. Quote:
|
I was thinking in use gamesmith, game master system or similar.
Would you think gamesmith is a good start? Good work mate! |
@ajk, matthey
Thanks for the advice. C++ is a nice-to-have but not essential. I'd like the game to run on a stock OCS/ECS machine if possible. I'll just have to get out of my OOP way of thinking... @tolkien Thanks! I can't speak for Game Master System but I recommend trying out GameSmith. It took me a little while longer to get up and running than Blitz - which I also tried - but I quickly felt more comfortable with it. The manual isn't great as a tutorial but is a very useful reference. There's also a number of examples included which I've found essential. Once you get them compiling, you're half-way there. There's next to no Google help out there, so being able to look at another piece of code and work out what makes that work and mine fail has been priceless. There's also a tool called CITAS to import images and turn them into animations. It's rough round the edges but does the job. You can also use CITAS to define collision detection between objects, which is my next task. |
If you can get it to cooperate with GameSmith, I think AmigaE has a rather lean object orientation.
|
Quote:
|
Hi.
Congratulations! The game looks good! Could upload the source code to see it? Cheers |
Quote:
|
My biggest remaining challenge is to use a tile-map for my rooms.
There's an example included with GameSmith but it's not well described. I can't tell what format the tiles and the map are in (except that's pretty raw binary) or how I'd create those files myself. Preferably, I'd just use an IFF file for my tiles and a CSV file to define my map. Could anyone make sense of these files or (even better) point me towards an example using an IFF file? I'll be using that "gs_blit_copy()" function to paste the tiles into a big bitmap. Here's the relevant code from the example: Code:
/* "TILES.DAT" is the graphics data for the tiles -- each tile takes 192 |
the only drawback using GameSmith is that it's development has been halted long ago and bugs and new features will never happens. That's too bad we can't get our hand in the source code.
Source code says it contains 106 16x16 tiles with 6 bitplanes, reading it with Maptapper describe it as ACBM format. Kamelito |
Quote:
"All graphics data (except the mask) must be contiguous in memory starting with the first plane (from 0 to n)" I've learnt a lot since yesterday but I'm still blitting garbage to the screen at the moment. Knowing the name of the format will be a great help. |
1 Attachment(s)
Progress! I can now blit 16x16 tiles directly to a bitmap. A little test using my bubbles:
http://eab.abime.net/attachment.php?...1&d=1455646644 The key has been the GetImage package on Aminet: http://aminet.net/package/dev/c/GetImage GetImage produces C source, including a imageData array that I can use in my "blit_struct". I also modified GetImage slightly so it can write the image data into a binary file. The blue bubbles are from a file, the green from an array. Still some work to do before I can load real maps, but I'm happy! |
Good job, always nice to see progress in Amiga land.
Kamelito |
All times are GMT +2. The time now is 20:49. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.