News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_ukmarkh

Help for people who want to make new games?

Started by ukmarkh, 09:37, 15 February 17

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Sykobee (Briggsy)


Assuming no colour cycling...

One cheat is to not try to move every star, every game cycle. That allows you to double or triple the number of stars processed per cycle before players notice the pattern.
I note that there's two states - slow, and warp. The former moves the star (erase, update, plot), and the latter just streaks the star (update, plot).


Another cheat is to update distant stars less, because further away stars move less in screen-space so why bother updating them every time. Obviously the problem here is that at some point, they get closer so you need to process them more often. However checking the distance before processing is cheap compared to the processing (maths to move star position with some level of accuracy (otherwise streak will look weird) and rendering (erase, plot).


A cheap proxy for distance in a starfield is 'how old is this star in game cycles'. Stars 'die' when they're too close/off-screen, and are reborn near the origin.

ukmarkh

Star Trek: LightSpeed

Game development Stardate – Part 1 (-305854.8007039574)

Game Story:

This will be a sweeping adventure through space and play out like an episode of Star Trek. Throughout the game, you'll upgrade your ship to its former glory, engage in turn-based combat, earn new experimental upgrades, and prevent the Federation from destruction. You'll need to navigate the Alpha Quadrant, meet with new life forms and solve a variety of political disputes.

Turn based system:

You start in a defensive stance, but you can use multiple actions in one turn, if you're feeling brave, you can opt to miss a turn, this is a highly risky move, but should your shields hold, this builds up, even more, power, nine times out of ten, this will deal a deadly blow to an enemy vessel. Mess this up, though, and you'll damn near lose everything. You won't go back to the start, but you will have to go back to the last saved waypoint losing any upgrades you acquired during that mission.

Every time you defeat an enemy ship, you can choose to salvage crew and use ship for parts, destroy the enemy ship or let them go. The latter can be used as a bargaining chip should you run amuck with a sworn enemy of theirs, you can call upon them to help out, but this is not guaranteed. This can prove especially useful against tougher ships or more than one opponent.

Characters:

This game will play out as the original series, each character including Kirk will become stronger and more proficient in their respective roles, and the more you progress. For example; Spock will give you logical explanations and differing levels of advice, but you will only be able to use the abilities of each character once for each section, if you proceed through a section without aid, the crew carries over an extra turn for the next section, but no more than two. Using the computer to scan or for advice is also classed as a move within each turn.

Game progress:

Unfortunately, I'm starting with zero game programming skills. I've been given lots of tips and advice on how to get started, but now have to decide on what programming language I will need to use in order to get there. I believe the code will need to be as tight as possible and 128K only in design. My first job will be to learn as much as possible over the next three to six months, sorry but this will be a long drawn out process. However, in between, I will draw out all of the graphics needed for the game, this bit I should be able to do on my own, hopefully.

So far it looks as though my head is leaning towards learning to program in ASM, harder I'm told, but I feel that long term, this will give me more control. I'm also a bit apprehensive about asking questions, feels a little embarrassing, but you know what, people have been really helpful, can't believe it.

Next update in two weeks from now, until then... "second star to the right, and straight on till morning".

keith56

Sounds like you know how you're going to push forwards with this, so good luck and I look forward to seeing your next update.

I only learned ASM 6 months or so ago, so many of the early questions you will have will probably be the same ones I did - so feel free to drop me a line about anything.

Arnaud

Quote from: ukmarkh on 01:15, 22 February 17
So far it looks as though my head is leaning towards learning to program in ASM, harder I'm told, but I feel that long term, this will give me more control. I'm also a bit apprehensive about asking questions, feels a little embarrassing, but you know what, people have been really helpful, can't believe it.

Honestly you should use cpctelera, to start there are are plenty of examples and full games coded with it.
And cpctelera is not only a C compiler it's a framework with very useful tools provided.
The C language is easier to learn than asm but if you want to write/learn asm you can mix the two languages in the same project.

arnoldemu

I agree with @Arnaud . Use C.

If you use ASM you will spend a lot of timing thinking of the use of registers, memory locations and if the code is good enough or fast enough.

Make it in C.

Then you can get help to find out which bits are actually slow, and either use a different algorithm to make them faster or re-write them in asm.

You will find that development in C is much faster compared to asm and you can really think about how the game works rather than if your routine for drawing the enemy space ship is fast enough or not.

I think with it being a turn based game it'll make very little difference to the speed of the game.

Also, cpctelera has lots of functions and tools to speed up the development of the game.

If you made it in asm, you would need to think about how to export things from graphics packages, which tools to use that kind of thing. cpctelera has it all together.

My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Shining

I agree, too. Nowadays I start with C on the CPC and during development I optimize here and there in ASM as needed. So when the project is finished, many routines are replaced by asm.


Also, in the beginning of a project, I use many short C-functions, so that I have a better overview of the whole thing. Later on, when I get to the optimizing-stage, I unroll many of these or use tables instead of math etc...
TGS is back

Download my productions at:
cpc.scifinet.org

Powered by SMFPacks Menu Editor Mod